SlideShare une entreprise Scribd logo
1  sur  20
A path to modularity with Eclipse Virgo

Borislav Kapukaranov
Katya Todorova
March, 2012




                            Flickr: AbiKhairulAizad^^
In the ideal world...

A collection of modules complement each other; their sum is
  greater than each part. No waste, nothing to spare.




                                                Flickr: alicejack2002
© 2011 SAP AG. All rights reserved.
                                                                 2
Benefits on the long run

Easy to maintain
Loose coupling
Clear contract
Reuse




© 2011 SAP AG. All rights reserved.
                                      3
The path to modularity is paved with...

No product increment
Backward compatibility issues
Risk




© 2011 SAP AG. All rights reserved.
                                          4
Common pitfalls

Versioning
 Semantic versions vs reproducible build
 Uses clauses
Import-package vs Require-Bundle
Optional packages
Start levels
 How do we model core functionality?




© 2011 SAP AG. All rights reserved.
                                            5
“Google chose jetty for App
           engine”
                                                       Jetty is designed to be
                    at Jetty                                  pluggable and
        fe atures th                                      extensible, so Google
The key      osen for
                       were
     was ch           ility.”                              have been able to
      size  and flexib                                   customize it to a high
                                                                 degree.




                 http://www.infoq.com/news/2009/08/google-chose-jetty
Virgo in the modularity world

Standard OSGi
Bundles All the Way Down
Diagnostics ++
 deadlock detection
 unsatisfied DS notifications
 extensible and independent web console
 extensible dump generation mechanism
 enhanced OSGi utilities
 sophisticated event logging and tracing


Virgo White Paper

© 2011 SAP AG. All rights reserved.
                                            7
DEMO

Unsatisfied DS notifications




© 2011 SAP AG. All rights reserved.
                                      8
Virgo Features
Nano
 OSGi, Diagnostics ++, DS, p2
Kernel
 Being good citizens in both EE and OSGi world support
  (Subsystems coming)
 side-state resolution
 Virgo repositories
 Blueprint in the user region
 Load-time weaving
Tomcat Server / Jetty Server
 Web container
© 2011 SAP AG. All rights reserved.
                                                          9
Virgo supported artifacts

Nano
 jar (WAB); WAR


Kernel
 jar; PAR; Plan, property files


Tomcat Server / Jetty Server
 jar (WAB), PAR; Plan; WAR, property files



© 2011 SAP AG. All rights reserved.
                                              10
Virgo use cases
Nano
 Nano Base
  –Equinox + Diagnostics
  –Embedded
  –Good base for OSGi apps of any kind

 Nano Full
  –Nano Base + Web layer (+ p2)
  –Lightweight app server
  –Cloud environment



© 2011 SAP AG. All rights reserved.
                                         11
Virgo use cases

Kernel
 Multi-region environment
 Many deployment options
 Clustering via Cloning
 Isolated and more stable core


Tomcat Server / Jetty Server
 Web App Servers
 Enterprise apps (Spring, Hibernate)
 Standard web apps run in OSGi

© 2011 SAP AG. All rights reserved.
                                        12
Let me choose

Many existing apps are not OSGi aware
Often migration is not an option
Being good citizens in both EE and OSGi world is worth the
  effort




© 2011 SAP AG. All rights reserved.
                                                             13
Java EE 6 Web Profile
Servlet/jsp
EJB 3.1 Lite
Persistence 2.0
Transactions 1.1
CDI 1.0




© 2011 SAP AG. All rights reserved.
                                      14
How to build a Web server from scratch?




How do we know we’ve done it right?
Does following the modularity path pays off?




© 2011 SAP AG. All rights reserved.
                                               15
It did pay off




© 2011 SAP AG. All rights reserved.
                                      16
Juno




                                      Flickr: tecnico73

© 2011 SAP AG. All rights reserved.
                                                   17
Thank You!
Contact information:

Borislav Kapukaranov
borislav.kapukaranov@sap.com
          @bkapukaranov



Katya Todorova
katya.todorova@sap.com
          @katiatodorova
Startup size




