SlideShare a Scribd company logo
1 of 43
Download to read offline
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

Viewers also liked

Chicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveChicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveAWS Chicago
 
Een Gezond Gebit2
Een Gezond Gebit2Een Gezond Gebit2
Een Gezond Gebit2guest031320
 
Apache Ambari: Managing Hadoop and YARN
Apache Ambari: Managing Hadoop and YARNApache Ambari: Managing Hadoop and YARN
Apache Ambari: Managing Hadoop and YARNHortonworks
 
Choosing the right data storage in the Cloud.
Choosing the right data storage in the Cloud. Choosing the right data storage in the Cloud.
Choosing the right data storage in the Cloud. Amazon Web Services
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...Amazon Web Services
 
Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced  Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced OPNFV
 
(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte Scale(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte ScaleAmazon Web Services
 
CloudStack EU user group - Trillian
CloudStack EU user group - TrillianCloudStack EU user group - Trillian
CloudStack EU user group - TrillianShapeBlue
 
Neuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & CoNeuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & CoArne Krueger
 
Security For Humans
Security For HumansSecurity For Humans
Security For Humansconjur_inc
 
Setting up a Digital Business on Cloud
Setting up a Digital Business on CloudSetting up a Digital Business on Cloud
Setting up a Digital Business on CloudAmazon Web Services
 
Persistence in the cloud with bosh
Persistence in the cloud with boshPersistence in the cloud with bosh
Persistence in the cloud with boshm_richardson
 
What does "monitoring" mean? (FOSDEM 2017)
What does "monitoring" mean? (FOSDEM 2017)What does "monitoring" mean? (FOSDEM 2017)
What does "monitoring" mean? (FOSDEM 2017)Brian Brazil
 
Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...Bhakti Mehta
 

Viewers also liked (20)

Linux Malware Analysis
Linux Malware Analysis	Linux Malware Analysis
Linux Malware Analysis
 
Chicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveChicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at Cohesive
 
Een Gezond Gebit2
Een Gezond Gebit2Een Gezond Gebit2
Een Gezond Gebit2
 
Apache Ambari: Managing Hadoop and YARN
Apache Ambari: Managing Hadoop and YARNApache Ambari: Managing Hadoop and YARN
Apache Ambari: Managing Hadoop and YARN
 
ITV& Bashton
ITV& Bashton ITV& Bashton
ITV& Bashton
 
Choosing the right data storage in the Cloud.
Choosing the right data storage in the Cloud. Choosing the right data storage in the Cloud.
Choosing the right data storage in the Cloud.
 
AWS + Puppet = Dynamic Scale
AWS + Puppet = Dynamic ScaleAWS + Puppet = Dynamic Scale
AWS + Puppet = Dynamic Scale
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
 
Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced  Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced
 
(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte Scale(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte Scale
 
Risk management
Risk managementRisk management
Risk management
 
Introduction to smpc
Introduction to smpc Introduction to smpc
Introduction to smpc
 
CloudStack EU user group - Trillian
CloudStack EU user group - TrillianCloudStack EU user group - Trillian
CloudStack EU user group - Trillian
 
Neuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & CoNeuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & Co
 
Security For Humans
Security For HumansSecurity For Humans
Security For Humans
 
Setting up a Digital Business on Cloud
Setting up a Digital Business on CloudSetting up a Digital Business on Cloud
Setting up a Digital Business on Cloud
 
Persistence in the cloud with bosh
Persistence in the cloud with boshPersistence in the cloud with bosh
Persistence in the cloud with bosh
 
What does "monitoring" mean? (FOSDEM 2017)
What does "monitoring" mean? (FOSDEM 2017)What does "monitoring" mean? (FOSDEM 2017)
What does "monitoring" mean? (FOSDEM 2017)
 
Verwondering...
Verwondering...Verwondering...
Verwondering...
 
Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...
 

Similar to Open Development

Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014Paradisi63
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS BuildGian Maria Ricci
 
EVOLUTIONBOOK: la forza di un team!
EVOLUTIONBOOK: la forza di un team!EVOLUTIONBOOK: la forza di un team!
EVOLUTIONBOOK: la forza di un team!EvolutionBook S.r.l.
 
Enterprise Applications - Angular Day 2018
Enterprise Applications - Angular Day 2018Enterprise Applications - Angular Day 2018
Enterprise Applications - Angular Day 2018Paolo Galfione
 
Come nasce una community WEB 2.0
Come nasce una community WEB 2.0Come nasce una community WEB 2.0
Come nasce una community WEB 2.0Sgrauso
 
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...maik_o
 
Rich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e JavaRich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e Javamarcocasario
 
Flavio atzeni smau mi 2013
Flavio atzeni smau  mi 2013Flavio atzeni smau  mi 2013
Flavio atzeni smau mi 2013Paradisi63
 
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
#LRIS2014 - MessageBus, Cluster communication and Caching on B2Bkino2k
 
Smau Torino 2013 Flavio Atzeni
Smau Torino 2013 Flavio AtzeniSmau Torino 2013 Flavio Atzeni
Smau Torino 2013 Flavio AtzeniSMAU
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Gabriele Gaggi
 
Federico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi
 
DotNetCampus 2014 - BING e Windows Store App
DotNetCampus 2014 - BING e Windows Store AppDotNetCampus 2014 - BING e Windows Store App
DotNetCampus 2014 - BING e Windows Store AppMassimo Bonanni
 
Win02 bing e windows store apps
Win02   bing e windows store appsWin02   bing e windows store apps
Win02 bing e windows store appsDotNetCampus
 
Lezioni Video Online. Parte 1/5. Statistiche, luoghi e modalità di consumo de...
Lezioni Video Online. Parte 1/5. Statistiche, luoghi e modalità di consumo de...Lezioni Video Online. Parte 1/5. Statistiche, luoghi e modalità di consumo de...
Lezioni Video Online. Parte 1/5. Statistiche, luoghi e modalità di consumo de...Alessio Garbin
 
Ria (Rich Internet Application) : Autodesk Homestyler , Domus Planner
Ria (Rich Internet Application) : Autodesk Homestyler , Domus PlannerRia (Rich Internet Application) : Autodesk Homestyler , Domus Planner
Ria (Rich Internet Application) : Autodesk Homestyler , Domus PlannerNicola L
 
Scelta Software Elearning
Scelta Software ElearningScelta Software Elearning
Scelta Software ElearningFormaLms
 
Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Diego La Monica
 

Similar to Open Development (20)

Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014Flavio ATZENI - SMAU 2014
Flavio ATZENI - SMAU 2014
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS Build
 
Tesina ITS final
Tesina ITS finalTesina ITS final
Tesina ITS final
 
Tesina ITS final
Tesina ITS finalTesina ITS final
Tesina ITS final
 
EVOLUTIONBOOK: la forza di un team!
EVOLUTIONBOOK: la forza di un team!EVOLUTIONBOOK: la forza di un team!
EVOLUTIONBOOK: la forza di un team!
 
Enterprise Applications - Angular Day 2018
Enterprise Applications - Angular Day 2018Enterprise Applications - Angular Day 2018
Enterprise Applications - Angular Day 2018
 
Come nasce una community WEB 2.0
Come nasce una community WEB 2.0Come nasce una community WEB 2.0
Come nasce una community WEB 2.0
 
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
 
Rich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e JavaRich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e Java
 
Flavio atzeni smau mi 2013
Flavio atzeni smau  mi 2013Flavio atzeni smau  mi 2013
Flavio atzeni smau mi 2013
 
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
#LRIS2014 - MessageBus, Cluster communication and Caching on B2B
 
Smau Torino 2013 Flavio Atzeni
Smau Torino 2013 Flavio AtzeniSmau Torino 2013 Flavio Atzeni
Smau Torino 2013 Flavio Atzeni
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5
 
Federico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile Cordova
 
DotNetCampus 2014 - BING e Windows Store App
DotNetCampus 2014 - BING e Windows Store AppDotNetCampus 2014 - BING e Windows Store App
DotNetCampus 2014 - BING e Windows Store App
 
Win02 bing e windows store apps
Win02   bing e windows store appsWin02   bing e windows store apps
Win02 bing e windows store apps
 
Lezioni Video Online. Parte 1/5. Statistiche, luoghi e modalità di consumo de...
Lezioni Video Online. Parte 1/5. Statistiche, luoghi e modalità di consumo de...Lezioni Video Online. Parte 1/5. Statistiche, luoghi e modalità di consumo de...
Lezioni Video Online. Parte 1/5. Statistiche, luoghi e modalità di consumo de...
 
Ria (Rich Internet Application) : Autodesk Homestyler , Domus Planner
Ria (Rich Internet Application) : Autodesk Homestyler , Domus PlannerRia (Rich Internet Application) : Autodesk Homestyler , Domus Planner
Ria (Rich Internet Application) : Autodesk Homestyler , Domus Planner
 
Scelta Software Elearning
Scelta Software ElearningScelta Software Elearning
Scelta Software Elearning
 
Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?
 

More from Paolo Mottadelli

Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Paolo Mottadelli
 
Integrating with Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014Integrating with Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014Paolo Mottadelli
 
Evolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkEvolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkPaolo Mottadelli
 
AEM (CQ) eCommerce Framework
AEM (CQ) eCommerce FrameworkAEM (CQ) eCommerce Framework
AEM (CQ) eCommerce FrameworkPaolo Mottadelli
 
Adobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisAdobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisPaolo Mottadelli
 
Jira as a Project Management Tool
Jira as a Project Management ToolJira as a Project Management Tool
Jira as a Project Management ToolPaolo Mottadelli
 
Interoperability at Apache Software Foundation
Interoperability at Apache Software FoundationInteroperability at Apache Software Foundation
Interoperability at Apache Software FoundationPaolo Mottadelli
 
Content Analysis with Apache Tika
Content Analysis with Apache TikaContent Analysis with Apache Tika
Content Analysis with Apache TikaPaolo Mottadelli
 
Content analysis for ECM with Apache Tika
Content analysis for ECM with Apache TikaContent analysis for ECM with Apache Tika
Content analysis for ECM with Apache TikaPaolo Mottadelli
 

More from Paolo Mottadelli (12)

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

Recently uploaded

Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIinfogdgmi
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 

Recently uploaded (9)

Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AI
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 

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