SlideShare a Scribd company logo
OPENDEVELOPMENT
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
Unmodelloideale
percostruireun
prodotto
enterprise.
Immagini tratte da chromasia.com
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
http://www.melconway.com/research/committees.html
LEGGEDICONWAY
“OGNIORGANIZZAZIONECHEPROGETTAUNSISTEMA,
PRODURRA’INEVITABILMENTEUNDESIGNCHERISPECCHIA
LASTRUTTURADICOMUNICAZIONE
DELL’ORGANIZZAZIONESTESSA”
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
QUALESTRUTTURADICOMUNICAZIONE(COLLABORAZIONE)
DEVEAVEREUN’ORGANIZZAZIONEPERCREAREUN
PRODOTTOAPERTO,MODULARE,ESTENDIBILE?
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. OBIETTIVO comune
2.DECISIONI Condivisione dei criteri decisionali
3.WORKSPACE Condivisione dello spazio di lavoro
4.INFORMAZIONI Scambio dinamico delle informazioni
5.PARALLELIZZAZIONE
COLLABORAZIONECARATTERISTICHEDIUNMODELLOCHEFUNZIONA
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. OBIETTIVO comune
2.DECISIONI Condivisione dei criteri decisionali
3.WORKSPACE Condivisione dello spazio di lavoro
4.INFORMAZIONI Scambio dinamico delle informazioni
5.PARALLELIZZAZIONE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
3COMPONENTIOPENSOURCE-OPENSTANDARDS-OPENARCHITECTURE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1.OPENSOURCE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. piùUTENTIETEROGENEI
2.piùOCCHIPUNTATI
3.piùCASID’USO
4.piùIDEE
5.
120PROGETTI 330MEMBRI
2500COMMITTER
NOF-2-F(oquasi) NESSUNUFFICIO
3TB/ggditrafficoweb
444liste 2500+email/gg
+RISORSE
più1
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. piùUTENTIETEROGENEI
2.piùOCCHIPUNTATI
3.piùCASID’USO
4.piùIDEE
5.
120PROGETTI 330MEMBRI
2500COMMITTER
NOF-2-F(oquasi) NESSUNUFFICIO
3TB/ggditrafficoweb
444liste 2500+email/gg
+RISORSE
più1
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. piùUTENTIETEROGENEI
2.piùOCCHIPUNTATI
3.piùCASID’USO
4.piùIDEE
5.
120PROGETTI 330MEMBRI
2500COMMITTER
NOF-2-F(oquasi) NESSUNUFFICIO
3TB/ggditrafficoweb
444liste 2500+email/gg
+RISORSE
+1
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
120PROGETTI 330MEMBRI
2500COMMITTER
NOF-2-F(oquasi) NESSUNUFFICIO
3TB/ggditrafficoweb
444liste 2500+email/gg
+RISORSE
1.000.000-ESIMOCOMMIT - SETTEMBRE2010
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. VISIONE
2.AGGIORNAMENTI
3.AIUTO
4.ARCHIVI
WORKSPACECONDIVISO
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. VISIONE
2.AGGIORNAMENTI
3.AIUTO
4.ARCHIVI
WORKSPACECONDIVISO
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
CODICE
TEST
BACHI
DECISIONI
MAILINGLIST
ISSUETRACKER
BLOG
INFORMAZIONIDINAMICHE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
CODICE
TEST
BACHI
DECISIONI
MAILINGLIST
ISSUETRACKER
BLOG
INFORMAZIONIDINAMICHE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
2.OPENSTANDARDS
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
JCR✴ Implementation independent
✴ bi-directional access to a Content Repository
✴ Nodes & properties in rich data types
✴ Everything is content
✴ NoSQL
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
JCR
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
JCR
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
JSOP✴ Serialization to JSON (opt YAML, XML)
✴ GET (batch/hierarchical)
✴ PUT (batch/hierarchical)
✴ PATCH (JSON diff cont type)
✴ Support for binary as multipart
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
Request:
GET /myfolder.4.json HTTP/1.1
Response:
{
"createdBy" : "uncled",
"name" : "myfolder",
"id" : "50d9317a-3a95-401a-9638-333a0dbf04bb"
"type" : "folder"
"child1" :
{
"grandchild11" :
{
"depth3" :
{
"depth4 : { ... }
}
}
}
}
JSOP
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
PUT /myfolder HTTP/1.1
{
"createdBy" : "uncled",
"name" : "myfolder",
"id" : "50d9317a-3a95-401a-9638-333a0dbf04bb"
"type" : "folder"
"child1" :
{
"grandchild11" :
{
"depth3" :
{
"depth4 : { ... }
}
}
}
}
JSOP
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
PATCH /myfolder HTTP/1.1
+newdoc : { "type" : "document", "createdBy" : "me" }
-olddoc
>movingdoc : /otherfolder/mydocument
^lastModifiedBy : "me"
JSOP
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
1. PATTERNDICOMUNICAZIONE
2.REGOLEARCHITETTURALI
3.INTERFACCECOMUNI
http
jcr
json
jsop
cmis
URI
OBIETTIVOCOMUNE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
3.OPENARCHITECTURE
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
OBIETTIVOCOMUNE
1. Il RIUSOrichiede STRUTTUREPULITE
2.PIU’CASID’USOrichiedono GENERALIZZAZIONE
3.ESTENDIBILITA’richiede MODULARIZZAZIONE
REST
OSGI
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
OBIETTIVOCOMUNE
1. Il RIUSOrichiede STRUTTUREPULITE
2.PIU’CASID’USOrichiedono GENERALIZZAZIONE
3.ESTENDIBILITA’richiede MODULARIZZAZIONE
REST
OSGI
OSGI
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
OBIETTIVOCOMUNE
1. Il RIUSOrichiede STRUTTUREPULITE
2.PIU’CASID’USOrichiedono GENERALIZZAZIONE
3.ESTENDIBILITA’richiede MODULARIZZAZIONE
REST
OSGI
OSGI✴OSGI migliora la modularità
✴Codice meglio strutturato
✴Servizi dinamici
✴Plugins
✴Isolare il codice legacy
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
OBIETTIVOCOMUNE
1. Il RIUSOrichiede STRUTTUREPULITE
2.PIU’CASID’USOrichiedono GENERALIZZAZIONE
3.ESTENDIBILITA’richiede MODULARIZZAZIONE
REST
OSGI
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
OBIETTIVOCOMUNE
1. Il RIUSOrichiede STRUTTUREPULITE
2.PIU’CASID’USOrichiedono GENERALIZZAZIONE
3.ESTENDIBILITA’richiede MODULARIZZAZIONE
REST
OSGI
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
OBIETTIVOCOMUNE
1. Il RIUSOrichiede STRUTTUREPULITE
2.PIU’CASID’USOrichiedono GENERALIZZAZIONE
3.ESTENDIBILITA’richiede MODULARIZZAZIONE
REST
OSGI
REST✴ Client-Server
✴ Stateless
✴ Cachable
✴ Layered systems
✴ Uniform interface
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
OBIETTIVOCOMUNE
1. Il RIUSOrichiede STRUTTUREPULITE
2.PIU’CASID’USOrichiedono GENERALIZZAZIONE
3.ESTENDIBILITA’richiede MODULARIZZAZIONE
REST
OSGI
REST
✴Scalabilità
✴Generalizzazione delle interfacce
✴Deployment indipendente delle componenti
✴Intermediazioni (-latenza, +security, -legacy)
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
OBIETTIVOCOMUNE
1. Il RIUSOrichiede STRUTTUREPULITE
2.PIU’CASID’USOrichiedono GENERALIZZAZIONE
3.ESTENDIBILITA’richiede MODULARIZZAZIONE
REST
OSGI
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
UNESEMPIO:CRXjackrabbit,felix,sling / HTTP,JCR,JSON / OSGI,REST
OSGIframework (felix)
JCRrepository (jackrabbit)
JCR api
Applicationframework (sling)
HTTP
CRX,architettura(semplificata)- instile‘chifacosa’
‣ manages bundles as app components
‣ provides system services to bundles
‣ stores the content
‣ processes HTTP requests in a RESTful way
specification implementation
architectural style
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
0.CLOSEDSOURCE
1. OPENRELEASES Codice aperto.
2.OPENDEVELOPMENT Workspace aperto.
3.OPENCOMMUNITY Perdita del controllo.
4.OPENCORE+CLOSEDLAYERS
MODELLIDIAPERTURATRATTODAJUKKAZ.WORDPRESS.COM
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
0.CLOSEDSOURCE
1. OPENRELEASES Codice aperto.
2.OPENDEVELOPMENT Workspace aperto.
3.OPENCOMMUNITY Perdita del controllo.
4.OPENCORE+CLOSEDLAYERS
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
0.CLOSEDSOURCE
1. OPENRELEASES Codice aperto.
2.OPENDEVELOPMENT Workspace aperto.
3.OPENCOMMUNITY Perdita del controllo.
4.OPENCORE+CLOSEDLAYERS
Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe
CRXdownload
http://bit.ly/crx-download
paolo.mottadelli@adobe.com