© 2011 SAP AG. All rights reserved.
                                      19
Footprint




© 2011 SAP AG. All rights reserved.
                                      20

Contenu connexe

En vedette

Palestra Seguranca Cerebral 2016
Palestra Seguranca Cerebral 2016 Palestra Seguranca Cerebral 2016
Palestra Seguranca Cerebral 2016 Marcos Semola
 
Apresentação stiletto curso de roteiro
Apresentação stiletto curso de roteiroApresentação stiletto curso de roteiro
Apresentação stiletto curso de roteiroInmovimento Filmes
 
Código Administrativo - Primer debate 09.08.2016
Código Administrativo - Primer debate 09.08.2016Código Administrativo - Primer debate 09.08.2016
Código Administrativo - Primer debate 09.08.2016Mauro Andino
 
Informe para conocimiento del CAL sobre la investigación de las empresas offs...
Informe para conocimiento del CAL sobre la investigación de las empresas offs...Informe para conocimiento del CAL sobre la investigación de las empresas offs...
Informe para conocimiento del CAL sobre la investigación de las empresas offs...Mauro Andino
 
Observaciones al Código INGENIOS
Observaciones al Código INGENIOSObservaciones al Código INGENIOS
Observaciones al Código INGENIOSMauro Andino
 
Primer Informe trimestral - Ley Solidaria 29.08.2016
Primer Informe trimestral - Ley Solidaria 29.08.2016Primer Informe trimestral - Ley Solidaria 29.08.2016
Primer Informe trimestral - Ley Solidaria 29.08.2016Mauro Andino
 
Observaciones finales sobre el séptimo informe periódico de Ecuador
Observaciones finales sobre el séptimo informe periódico de EcuadorObservaciones finales sobre el séptimo informe periódico de Ecuador
Observaciones finales sobre el séptimo informe periódico de EcuadorMauro Andino
 

En vedette (7)

Palestra Seguranca Cerebral 2016
Palestra Seguranca Cerebral 2016 Palestra Seguranca Cerebral 2016
Palestra Seguranca Cerebral 2016
 
Apresentação stiletto curso de roteiro
Apresentação stiletto curso de roteiroApresentação stiletto curso de roteiro
Apresentação stiletto curso de roteiro
 
Código Administrativo - Primer debate 09.08.2016
Código Administrativo - Primer debate 09.08.2016Código Administrativo - Primer debate 09.08.2016
Código Administrativo - Primer debate 09.08.2016
 
Informe para conocimiento del CAL sobre la investigación de las empresas offs...
Informe para conocimiento del CAL sobre la investigación de las empresas offs...Informe para conocimiento del CAL sobre la investigación de las empresas offs...
Informe para conocimiento del CAL sobre la investigación de las empresas offs...
 
Observaciones al Código INGENIOS
Observaciones al Código INGENIOSObservaciones al Código INGENIOS
Observaciones al Código INGENIOS
 
Primer Informe trimestral - Ley Solidaria 29.08.2016
Primer Informe trimestral - Ley Solidaria 29.08.2016Primer Informe trimestral - Ley Solidaria 29.08.2016
Primer Informe trimestral - Ley Solidaria 29.08.2016
 
Observaciones finales sobre el séptimo informe periódico de Ecuador
Observaciones finales sobre el séptimo informe periódico de EcuadorObservaciones finales sobre el séptimo informe periódico de Ecuador
Observaciones finales sobre el séptimo informe periódico de Ecuador
 

Similaire à A path to modularity with Eclipse Virgo

Continuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesContinuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesMarco Vermeulen
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Waredeimos
 
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir SemerdzhievOSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhievmfrancis
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsDavid Delabassee
 
Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...
Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...
Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...Nabi Zamani
 
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XDScale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XDVMware Tanzu
 
A dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile appsA dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile appsJohn Moy
 
Gemini WEB and Virgo
Gemini WEB and VirgoGemini WEB and Virgo
Gemini WEB and VirgoHristo Iliev
 
