Chicago AWS user group meetup - May 2014 at CohesiveAWS Chicago
Chicago AWS user group meetup - May 2014 at Cohesive
All slides from the May 2014 Meetup. Talks included:
• "Mining crypto currency on AWS spot instance" - Scott VanDenPlas, Engineer at el el see @scottvdp
• "HA for healthcare" - Ryan Koop, Director of Products & Marketing, Cohesive @ryankoop
• "Using AWS for HA at BrightTag" - Matt Kemp, Engineer of Things™ at BrightTag @mattkemp
• So nice, he's talking twice. - Scott VanDenPlas, Engineer at el el see @scottvdp
Join us again June 24 at Mediafly and in July back at Cohesive!
Apache Ambari: Managing Hadoop and YARNHortonworks
Part of the Hortonworks YARN Ready Webinar Series, this session is about management of Apache Hadoop and YARN using Apache Ambari. This series targets developers and we will feature a demo on Ambari.
1) ITV wanted to distribute large volumes of video content to partners in a scalable and cost-effective way without using a push model that led to high bandwidth costs.
2) They built a shared content distribution pipeline on AWS using S3 for storage, SNS for notifications, and Lambda functions. This allows content to be uploaded once to S3 and then partners can pull the content through their own AWS accounts.
3) Setting up the infrastructure as code with CloudFormation templates allows them to easily replicate test, staging, and production environments and make consistent infrastructure changes across environments.
Data is gravity. Your workloads and processing is dependent on where your data is and how it is stored. With AWS, you have a host of storage options and the key to successfully leverage them is to know when to use which option. This session will explain in details about each of the AWS Storage offerings along with data ingestion optins into the Cloud using Snowball and Snowmobile
Marc Trimuschat,
Head - Business Developement, AWS Storage, AWS APAC
This document discusses using Puppet and AWS together to dynamically scale infrastructure. It provides examples of building out the necessary components like OS, software stack, networking, and application deployment in an automated and orchestrated way. Key steps include using CloudFormation to build out the VPC and networking components, baking AMIs with foundational configurations, deploying applications via Puppet modules, and using tools like AWS CodeDeploy and auto scaling for automated deployments and scaling. The overall goal is to enable continuous delivery of applications at high velocity by making infrastructure dynamic and mutable.
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...Amazon Web Services
In this session, we’ll look at the AWS services that customers are using to build and deploy Microsoft-based solutions that use technologies like Windows, .NET, SQL Server, and PowerShell. We’ll start by showing you how to build a Windows-based CI/CD pipeline on AWS using AWS CodeDeploy, AWS CodePipeline, AWS CloudFormation, and PowerShell using an AWS Quick Start. We’ll also cover best practices for how you can create templates that let you automatically deploy ready-to-use Windows products by leveraging services and tools like AWS CloudFormation, PowerShell, and Git. Woot, an online retailer for electronics, will share how it moved from using a complex mix of custom PowerShell code for its DevOps processes to using services like Amazon EC2 Simple Systems Manager (SSM), AWS CodeDeploy, and AWS Directory Service. This migration eliminated the need for complex PowerShell scripts and reduced the operational complexity of performing operational tasks like renaming servers, joining domains, and securely handling keys.
Evolution of OPNFV CI System: What already exists and what can be introduced OPNFV
The document discusses the evolution of the OPNFV CI (continuous integration) system. It describes the current CI infrastructure including Jenkins for building and testing software projects continuously. It also identifies problems with the growing number of commits and authors. Potential tools that could be introduced include Zuul for scheduling jobs in parallel across dependencies, and Elasticsearch ELK stack for gathering, storing and visualizing system logs. The document proposes an evolved CI system architecture incorporating these tools along with GitHub mirroring, repositories for stable versions, Jenkins masters and slaves, log servers, and Puppet/Hiera for infrastructure management.
Delivering petabyte-scale computational resources to a large community of users while meeting stringent security and compliance requirements presents a host of technical challenges. Seven Bridges Genomics met and overcame them when building the Cancer Genomics Cloud Pilot (CGC) for the National Cancer Institute. The CGC helps users to solve massive computational problems involving multidimensional data, which include: running diverse analyses in a reproducible manner, collaborating with other researchers, and keeping personal data secure to comply with NIH regulations on controlled data sets. Seven Bridges will highlight the lessons learned along the way, as well as best practices for constructing secure and compliant platform services using Amazon S3, Amazon Glacier, AWS Identity and Access Management (IAM), Amazon VPC, and Amazon Route 53.
The document discusses risk management. It defines risk as the possibility of an adverse outcome from an event. Risk management is the process of identifying risks, evaluating their potential impact, and developing strategies to reduce risks. The document provides examples of risk management failures in banks that led to large financial losses. It also discusses how Islamic banks were more resilient during the 2008 financial crisis due to risk management principles in Sharia law that avoid uncertainty and speculation.
This document provides an introduction and overview of Secure Multi-Party Computation (SMPC). It begins with an introduction of the speaker and agenda. It then defines SMPC as a problem in distributed computing where parties wish to compute a function while preserving privacy and correctness, even if some parties are faulty. It presents the Millionaire's Problem protocol as an example. Real-world applications are discussed, along with adversary classifications and desirable SMPC properties. Key techniques like garbled circuits, oblivious transfer, and secret sharing are introduced. The document concludes by outlining future topics to be covered.
Trillian is an Ansible-based tool that automates the deployment of CloudStack environments for testing purposes. It supports building environments with various hypervisor and CloudStack versions across multiple concurrent tests. Jenkins integrates with Trillian to run test suites after package builds and clean up environments. The tools provide automated testing capabilities for CloudStack improvements and integrations.
Anlässlich unseres "mtc Opening 2015" unserer Jahresauftaktveranstaltung haben wir unseren Kunden und Interessenten einen Überblick über unsere Patentinformationen erstellt.
This document discusses integrating security into modern development workflows. It begins by introducing the presenter and stating what topics will and will not be covered. Examples are then provided of how different user personas such as developers, operations staff, security teams, and business users can have their workflows negatively impacted when secrets are not properly managed. The talk suggests creating a cross-functional security UX team and provides recommendations to avoid issues like credential rotation schemes that require redeploys or cloud-specific solutions.
The five key principles of digital business is cloud platform,
Micro Services Architecture, Agile teams, Dev Ops Strategy, Automated
Accelerators
Speaker: Deepak Kagliwal, Vice President & Head of Sales, Blazeclan
BOSH is an open source tool for release engineering, deployment, lifecycle management, and monitoring of distributed systems. It handles packaging, infrastructure provisioning across multiple clouds, application deployment with features like canary releases and rolling updates, configuration management of services rather than individual servers, and monitoring of processes, nodes, and the overall service. The presentation demonstrated deploying an ELK stack on AWS using BOSH and showed how it can scale the deployment vertically, horizontally, add more disk space, replace nodes, and add monitoring.
What does "monitoring" mean? (FOSDEM 2017)Brian Brazil
Monitoring can mean very different things to different people, and this often leads to confusion and misunderstandings. There are many offerings both free software and commercials, and it's not always clear where each fits in the bigger picture. This talk will look a bit at the history of monitoring, and then into the general categories of Metrics, Logs, Profiling and Distributed tracing and how each of these is important in Cloud-based environment.
Video: https://www.youtube.com/watch?v=hCBGyLRJ1qo
Expect the unexpected: Anticipate and prepare for failures in microservices b...Bhakti Mehta
Bhakti Mehta discusses strategies for building resilient microservices architectures. Mehta covers challenges like cascading failures and latency that can occur at scale. Techniques like circuit breakers, timeouts, retries, and bulkheading are presented to isolate failures and prevent them from spreading. Logging and metrics are also important for monitoring systems and identifying issues after deployment. The talk emphasizes anticipating failures through approaches like load testing and designing systems to automatically recover from failures.
Grazie a Team Foundation Build è possibile adottare pratiche di integrazione continua nel proprio progetto. In questa presentazione viene introdotta la struttura di tfs build assieme alle tecniche base per effettuare una customizzazione della build.
Enterprise Applications - Angular Day 2018Paolo Galfione
Angular 6 introduce il concetto di workspace per la creazione di applicazioni Angular aziendali complesse e articolate. Grazie ad un approccio basato sul pattern mono-repo un workspace può contenere più applicazioni e librerie condivisibili tra le applicazioni stesse. Vedremo come progettare un workspace e sfruttare la potenza dei nuovi @angular-devkit/schematics per automatizzare la generazione di codice applicativo pronto all’uso
Federico Massi.it - Intro alle app mobile CordovaFederico Massi
Introduzione generale alle app mobile Cordova (per Android, iOS, Windows, ecc).
(riduzione / adattamento della presentazione svolta presso GLM Macerata il 24 marzo 2017)
I servizi offerti dalla piattaforma BING consentono di realizzare facilmente applicazioni per Windows 8.1 moderne ed evolute. Le funzionalità di Speech Recognition, ad esempio, consentono di fornire all'utente un diverso modo per interagire con la nostra applicazione mentre le funzionalità infrastrutturali di App Linking ci permettono di integrare la nostra applicazione all'interno dei risultati della Smart Search di Windows 8.1, consentendoci di essere più visibili e, quindi, di avere un maggior successo.
Slide della sessione "BING e Windows Store App" tenuta al DotNetCampus 2014 a Roma il 10/05/2014
Lezioni Video Online. Parte 1/5. Statistiche, luoghi e modalità di consumo de...Alessio Garbin
Argomenti: statistiche dal mondo del video, dove e come si consumano oggi i video (luoghi e modalità), cos'è un video, dalla definizione alle svariate modalità di produzione.
>>>> Prima parte della prima lezione del corso di "Video Design" nel Master in "Digital Media Management" presso lo IED - Istituto Europeo di Design di Milano. Marzo 2013.
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Diego La Monica
Chi ha scritto “2001: Odissea nello spazio” una volta disse che: “Le nuove idee passano attraverso tre fasi: Non può essere fatto. Probabilmente si può fare, ma non ne vale la pena. Ho sempre detto che si trattava di una buona idea!” Ai giorni nostri, qualsiasi Idea può diventare un’App ed essere pubblicata negli store. E le fasi da percorrere sono 4: ideazione, progettazione, sviluppo e pubblicazione. E se volessimo anche guadagnarci dall’idea? Come un uccellino che saltella da un ramo all’altro, analizzeremo tutti gli aspetti che ci porteranno a determinare quale potrà essere la possibile fonte di guadagno alle spalle della nostra app.
Open Architecture in the Adobe Marketing Cloud - Summit 2014Paolo Mottadelli
Explore the open architecture concepts of Adobe Marketing Cloud and how they increase the quality and usability of Adobe solutions. The open architecture makes Adobe components easier to integrate, test, and understand, enabling partners and customers to integrate custom data sources and applications with Adobe Marketing Cloud.
Learn about:
– The open architecture concepts applied to Adobe Marketing Cloud
– How the open architecture increases the quality and usability of Adobe solutions
– Taking advantage of integration options
This session is for the entire technical constituency, from developers to CTOs, across all Adobe Marketing Cloud solutions.
Integrating with Adobe Marketing Cloud - Summit 2014Paolo Mottadelli
Adobe Marketing Cloud provides a number of extension points to allow external systems to integrate. Third-party applications can easily register as clients and share information within the Adobe Marketing Cloud user interface. External data providers can be connected to several Adobe Marketing Cloud solutions, as well as to the shared infrastructure layer. Some of the Adobe solutions support implementing and deploying plug-ins to extend their capabilities or integrate with other systems, both on cloud-based and on-premises architectures. This session presents some integration patterns and existing examples.
Learn about:
– Adobe Marketing Cloud integration points
– How to get started with a new integration
– Real integration examples
This session is for developers, technical business users, and technical executives, such as CTOs, of Adobe Marketing Cloud customers and partners.
Adobe Experience Manager (AEM) provides a framework to build commerce websites, allowing to manage rich content for experience driven websites, as well as taking care of the specific complexities typically related to the commerce business. The combination of experience and commerce support is possible thanks to a framework oriented architecture that allows AEM to integrate with best of breed commerce platforms as well as with home grown systems. AEM provides an API that can be implemented and extended on the specific project requirements as well as towards the ecommerce backend system of choice. This session will cover the primary elements around extensibility and pluggability of the AEM commerce framework, through some code samples explained. A specific part of this session then will be dedicated to the available approaches to support high volumes of data as well as rich content delivery. The ideal audience of this presentation are developers that are involved in commerce related projects or that are planning to design an architecture for a big commerce website.
As part of Adobe Experience Manager, CQ 5.6 provides a new Commerce Framework to build Experience Driven Commerce websites on top of a 3rd party Commerce Platform. This session provides an overview of the framework from an architectural perspective and presents some details of the reference implementation, based on the JCR repository.
The document discusses standards for web content management (WCM), specifically the Java Content Repository (JCR) and the Content Management Interoperability Services (CMIS) standards. It provides overviews of what JCR and CMIS are, their histories and key aspects. It compares JCR and CMIS, noting that JCR is a Java-based local API while CMIS is language-independent and used remotely over HTTP. The document advocates for using standards like these to free content from proprietary silos.
The document discusses Java Content Repository (JCR) and Sling, describing them as standards and frameworks that provide content-centric interfaces and services for content management applications. JCR defines a content model and Java API for storing and managing diverse content. Sling is a scriptable application layer built on JCR that processes HTTP requests in a RESTful manner and allows developing applications using OSGi bundles and scripting languages. It also provides examples of using Sling with CURL to create and retrieve content from a repository.
This document is a presentation about Apache POI given by Paolo Mottadelli at ApacheCon US 2009 in Oakland. It discusses POI modules for reading and writing Office file formats like Excel, Word and PowerPoint. It also covers topics like common HSSF and XSSF access in POI, OpenXML package concepts, text extraction, simple tasks in Excel and Word, formula evaluation, and use cases for content management systems, financial forecasting and document import.
This presentation was presented at a Document Inteop Initiative event held in Brussels and promoted by Microsoft.
It gives a view of projects related to interoperability within the Apache Software Foundation.
Tika is a toolkit for detecting and extracting metadata and structured text content from various documents such as PDFs, Word, and HTML. It allows parsing of document files into XHTML output and metadata. Tika uses a ContentHandler interface to parse document streams into SAX events and extract metadata using a Parser interface. It supports many file formats through built-in parsers and uses Apache Lucene for type detection.
Tika is a toolkit for extracting metadata and text from various document formats. It allows developers to parse documents and extract metadata and text content in 3 main steps. Tika shields systems like Alfresco from needing to integrate many individual parsing components. Alfresco uses Tika to index content from various formats by passing file streams through Tika's parsers rather than using multiple custom transformers.
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