More Related Content

PPTX
Creare API pubbliche, come evitare gli errori comuni
PDF
Creare API pubbliche, come evitare gli errori comuni
PPTX
Fe04 angular js-101
PPTX
You know, for search
PDF
Catálogo 15 16 elksport
DOC
Gaurav dev ops (AWS, Linux, Automation-ansible, jenkins:CI and CD:Ansible)
PDF
Bridging the Gap: Connecting AWS and Kafka
PPTX
NSM (Network Security Monitoring) - Tecland Chapeco
Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuni
Fe04 angular js-101
You know, for search
Catálogo 15 16 elksport
Gaurav dev ops (AWS, Linux, Automation-ansible, jenkins:CI and CD:Ansible)
Bridging the Gap: Connecting AWS and Kafka
NSM (Network Security Monitoring) - Tecland Chapeco

Viewers also liked (15)

PDF
Linux Malware Analysis
PDF
Chicago AWS user group meetup - May 2014 at Cohesive
PPT
Een Gezond Gebit2
PPTX
Apache Ambari: Managing Hadoop and YARN
PDF
AWS + Puppet = Dynamic Scale
PDF
Evolution of OPNFV CI System: What already exists and what can be introduced
PPTX
Risk management
PPT
Introduction to smpc
PPTX
CloudStack EU user group - Trillian
PDF
Neuigkeiten von DEPAROM & Co
PPTX
Security For Humans
PPTX
Persistence in the cloud with bosh
PPTX
What does "monitoring" mean? (FOSDEM 2017)
PPTX
Expect the unexpected: Anticipate and prepare for failures in microservices b...
Linux Malware Analysis
Chicago AWS user group meetup - May 2014 at Cohesive
Een Gezond Gebit2
Apache Ambari: Managing Hadoop and YARN
AWS + Puppet = Dynamic Scale
Evolution of OPNFV CI System: What already exists and what can be introduced
Risk management
Introduction to smpc
CloudStack EU user group - Trillian
Neuigkeiten von DEPAROM & Co
Security For Humans
Persistence in the cloud with bosh
What does "monitoring" mean? (FOSDEM 2017)
Expect the unexpected: Anticipate and prepare for failures in microservices b...
Ad