A Visualization Application On AppEngine (Google Cloud)
A Visualization Application On AppEngine (Google Cloud)A Visualization Application On AppEngine (Google Cloud)
A Visualization Application On AppEngine (Google Cloud)surprisedcloud
 
GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker Uri Cohen
 
Application Architecture For The Cloud
Application Architecture For The CloudApplication Architecture For The Cloud
Application Architecture For The CloudSteve Loughran
 
Virgo 3.0 from OSGi Community Event 2011 at Darmstadt
Virgo 3.0 from OSGi Community Event 2011 at DarmstadtVirgo 3.0 from OSGi Community Event 2011 at Darmstadt
Virgo 3.0 from OSGi Community Event 2011 at DarmstadtChristopher Frost
 
Puppet Camp Charlotte 2015: Use Puppet to Manage your NetApp Storage Infrastr...
Puppet Camp Charlotte 2015: Use Puppet to Manage your NetApp Storage Infrastr...Puppet Camp Charlotte 2015: Use Puppet to Manage your NetApp Storage Infrastr...
Puppet Camp Charlotte 2015: Use Puppet to Manage your NetApp Storage Infrastr...Puppet
 
SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014mharkus
 
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...SAP Portal
 
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocksTop Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocksZeroTurnaround
 

Similaire à A path to modularity with Eclipse Virgo (20)

Continuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesContinuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBees
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Ware
 
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir SemerdzhievOSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
 
Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...
Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...
Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...
 
Notes
NotesNotes
Notes
 
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XDScale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
 
A dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile appsA dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile apps
 
Gemini WEB and Virgo
Gemini WEB and VirgoGemini WEB and Virgo
Gemini WEB and Virgo
 
Sap Technology Outlook
Sap Technology OutlookSap Technology Outlook
Sap Technology Outlook
 
SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption
 
A Visualization Application On AppEngine (Google Cloud)
A Visualization Application On AppEngine (Google Cloud)A Visualization Application On AppEngine (Google Cloud)
A Visualization Application On AppEngine (Google Cloud)
 
GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker
 
Application Architecture For The Cloud
Application Architecture For The CloudApplication Architecture For The Cloud
Application Architecture For The Cloud
 
Virgo 3.0 from OSGi Community Event 2011 at Darmstadt
Virgo 3.0 from OSGi Community Event 2011 at DarmstadtVirgo 3.0 from OSGi Community Event 2011 at Darmstadt
Virgo 3.0 from OSGi Community Event 2011 at Darmstadt
 
Puppet Camp Charlotte 2015: Use Puppet to Manage your NetApp Storage Infrastr...
Puppet Camp Charlotte 2015: Use Puppet to Manage your NetApp Storage Infrastr...Puppet Camp Charlotte 2015: Use Puppet to Manage your NetApp Storage Infrastr...
Puppet Camp Charlotte 2015: Use Puppet to Manage your NetApp Storage Infrastr...
 
SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014
 
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
 
NetWeaver Gateway- Gateway Service Consumption
NetWeaver Gateway- Gateway Service ConsumptionNetWeaver Gateway- Gateway Service Consumption
NetWeaver Gateway- Gateway Service Consumption
 
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocksTop Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
 

Dernier

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 

