SlideShare a Scribd company logo
1 of 42
Get your Alfresco Project 
From Zero to Hero 
with Alfresco SDK 2.0 and Alfresco Boxes 
Gabriele Columbro 
WW Manager Expert Services 
Maurizio Pillitu 
Technical Consultant, EMEA
Where it all started… 
Inspired to: https://developers.facebook.com/blog/post/417/
http://devops.com/blogs/you-cant-sell-devops/
Mission statements 
Deliver a true rapid development experience on 
Alfresco, integrating but not depending on IDEs. 
Enable unprecedented quality and longevity of 
your Alfresco projects. 
Automate key project lifecycle phases. 
Provision reliably arbitrarily complex 
architectures.
Alfresco basic project lifecycle 
Inception Provisioning & 
deployment 
Release & 
distribution 
Development
Development Provisioning & 
Inception Release & 
distribution 
eployment 
Lifecycle ownership 
Dev Ops
Today’s menu 
• Dev —> Alfresco SDK 2.0 
• The ultimate Alfresco Developer experience 
• Ops —> Alfresco Boxes 
• The ultimate Alfresco Deployment experience 
• Use case & demo 
• “Real life” project from scratch
How do Dev & Ops talk? 
• In this case, like in Italian :)))) 
• The role of the artifact repository 
• Exchange of AMP / WAR artifacts between actors 
• Publishing and distribution of artifacts for 
downstream usage 
• Searchable 
• Example (s) 
• https://artifacts.alfresco.com 
• Your own corporate Maven repository
Alfresco SDK 2.0 
The best Alfresco development 
experience to date. By far. And 100% 
Community.
Maven updates 
https://twitter.com/pmonks/status/513907704859873280
Alfresco Maven Developers Bulletin 
• Alfresco 5 is fully built with Maven 
• Yes, it was about time to drop Ant. 
• Maven Alfresco SDK 2.0.0 (beta-4) is out 
• Compatible with Alfresco 5.x 
• Available on Maven Central! 
• “Old” Eclipse + Ant SDK deprecated 
• Not shipped with Alfresco 5.x 
• Superseded by the Maven Alfresco SDK
Alfresco SDK Metamorphosis
SDK 2.0 New Killer Features 
RAD (Rapid Application Development) 
Hot Java Reloading with SpringLoaded & Tomcat7 
For AMP and All in One archetype 
IDE Integration and independence 
Works non intrusively OOTB with Eclipse & Idea 
Share AMP archetype 
With sample Aikau widget!
How hot is hot? 
What’s reloaded? 
Java code (main & unit tests) 
Javascript & Freemarker templates (web scripts) 
Web resources / JSP 
What’s not reloaded? 
Spring context files (YMMV with JRebel) 
Properties files (use JMX instead)
More SDK 2.0 Features 
Quality 
Alfresco Share Selenium tests support 
Remote JUnit test execution 
Alfresco Technical Validation Tool (experimental) 
Integrations 
RM (Records Management) support 
100% Community 
SDK released to Maven Central! 
SDK project migrated to Github
Use the SDK 2.0 in your project! 
<parent> 
<groupId>org.alfresco.maven</groupId> 
<artifactId>alfresco-sdk-parent</artifactId> 
<version>2.0.0-beta-4</version> 
</parent> 
2.0.0 will be released by London Summit (Oct 2014)
Alfresco SDK 2.0 at a glance 
Use! 
http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html 
Develop! 
https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-sdk-aggregator/latest/index.html 
Contribute! 
Report issues: https://github.com/Alfresco/alfresco-sdk/issues 
Fork us: https://github.com/Alfresco/alfresco-sdk/fork
Project “Fettuccine Alfresco” 
An engaging and inspiring 
collaboration platform for our chain of 
restaurants
Requirements 
• Functional 
• Integration with an external Recipe service (e.g. 
BigOven.com) 
• Recipe of the Day user Dashlet 
• Non functional 
• VM deployment strategy 
• Continuous delivery 
• High availability
Demo 
https://github.com/mindthegab/fettuccine-alfresco-aio 
• Rapid development in with Alfresco SDK 
• Java backed webscript 
• Repo service 
• Share dash let 
• Provisioning with Alfresco Boxes 
• ISO based 
• Packer 
• Vagrant
Alfresco Boxes 
Bring your Alfresco deployment strategy to the next level 
building Alfresco Boxes in a configurable, consistent 
way. 
Whatever Boxes means.
Disclaimer 
Not Alfresco Supported 
https://github.com/maoo/alfresco-boxes 
Not a full Alfresco Installer replacement 
Experimental 
Few customers early adopters
So Many Alfresco Boxes! 
Type 
ISO 
AMI 
Docker Image 
... 
Purpose 
Bulk Upload 
Share UI 
Solr indexing 
Allinone 
... 
Container 
VirtualBox,VMWare 
Docker run 
Amazon EC2 Dashboard 
Bare Metal 
...
How to build a Box 
Start from an official distro 
http://releases.ubuntu.com/ 
12.04.4/ubuntu-12.04.4- server-amd64. 
iso 
Support local virtualisation 
tools 
VBox, VMWare, Parallels,... 
Support cloud virtualisation 
services 
Amazon, DigitalOcean, 
Google,... 
Consistent provisioning 
syntax 
JSON declarative configuration 
of all arch. components 
Modular 
Include/Exclude arch. 
components 
Extensible 
Use custom artifacts and 
configuration parameters 
Production-ready 
No additional configuration 
steps, no restarts 
Cluster-ready 
Enterprise images can be 
executed several times to 
create a clustered installation
Provisioning with Chef Alfresco 
Component Based 
mysql, tomcat, transform, 
repo, solr, share 
Install custom AMPs 
Sharepoint Protocol 
extension installed by 
default 
Generate or patch alfresco-global, 
share-config, log4j 
properties 
Download, unzip, filter 
external ZIP file to create 
$TOMCAT_HOME/shared/cla 
sses 
Fetch artifacts 
from filesystem, URL or 
Maven repositories 
Fully configurable 
alfresco-global, share-config, 
log4j properties 
Use custom WARs 
for repo, solr or share 
applications
https://github.com/maoo/chef-alfresco
Building with Packer 
chef-solo (chef-alfresco) 
virtualbox-iso virtualbox-iso 
vmware-vmx vmware-vmx 
shell 
docker docker 
puppet 
amazon-ebs amazon-ebs 
Builders 
Provisioners
Building acme project 
{ 
"builders": [ 
{ 
"type": "amazon-ebs", 
"source_ami": "ami-a4e81fd3", 
... 
}, 
{ 
"type": "virtualbox-iso", 
"iso_url": 
"http://releases.ubuntu.com/12.04.4/ubuntu-12.04.4- 
server-amd64.iso", 
... 
} 
],
Provisioning acme project 
"alfresco": { 
"components" : 
["tomcat","transform","repo","share","solr","mysql"] 
"generate.global.properties" : false, 
"generate.repo.log4j.properties" : false, 
"generate.share.config.custom" : false, 
"start_service": true, 
"artifacts": { 
"alfresco": { 
"groupId": “it.fettuccine.alfresco”, 
"artifactId": "repo", 
"version": “1.0.0" 
}, 
"share": { 
"groupId": "it.fettuccine.alfresco", 
"artifactId": "share", 
"version": “1.0.0" 
} 
...
Configuring Maven repo access 
{ 
"id":"maoo-public", 
"url": "https://repository-maoo.forge.cloudbees.com/release", 
"username":"null", 
"password":"null" 
} 
Running Packer build 
packer build -only virtualbox-iso summit-demo.json
Image Hierarchy 
alfresco 
base 
ubuntu 
12.04 
alfresco 
web 
base 
alfresco 
repo 
base 
alfresco 
allinone 
community 
https://hub.docker.com/u/maoo 
alfresco 
allinone 
enterprise 
alfresco 
share 
alfresco 
repo 
alfresco 
solr 
Base Images 
Allinone Images 
Architecture Images
An Alfresco Architecture 
SHARE1 SHARE2 
Alfresco 
Share 
Alfresco 
Repo 
Share/Repo 
data 
Index 
tracking 
Search 
Query 
HTTP 
Balancing 
DATA 
DB Access 
FS Access 
Alfresco 
Share 
Alfresco 
Repo 
HA 
Proxy 
SOLR1 
Alfresco 
Solr 
Alfresco 
Repo 
BULK DB 
Alfresco 
Repo 
LB 
SKYDOCK 
SKYDNS
Alfresco Boxes Overview 
Build Images 
(with Packer Builders) 
Publish Images 
(with Packer Builders) 
Run 
@local 
(with 
Vagrant) Run @virtual 
public/private AMI public/private Docker Registry 
Run @cloud 
(with Amazon 
Dashboard) 
(with Docker)
https://github.com/maoo/alfresco-boxes
What's next 
Orchestration and Dashboarding 
kubernetes, fig, weaze, … 
More integration 
Oracle, PostgreSQL, MSSQL, CentOS, JBoss, … 
More images 
share-only, solr-only, … 
More features 
Restore from a backup snapshot, DB clustering, …
Today’s take away 
Dev 
SDK 2.0 enables unprecedented development 
experience and quality in development and release 
of your Alfresco Projects 
Ops 
Alfresco Boxes provides a first comprehensive 
attempt to cover the Alfresco deployment lifecycle in 
the Cloud era.
We got you covered!
Thank you / Grazie! 
Gabriele Columbro 
gabriele.columbro@alfresco.com 
twitter: @mindthegabz 
http://mindthegab.com 
Maurizio PIllitu 
maurizio.pillitu@alfresco.com 
twitter: @maoo

More Related Content

What's hot

Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
 
PASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksPASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksKellyn Pot'Vin-Gorman
 
Oracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with PuppetOracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with PuppetEdwin Biemond
 
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce
 
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetProvisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetEdwin Biemond
 
Navigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software FoundationNavigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software FoundationBrett Porter
 
How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to AnsibleCisco DevNet
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryJeff Potts
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewZia Consulting
 
Finding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User GroupFinding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User GroupDaniel Krook
 
Intro To Alfresco Part 1
Intro To Alfresco Part 1Intro To Alfresco Part 1
Intro To Alfresco Part 1Jeff Potts
 
Getting Started with CMIS
Getting Started with CMISGetting Started with CMIS
Getting Started with CMISJeff Potts
 
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNetAdvanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNetCisco DevNet
 
JavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJoe Kutner
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionColdFusionConference
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOpsCisco DevNet
 
What HPC can learn from DevOps?
What HPC can learn from DevOps?What HPC can learn from DevOps?
What HPC can learn from DevOps?Walid Shaari
 
10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should KnowAngel Borroy López
 

What's hot (20)

Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
 
PASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksPASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and Tricks
 
Oracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with PuppetOracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with Puppet
 
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
 
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetProvisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
 
Navigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software FoundationNavigating the Incubator at the Apache Software Foundation
Navigating the Incubator at the Apache Software Foundation
 
How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to Ansible
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology Review
 
Finding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User GroupFinding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User Group
 
Intro To Alfresco Part 1
Intro To Alfresco Part 1Intro To Alfresco Part 1
Intro To Alfresco Part 1
 
Getting Started with CMIS
Getting Started with CMISGetting Started with CMIS
Getting Started with CMIS
 
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNetAdvanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
 
JavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor App
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusion
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
What HPC can learn from DevOps?
What HPC can learn from DevOps?What HPC can learn from DevOps?
What HPC can learn from DevOps?
 
10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know
 
#WeSpeakLinux Session
#WeSpeakLinux Session#WeSpeakLinux Session
#WeSpeakLinux Session
 
Rest overview briefing
Rest  overview briefingRest  overview briefing
Rest overview briefing
 

Similar to Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014

Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-AlfrescoAlfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-AlfrescoAlfresco Software
 
Evolution of VS code Java ecosystem
Evolution of VS code Java ecosystemEvolution of VS code Java ecosystem
Evolution of VS code Java ecosystem Adi Polak
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with dockerSaim Safder
 
Continuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACEContinuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACEJan Willem Janssen
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12dotCloud
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on OpenstackDocker, Inc.
 
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java AppsWebinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java AppsCodefresh
 
Alfresco Boxes.pdf
Alfresco Boxes.pdfAlfresco Boxes.pdf
Alfresco Boxes.pdfedmsdelta
 
Java in a world of containers
Java in a world of containersJava in a world of containers
Java in a world of containersDocker, Inc.
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Arun Gupta
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...J V
 
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Carlos Sanchez
 
Docker intro
Docker introDocker intro
Docker introspiddy
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
Iz Pack
Iz PackIz Pack
Iz PackInria
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleJeff Potts
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 

Similar to Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014 (20)

Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-AlfrescoAlfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
Alfresco Day Roma 2015: Infrastructure as Code with Chef-Alfresco
 
Evolution of VS code Java ecosystem
Evolution of VS code Java ecosystemEvolution of VS code Java ecosystem
Evolution of VS code Java ecosystem
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
 
Continuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACEContinuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACE
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
 
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java AppsWebinar: Creating an Effective Docker Build Pipeline for Java Apps
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
 
Alfresco Boxes.pdf
Alfresco Boxes.pdfAlfresco Boxes.pdf
Alfresco Boxes.pdf
 
Java in a world of containers
Java in a world of containersJava in a world of containers
Java in a world of containers
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
 
2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study
 
Docker intro
Docker introDocker intro
Docker intro
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Docker intro
Docker introDocker intro
Docker intro
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Iz Pack
Iz PackIz Pack
Iz Pack
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with Ansible
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 

Recently uploaded

Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 

Recently uploaded (20)

Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 

Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014

  • 1. Get your Alfresco Project From Zero to Hero with Alfresco SDK 2.0 and Alfresco Boxes Gabriele Columbro WW Manager Expert Services Maurizio Pillitu Technical Consultant, EMEA
  • 2. Where it all started… Inspired to: https://developers.facebook.com/blog/post/417/
  • 4.
  • 5.
  • 6.
  • 7. Mission statements Deliver a true rapid development experience on Alfresco, integrating but not depending on IDEs. Enable unprecedented quality and longevity of your Alfresco projects. Automate key project lifecycle phases. Provision reliably arbitrarily complex architectures.
  • 8. Alfresco basic project lifecycle Inception Provisioning & deployment Release & distribution Development
  • 9. Development Provisioning & Inception Release & distribution eployment Lifecycle ownership Dev Ops
  • 10. Today’s menu • Dev —> Alfresco SDK 2.0 • The ultimate Alfresco Developer experience • Ops —> Alfresco Boxes • The ultimate Alfresco Deployment experience • Use case & demo • “Real life” project from scratch
  • 11. How do Dev & Ops talk? • In this case, like in Italian :)))) • The role of the artifact repository • Exchange of AMP / WAR artifacts between actors • Publishing and distribution of artifacts for downstream usage • Searchable • Example (s) • https://artifacts.alfresco.com • Your own corporate Maven repository
  • 12. Alfresco SDK 2.0 The best Alfresco development experience to date. By far. And 100% Community.
  • 14. Alfresco Maven Developers Bulletin • Alfresco 5 is fully built with Maven • Yes, it was about time to drop Ant. • Maven Alfresco SDK 2.0.0 (beta-4) is out • Compatible with Alfresco 5.x • Available on Maven Central! • “Old” Eclipse + Ant SDK deprecated • Not shipped with Alfresco 5.x • Superseded by the Maven Alfresco SDK
  • 16. SDK 2.0 New Killer Features RAD (Rapid Application Development) Hot Java Reloading with SpringLoaded & Tomcat7 For AMP and All in One archetype IDE Integration and independence Works non intrusively OOTB with Eclipse & Idea Share AMP archetype With sample Aikau widget!
  • 17. How hot is hot? What’s reloaded? Java code (main & unit tests) Javascript & Freemarker templates (web scripts) Web resources / JSP What’s not reloaded? Spring context files (YMMV with JRebel) Properties files (use JMX instead)
  • 18. More SDK 2.0 Features Quality Alfresco Share Selenium tests support Remote JUnit test execution Alfresco Technical Validation Tool (experimental) Integrations RM (Records Management) support 100% Community SDK released to Maven Central! SDK project migrated to Github
  • 19. Use the SDK 2.0 in your project! <parent> <groupId>org.alfresco.maven</groupId> <artifactId>alfresco-sdk-parent</artifactId> <version>2.0.0-beta-4</version> </parent> 2.0.0 will be released by London Summit (Oct 2014)
  • 20. Alfresco SDK 2.0 at a glance Use! http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html Develop! https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-sdk-aggregator/latest/index.html Contribute! Report issues: https://github.com/Alfresco/alfresco-sdk/issues Fork us: https://github.com/Alfresco/alfresco-sdk/fork
  • 21. Project “Fettuccine Alfresco” An engaging and inspiring collaboration platform for our chain of restaurants
  • 22. Requirements • Functional • Integration with an external Recipe service (e.g. BigOven.com) • Recipe of the Day user Dashlet • Non functional • VM deployment strategy • Continuous delivery • High availability
  • 23. Demo https://github.com/mindthegab/fettuccine-alfresco-aio • Rapid development in with Alfresco SDK • Java backed webscript • Repo service • Share dash let • Provisioning with Alfresco Boxes • ISO based • Packer • Vagrant
  • 24. Alfresco Boxes Bring your Alfresco deployment strategy to the next level building Alfresco Boxes in a configurable, consistent way. Whatever Boxes means.
  • 25. Disclaimer Not Alfresco Supported https://github.com/maoo/alfresco-boxes Not a full Alfresco Installer replacement Experimental Few customers early adopters
  • 26. So Many Alfresco Boxes! Type ISO AMI Docker Image ... Purpose Bulk Upload Share UI Solr indexing Allinone ... Container VirtualBox,VMWare Docker run Amazon EC2 Dashboard Bare Metal ...
  • 27. How to build a Box Start from an official distro http://releases.ubuntu.com/ 12.04.4/ubuntu-12.04.4- server-amd64. iso Support local virtualisation tools VBox, VMWare, Parallels,... Support cloud virtualisation services Amazon, DigitalOcean, Google,... Consistent provisioning syntax JSON declarative configuration of all arch. components Modular Include/Exclude arch. components Extensible Use custom artifacts and configuration parameters Production-ready No additional configuration steps, no restarts Cluster-ready Enterprise images can be executed several times to create a clustered installation
  • 28. Provisioning with Chef Alfresco Component Based mysql, tomcat, transform, repo, solr, share Install custom AMPs Sharepoint Protocol extension installed by default Generate or patch alfresco-global, share-config, log4j properties Download, unzip, filter external ZIP file to create $TOMCAT_HOME/shared/cla sses Fetch artifacts from filesystem, URL or Maven repositories Fully configurable alfresco-global, share-config, log4j properties Use custom WARs for repo, solr or share applications
  • 30.
  • 31. Building with Packer chef-solo (chef-alfresco) virtualbox-iso virtualbox-iso vmware-vmx vmware-vmx shell docker docker puppet amazon-ebs amazon-ebs Builders Provisioners
  • 32. Building acme project { "builders": [ { "type": "amazon-ebs", "source_ami": "ami-a4e81fd3", ... }, { "type": "virtualbox-iso", "iso_url": "http://releases.ubuntu.com/12.04.4/ubuntu-12.04.4- server-amd64.iso", ... } ],
  • 33. Provisioning acme project "alfresco": { "components" : ["tomcat","transform","repo","share","solr","mysql"] "generate.global.properties" : false, "generate.repo.log4j.properties" : false, "generate.share.config.custom" : false, "start_service": true, "artifacts": { "alfresco": { "groupId": “it.fettuccine.alfresco”, "artifactId": "repo", "version": “1.0.0" }, "share": { "groupId": "it.fettuccine.alfresco", "artifactId": "share", "version": “1.0.0" } ...
  • 34. Configuring Maven repo access { "id":"maoo-public", "url": "https://repository-maoo.forge.cloudbees.com/release", "username":"null", "password":"null" } Running Packer build packer build -only virtualbox-iso summit-demo.json
  • 35. Image Hierarchy alfresco base ubuntu 12.04 alfresco web base alfresco repo base alfresco allinone community https://hub.docker.com/u/maoo alfresco allinone enterprise alfresco share alfresco repo alfresco solr Base Images Allinone Images Architecture Images
  • 36. An Alfresco Architecture SHARE1 SHARE2 Alfresco Share Alfresco Repo Share/Repo data Index tracking Search Query HTTP Balancing DATA DB Access FS Access Alfresco Share Alfresco Repo HA Proxy SOLR1 Alfresco Solr Alfresco Repo BULK DB Alfresco Repo LB SKYDOCK SKYDNS
  • 37. Alfresco Boxes Overview Build Images (with Packer Builders) Publish Images (with Packer Builders) Run @local (with Vagrant) Run @virtual public/private AMI public/private Docker Registry Run @cloud (with Amazon Dashboard) (with Docker)
  • 39. What's next Orchestration and Dashboarding kubernetes, fig, weaze, … More integration Oracle, PostgreSQL, MSSQL, CentOS, JBoss, … More images share-only, solr-only, … More features Restore from a backup snapshot, DB clustering, …
  • 40. Today’s take away Dev SDK 2.0 enables unprecedented development experience and quality in development and release of your Alfresco Projects Ops Alfresco Boxes provides a first comprehensive attempt to cover the Alfresco deployment lifecycle in the Cloud era.
  • 41. We got you covered!
  • 42. Thank you / Grazie! Gabriele Columbro gabriele.columbro@alfresco.com twitter: @mindthegabz http://mindthegab.com Maurizio PIllitu maurizio.pillitu@alfresco.com twitter: @maoo

Editor's Notes

  1. Our sweet spot – industries that need process, control and collaboration
  2. Our sweet spot – industries that need process, control and collaboration