Similar to Open Development (20)

PDF
LARUS 10th - Rampado Omar
PDF
e-SUAP - General software architecture (Italiano)
ODP
DOC
Cv 2014 richard_gennaro_ eur_it
PDF
Come scrivere software SOLID(O)
PDF
Come scrivere software SOLID(O)
PDF
Linux day 2016 Partanna: qualità del software - vincenzo buglino
PDF
Object Oriented Programming
PPT
Focus Group Open Source 22.11.2011 Sebastiano Lomuscio
PDF
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
PDF
Focus group 27.09.2010 Sebastiano Lomuscio
PPT
NT2 Nuove Tecnologie presentazione v3
PDF
Software libero e open source a costo zero per la grafica
KEY
Open Source con uno sguardo enterprise
KEY
Open Source con uno sguardo enterprise - CNA barcamp 2012
PDF
"New Solution Group", il virtual network al servizio delle imprese
PPTX
Architetture.Distribuite
PPTX
Open source un'opportunità di business
PPT
Open Source Strategies for Public Administrations
LARUS 10th - Rampado Omar
e-SUAP - General software architecture (Italiano)
Cv 2014 richard_gennaro_ eur_it
Come scrivere software SOLID(O)
Come scrivere software SOLID(O)
Linux day 2016 Partanna: qualità del software - vincenzo buglino
Object Oriented Programming
Focus Group Open Source 22.11.2011 Sebastiano Lomuscio
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Focus group 27.09.2010 Sebastiano Lomuscio
NT2 Nuove Tecnologie presentazione v3
Software libero e open source a costo zero per la grafica
Open Source con uno sguardo enterprise
Open Source con uno sguardo enterprise - CNA barcamp 2012
"New Solution Group", il virtual network al servizio delle imprese
Architetture.Distribuite
Open source un'opportunità di business
Open Source Strategies for Public Administrations
Ad