Dernier (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

A path to modularity with Eclipse Virgo

  • 1. A path to modularity with Eclipse Virgo Borislav Kapukaranov Katya Todorova March, 2012 Flickr: AbiKhairulAizad^^
  • 2. In the ideal world... A collection of modules complement each other; their sum is greater than each part. No waste, nothing to spare. Flickr: alicejack2002 © 2011 SAP AG. All rights reserved. 2
  • 3. Benefits on the long run Easy to maintain Loose coupling Clear contract Reuse © 2011 SAP AG. All rights reserved. 3
  • 4. The path to modularity is paved with... No product increment Backward compatibility issues Risk © 2011 SAP AG. All rights reserved. 4
  • 5. Common pitfalls Versioning  Semantic versions vs reproducible build  Uses clauses Import-package vs Require-Bundle Optional packages Start levels  How do we model core functionality? © 2011 SAP AG. All rights reserved. 5
  • 6. “Google chose jetty for App engine” Jetty is designed to be at Jetty pluggable and fe atures th extensible, so Google The key osen for were was ch ility.” have been able to size and flexib customize it to a high degree. http://www.infoq.com/news/2009/08/google-chose-jetty
  • 7. Virgo in the modularity world Standard OSGi Bundles All the Way Down Diagnostics ++  deadlock detection  unsatisfied DS notifications  extensible and independent web console  extensible dump generation mechanism  enhanced OSGi utilities  sophisticated event logging and tracing Virgo White Paper © 2011 SAP AG. All rights reserved. 7
  • 8. DEMO Unsatisfied DS notifications © 2011 SAP AG. All rights reserved. 8
  • 9. Virgo Features Nano  OSGi, Diagnostics ++, DS, p2 Kernel  Being good citizens in both EE and OSGi world support (Subsystems coming)  side-state resolution  Virgo repositories  Blueprint in the user region  Load-time weaving Tomcat Server / Jetty Server  Web container © 2011 SAP AG. All rights reserved. 9
  • 10. Virgo supported artifacts Nano  jar (WAB); WAR Kernel  jar; PAR; Plan, property files Tomcat Server / Jetty Server  jar (WAB), PAR; Plan; WAR, property files © 2011 SAP AG. All rights reserved. 10
  • 11. Virgo use cases Nano  Nano Base –Equinox + Diagnostics –Embedded –Good base for OSGi apps of any kind  Nano Full –Nano Base + Web layer (+ p2) –Lightweight app server –Cloud environment © 2011 SAP AG. All rights reserved. 11
  • 12. Virgo use cases Kernel  Multi-region environment  Many deployment options  Clustering via Cloning  Isolated and more stable core Tomcat Server / Jetty Server  Web App Servers  Enterprise apps (Spring, Hibernate)  Standard web apps run in OSGi © 2011 SAP AG. All rights reserved. 12
  • 13. Let me choose Many existing apps are not OSGi aware Often migration is not an option Being good citizens in both EE and OSGi world is worth the effort © 2011 SAP AG. All rights reserved. 13
  • 14. Java EE 6 Web Profile Servlet/jsp EJB 3.1 Lite Persistence 2.0 Transactions 1.1 CDI 1.0 © 2011 SAP AG. All rights reserved. 14
  • 15. How to build a Web server from scratch? How do we know we’ve done it right? Does following the modularity path pays off? © 2011 SAP AG. All rights reserved. 15
  • 16. It did pay off © 2011 SAP AG. All rights reserved. 16
  • 17. Juno Flickr: tecnico73 © 2011 SAP AG. All rights reserved. 17
  • 18. Thank You! Contact information: Borislav Kapukaranov borislav.kapukaranov@sap.com @bkapukaranov Katya Todorova katya.todorova@sap.com @katiatodorova
  • 19. Startup size © 2011 SAP AG. All rights reserved. 19
  • 20. Footprint © 2011 SAP AG. All rights reserved. 20

Notes de l'éditeur

  1. When best practices in different domains clash there’s no an easy solution: Build systems usually recommend a concrete version for the dependencies rather than range. JEE heavily use META-INF/services concepts which implies that this package is accessible. Optional packages are often declared as optional but no extra care is taken in the source to handle the case when the package is not available Split packages across third party jars are common case and usually refactoring is not an option so sometimes require-bundle is preferable. Guarantee start sequence without services could be tricky and start levels could help as workaround. Drawbacks of that approach (mostly on system update) could be found in every article on OSGi best practices. No silver bullet (yet) just list of open questions which to be considered from multiple perspectives
  2. A modularized JavaEE stack exists. Clears the way for owners of standard monolithic JavaEE apps to start modularizing bit by bit. Experience and Virgo users tell us that once you modularize your app you don’t want to go back to a monolithic approach.
  3. Because everything is so modular and the components we used are relatively loosely coupled we were able to assemble a minimal set of components that satisfy our goal of EE support.
  4. Our goal is to have the Virgo Nano-EE distribution part of the Eclipse Juno release train. It is scheduled for release on June 27th.