More from Paolo Mottadelli (12)

PDF
Open Architecture in the Adobe Marketing Cloud - Summit 2014
PDF
Integrating with Adobe Marketing Cloud - Summit 2014
PDF
Evolve13 cq-commerce-framework
PDF
AEM (CQ) eCommerce Framework
PDF
Adobe AEM Commerce with hybris
PDF
Java standards in WCM
PDF
JCR and Sling Quick Dive
PDF
Apache Poi Recipes
PDF
Jira as a Project Management Tool
PPT
Interoperability at Apache Software Foundation
PPT
Content Analysis with Apache Tika
PPT
Content analysis for ECM with Apache Tika
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014
Evolve13 cq-commerce-framework
AEM (CQ) eCommerce Framework
Adobe AEM Commerce with hybris
Java standards in WCM
JCR and Sling Quick Dive
Apache Poi Recipes
Jira as a Project Management Tool
Interoperability at Apache Software Foundation
Content Analysis with Apache Tika
Content analysis for ECM with Apache Tika

Open Development

  • 1. OPENDEVELOPMENT Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe Unmodelloideale percostruireun prodotto enterprise. Immagini tratte da chromasia.com
  • 2. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe http://www.melconway.com/research/committees.html LEGGEDICONWAY “OGNIORGANIZZAZIONECHEPROGETTAUNSISTEMA, PRODURRA’INEVITABILMENTEUNDESIGNCHERISPECCHIA LASTRUTTURADICOMUNICAZIONE DELL’ORGANIZZAZIONESTESSA”
  • 3. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe QUALESTRUTTURADICOMUNICAZIONE(COLLABORAZIONE) DEVEAVEREUN’ORGANIZZAZIONEPERCREAREUN PRODOTTOAPERTO,MODULARE,ESTENDIBILE?
  • 4. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. OBIETTIVO comune 2.DECISIONI Condivisione dei criteri decisionali 3.WORKSPACE Condivisione dello spazio di lavoro 4.INFORMAZIONI Scambio dinamico delle informazioni 5.PARALLELIZZAZIONE COLLABORAZIONECARATTERISTICHEDIUNMODELLOCHEFUNZIONA
  • 5. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. OBIETTIVO comune 2.DECISIONI Condivisione dei criteri decisionali 3.WORKSPACE Condivisione dello spazio di lavoro 4.INFORMAZIONI Scambio dinamico delle informazioni 5.PARALLELIZZAZIONE
  • 6. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 3COMPONENTIOPENSOURCE-OPENSTANDARDS-OPENARCHITECTURE
  • 7. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1.OPENSOURCE
  • 8. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. piùUTENTIETEROGENEI 2.piùOCCHIPUNTATI 3.piùCASID’USO 4.piùIDEE 5. 120PROGETTI 330MEMBRI 2500COMMITTER NOF-2-F(oquasi) NESSUNUFFICIO 3TB/ggditrafficoweb 444liste 2500+email/gg +RISORSE più1
  • 9. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. piùUTENTIETEROGENEI 2.piùOCCHIPUNTATI 3.piùCASID’USO 4.piùIDEE 5. 120PROGETTI 330MEMBRI 2500COMMITTER NOF-2-F(oquasi) NESSUNUFFICIO 3TB/ggditrafficoweb 444liste 2500+email/gg +RISORSE più1
  • 10. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. piùUTENTIETEROGENEI 2.piùOCCHIPUNTATI 3.piùCASID’USO 4.piùIDEE 5. 120PROGETTI 330MEMBRI 2500COMMITTER NOF-2-F(oquasi) NESSUNUFFICIO 3TB/ggditrafficoweb 444liste 2500+email/gg +RISORSE +1
  • 11. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 120PROGETTI 330MEMBRI 2500COMMITTER NOF-2-F(oquasi) NESSUNUFFICIO 3TB/ggditrafficoweb 444liste 2500+email/gg +RISORSE 1.000.000-ESIMOCOMMIT - SETTEMBRE2010
  • 12. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. VISIONE 2.AGGIORNAMENTI 3.AIUTO 4.ARCHIVI WORKSPACECONDIVISO
  • 13. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. VISIONE 2.AGGIORNAMENTI 3.AIUTO 4.ARCHIVI WORKSPACECONDIVISO
  • 14. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe CODICE TEST BACHI DECISIONI MAILINGLIST ISSUETRACKER BLOG INFORMAZIONIDINAMICHE
  • 15. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe CODICE TEST BACHI DECISIONI MAILINGLIST ISSUETRACKER BLOG INFORMAZIONIDINAMICHE
  • 16. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 2.OPENSTANDARDS
  • 17. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI OBIETTIVOCOMUNE
  • 18. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI OBIETTIVOCOMUNE
  • 19. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI JCR✴ Implementation independent ✴ bi-directional access to a Content Repository ✴ Nodes & properties in rich data types ✴ Everything is content ✴ NoSQL OBIETTIVOCOMUNE
  • 20. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI JCR OBIETTIVOCOMUNE
  • 21. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI JCR OBIETTIVOCOMUNE
  • 22. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI OBIETTIVOCOMUNE
  • 23. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI OBIETTIVOCOMUNE
  • 24. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI JSOP✴ Serialization to JSON (opt YAML, XML) ✴ GET (batch/hierarchical) ✴ PUT (batch/hierarchical) ✴ PATCH (JSON diff cont type) ✴ Support for binary as multipart OBIETTIVOCOMUNE
  • 25. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI Request: GET /myfolder.4.json HTTP/1.1 Response: { "createdBy" : "uncled", "name" : "myfolder", "id" : "50d9317a-3a95-401a-9638-333a0dbf04bb" "type" : "folder" "child1" : { "grandchild11" : { "depth3" : { "depth4 : { ... } } } } } JSOP OBIETTIVOCOMUNE
  • 26. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI PUT /myfolder HTTP/1.1 { "createdBy" : "uncled", "name" : "myfolder", "id" : "50d9317a-3a95-401a-9638-333a0dbf04bb" "type" : "folder" "child1" : { "grandchild11" : { "depth3" : { "depth4 : { ... } } } } } JSOP OBIETTIVOCOMUNE
  • 27. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI PATCH /myfolder HTTP/1.1 +newdoc : { "type" : "document", "createdBy" : "me" } -olddoc >movingdoc : /otherfolder/mydocument ^lastModifiedBy : "me" JSOP OBIETTIVOCOMUNE
  • 28. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 1. PATTERNDICOMUNICAZIONE 2.REGOLEARCHITETTURALI 3.INTERFACCECOMUNI http jcr json jsop cmis URI OBIETTIVOCOMUNE
  • 29. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 3.OPENARCHITECTURE
  • 30. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe OBIETTIVOCOMUNE 1. Il RIUSOrichiede STRUTTUREPULITE 2.PIU’CASID’USOrichiedono GENERALIZZAZIONE 3.ESTENDIBILITA’richiede MODULARIZZAZIONE REST OSGI
  • 31. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe OBIETTIVOCOMUNE 1. Il RIUSOrichiede STRUTTUREPULITE 2.PIU’CASID’USOrichiedono GENERALIZZAZIONE 3.ESTENDIBILITA’richiede MODULARIZZAZIONE REST OSGI OSGI
  • 32. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe OBIETTIVOCOMUNE 1. Il RIUSOrichiede STRUTTUREPULITE 2.PIU’CASID’USOrichiedono GENERALIZZAZIONE 3.ESTENDIBILITA’richiede MODULARIZZAZIONE REST OSGI OSGI✴OSGI migliora la modularità ✴Codice meglio strutturato ✴Servizi dinamici ✴Plugins ✴Isolare il codice legacy
  • 33. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe OBIETTIVOCOMUNE 1. Il RIUSOrichiede STRUTTUREPULITE 2.PIU’CASID’USOrichiedono GENERALIZZAZIONE 3.ESTENDIBILITA’richiede MODULARIZZAZIONE REST OSGI
  • 34. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe OBIETTIVOCOMUNE 1. Il RIUSOrichiede STRUTTUREPULITE 2.PIU’CASID’USOrichiedono GENERALIZZAZIONE 3.ESTENDIBILITA’richiede MODULARIZZAZIONE REST OSGI
  • 35. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe OBIETTIVOCOMUNE 1. Il RIUSOrichiede STRUTTUREPULITE 2.PIU’CASID’USOrichiedono GENERALIZZAZIONE 3.ESTENDIBILITA’richiede MODULARIZZAZIONE REST OSGI REST✴ Client-Server ✴ Stateless ✴ Cachable ✴ Layered systems ✴ Uniform interface
  • 36. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe OBIETTIVOCOMUNE 1. Il RIUSOrichiede STRUTTUREPULITE 2.PIU’CASID’USOrichiedono GENERALIZZAZIONE 3.ESTENDIBILITA’richiede MODULARIZZAZIONE REST OSGI REST ✴Scalabilità ✴Generalizzazione delle interfacce ✴Deployment indipendente delle componenti ✴Intermediazioni (-latenza, +security, -legacy)
  • 37. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe OBIETTIVOCOMUNE 1. Il RIUSOrichiede STRUTTUREPULITE 2.PIU’CASID’USOrichiedono GENERALIZZAZIONE 3.ESTENDIBILITA’richiede MODULARIZZAZIONE REST OSGI
  • 38. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe UNESEMPIO:CRXjackrabbit,felix,sling / HTTP,JCR,JSON / OSGI,REST
  • 39. OSGIframework (felix) JCRrepository (jackrabbit) JCR api Applicationframework (sling) HTTP CRX,architettura(semplificata)- instile‘chifacosa’ ‣ manages bundles as app components ‣ provides system services to bundles ‣ stores the content ‣ processes HTTP requests in a RESTful way specification implementation architectural style
  • 40. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 0.CLOSEDSOURCE 1. OPENRELEASES Codice aperto. 2.OPENDEVELOPMENT Workspace aperto. 3.OPENCOMMUNITY Perdita del controllo. 4.OPENCORE+CLOSEDLAYERS MODELLIDIAPERTURATRATTODAJUKKAZ.WORDPRESS.COM
  • 41. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 0.CLOSEDSOURCE 1. OPENRELEASES Codice aperto. 2.OPENDEVELOPMENT Workspace aperto. 3.OPENCOMMUNITY Perdita del controllo. 4.OPENCORE+CLOSEDLAYERS
  • 42. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe 0.CLOSEDSOURCE 1. OPENRELEASES Codice aperto. 2.OPENDEVELOPMENT Workspace aperto. 3.OPENCOMMUNITY Perdita del controllo. 4.OPENCORE+CLOSEDLAYERS
  • 43. Open Development // un modello ideale per costruire un prodotto enterprise Paolo Mottadelli // Adobe CRXdownload http://bit.ly/crx-download paolo.mottadelli@adobe.com