SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Eclipse Virgo
 Glyn Normington




        1
Agenda

• What is Virgo?
• Externals
• Concepts
• How can I get involved?

                     2
What is Virgo?
• “Dynamic Enterprise Application Platform”
• Based on SpringSource dm Server 2.0
 • Not to be confused with Spring DM
• Objectives:
 • Better OSGi platform
 • Migration of Java EE apps
 • Modular and extensible
                     3
Problems Virgo Solves
• Groups bundles into manageable units
• Enables the use of existing open source libraries
 • TCCL, LTW, implicit package use
• Provisions from repositories
• Extensive diagnostics
 • resolution failure, deadlock, delayed services
                         4
Virgo and EclipseRT

    Virgo                 Gemini

    web                web container

    kernel               blueprint

      ...                   ...


             Equinox



             Spring
                5
Virgo Externals
                                          Admin
startup.sh -clean                        console




service wrapper                         JMX client



          /pickup         Virgo           Shell


          /config



                                      /serviceability




                           6
Artifacts



Regions

                                            Plans
                       Virgo
                      Concepts



          Pipelines                 Repositories



                          7
Artifacts




    8
Artifacts

• Identified by type, name, version
• Types:
 • bundle - OSGi bundle
 • configuration - properties file
 • plan - list of artifacts
 • ...
                     9
Plans




 10
Plans
•   XML

•   List artifacts by type, name, version range

•   Scoping

•   Atomicity

•   PARs

    •   Contain artifacts

    •   Scoped, atomic

                            11
Scoping
            Synthetic
            Context



       A                B



A


B
       Y                X

       12
Repositories




      13
Repositories
• Artifacts indexed by type, name, version
• Supports queries e.g. by version range
• Repository types:
 • External
 • Watched
 • Remote
• Repositories may be chained
                     14
Repository Chaining
              remote




         15
Pipelines




     16
Pipelines

       install

transform        quasiInstall
                                resolve

quasiResolve       commit




                          17
Regions




   18
Regions
           User Region




                           services



packages      services




           Kernel Region
                 19
How can I get involved?



           20
Current Status


• Renaming & relicensing underway
• IP scrutiny ready to begin
• Baseline release is the goal

                 21
Roles

• Casual user
• Expert user
• Contributor
• Committer

                  22
Committer Skills
• Know or willing to learn:
 • Clean architecture & code
 • Unit and integration testing
 • Concurrency
 • (Deep) OSGi
 • git, ant, ivy, etc.
                     23
Work Areas
• Developer docs & wiki
• Jetty adapter
• Regions and nested frameworks
• p2 integration
• More server types
 • Integration, batch, ECF, ...
                   24
Further Information
• Virgo Community Launch BoF
  • Today 7.15pm in Tasman
• Application Models for OSGi BoF - Wed.
• http://www.eclipse.org/virgo
  • Join us in the forum and dev list
•                #VirgoRT
• http://www.springsource.org/dmserver
  • Download dm Server 2.0 and try it out
                    25

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (10)

Should i Go there
Should i Go thereShould i Go there
Should i Go there
 
Jakarta EE 8 on JDK17
Jakarta EE 8 on JDK17Jakarta EE 8 on JDK17
Jakarta EE 8 on JDK17
 
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
 
Oak, the Architecture of the new Repository
Oak, the Architecture of the new RepositoryOak, the Architecture of the new Repository
Oak, the Architecture of the new Repository
 
Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
Dockersh and a brief intro to the docker internals
Dockersh and a brief intro to the docker internalsDockersh and a brief intro to the docker internals
Dockersh and a brief intro to the docker internals
 
Live Container Migration: OpenStack Summit Barcelona 2016
Live Container Migration: OpenStack Summit Barcelona 2016Live Container Migration: OpenStack Summit Barcelona 2016
Live Container Migration: OpenStack Summit Barcelona 2016
 
OCI Support in Mesos
OCI Support in MesosOCI Support in Mesos
OCI Support in Mesos
 
Exploring Magnum and Senlin integration for autoscaling containers
Exploring Magnum and Senlin integration for autoscaling containersExploring Magnum and Senlin integration for autoscaling containers
Exploring Magnum and Senlin integration for autoscaling containers
 

Ähnlich wie Eclipse Virgo

Conole vilnius 3_nov
Conole vilnius 3_novConole vilnius 3_nov
Conole vilnius 3_nov
grainne
 
Multi-bundle Scoping in OSGi
Multi-bundle Scoping in OSGiMulti-bundle Scoping in OSGi
Multi-bundle Scoping in OSGi
glynnormington
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
Tony Ng
 
Replication Solutions for PostgreSQL
Replication Solutions for PostgreSQLReplication Solutions for PostgreSQL
Replication Solutions for PostgreSQL
Peter Eisentraut
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Release
elliando dias
 
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
VMware Tanzu
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
DataWorks Summit
 

Ähnlich wie Eclipse Virgo (20)

Conole vilnius 3_nov
Conole vilnius 3_novConole vilnius 3_nov
Conole vilnius 3_nov
 
Multi-bundle Scoping in OSGi
Multi-bundle Scoping in OSGiMulti-bundle Scoping in OSGi
Multi-bundle Scoping in OSGi
 
Integrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing InfrastructureIntegrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing Infrastructure
 
EclipseCon Europe 2011 Virgo 3.0
EclipseCon Europe 2011 Virgo 3.0EclipseCon Europe 2011 Virgo 3.0
EclipseCon Europe 2011 Virgo 3.0
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
 
Integrating OpenStack to Existing infrastructure
Integrating OpenStack to Existing infrastructureIntegrating OpenStack to Existing infrastructure
Integrating OpenStack to Existing infrastructure
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
 
Repository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryRepository Management with JFrog Artifactory
Repository Management with JFrog Artifactory
 
Kubernetes for Enterprise DevOps
Kubernetes for Enterprise DevOpsKubernetes for Enterprise DevOps
Kubernetes for Enterprise DevOps
 
Replication Solutions for PostgreSQL
Replication Solutions for PostgreSQLReplication Solutions for PostgreSQL
Replication Solutions for PostgreSQL
 
DneprPy #0: Openstack
DneprPy #0: OpenstackDneprPy #0: Openstack
DneprPy #0: Openstack
 
ICON: Intelligent Container Overlays
ICON: Intelligent Container OverlaysICON: Intelligent Container Overlays
ICON: Intelligent Container Overlays
 
Pablo Chico de Guzman | Introducción a Docker y Kubernetes | Codemotion Madri...
Pablo Chico de Guzman | Introducción a Docker y Kubernetes | Codemotion Madri...Pablo Chico de Guzman | Introducción a Docker y Kubernetes | Codemotion Madri...
Pablo Chico de Guzman | Introducción a Docker y Kubernetes | Codemotion Madri...
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Release
 
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
 
Eclipse Apricot
Eclipse ApricotEclipse Apricot
Eclipse Apricot
 
Docker
DockerDocker
Docker
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
 
Adjusting carbon topology to match high availability scenario requirements
Adjusting carbon topology to match high availability scenario requirements   Adjusting carbon topology to match high availability scenario requirements
Adjusting carbon topology to match high availability scenario requirements
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
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
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Eclipse Virgo

  • 1. Eclipse Virgo Glyn Normington 1
  • 2. Agenda • What is Virgo? • Externals • Concepts • How can I get involved? 2
  • 3. What is Virgo? • “Dynamic Enterprise Application Platform” • Based on SpringSource dm Server 2.0 • Not to be confused with Spring DM • Objectives: • Better OSGi platform • Migration of Java EE apps • Modular and extensible 3
  • 4. Problems Virgo Solves • Groups bundles into manageable units • Enables the use of existing open source libraries • TCCL, LTW, implicit package use • Provisions from repositories • Extensive diagnostics • resolution failure, deadlock, delayed services 4
  • 5. Virgo and EclipseRT Virgo Gemini web web container kernel blueprint ... ... Equinox Spring 5
  • 6. Virgo Externals Admin startup.sh -clean console service wrapper JMX client /pickup Virgo Shell /config /serviceability 6
  • 7. Artifacts Regions Plans Virgo Concepts Pipelines Repositories 7
  • 9. Artifacts • Identified by type, name, version • Types: • bundle - OSGi bundle • configuration - properties file • plan - list of artifacts • ... 9
  • 11. Plans • XML • List artifacts by type, name, version range • Scoping • Atomicity • PARs • Contain artifacts • Scoped, atomic 11
  • 12. Scoping Synthetic Context A B A B Y X 12
  • 14. Repositories • Artifacts indexed by type, name, version • Supports queries e.g. by version range • Repository types: • External • Watched • Remote • Repositories may be chained 14
  • 15. Repository Chaining remote 15
  • 16. Pipelines 16
  • 17. Pipelines install transform quasiInstall resolve quasiResolve commit 17
  • 18. Regions 18
  • 19. Regions User Region services packages services Kernel Region 19
  • 20. How can I get involved? 20
  • 21. Current Status • Renaming & relicensing underway • IP scrutiny ready to begin • Baseline release is the goal 21
  • 22. Roles • Casual user • Expert user • Contributor • Committer 22
  • 23. Committer Skills • Know or willing to learn: • Clean architecture & code • Unit and integration testing • Concurrency • (Deep) OSGi • git, ant, ivy, etc. 23
  • 24. Work Areas • Developer docs & wiki • Jetty adapter • Regions and nested frameworks • p2 integration • More server types • Integration, batch, ECF, ... 24
  • 25. Further Information • Virgo Community Launch BoF • Today 7.15pm in Tasman • Application Models for OSGi BoF - Wed. • http://www.eclipse.org/virgo • Join us in the forum and dev list • #VirgoRT • http://www.springsource.org/dmserver • Download dm Server 2.0 and try it out 25

Hinweis der Redaktion

  1. dm Server open source project at v2.0 Associated Eclipse tooling: Plugin Development Environment Web Tools Platform
  2. Server runtime for EclipseRT Kernel for application deployment and management
  3. Compare Equinox shell /pickup deployed and started Interesting events Method entry/exit (via aspect) Asserts Unchecked exceptions (via aspect) Deadlocks Resolution failures - N.B. RFD JMX dump request Event log messages: Component, number, severity. I18N Log messages: Global and per-application logging Dumps: Resolver state, thread stacks, heap, in-memory log, ...
  4. Fluffy thought-bubbles - nothing to do with cloud computing!
  5. Bundles include WARs Configuration artifacts mapped into Config. Admin. deploy: install and start
  6. Prevent interference between applications Scopes bundles, packages, and services Synthetic context bundle acts as TCCL for library calls Scope acts as boundary for LTW Y cannot access A and B
  7. External repo: deep, configurable pattern Watched repo: flat
  8. Remote refers to repo hosted by Virgo web server Remote repo caches index Chain defines a search order (query)
  9. transform stage drives Transformer extensions Transform tree of artifacts (metadata, file content) InstallArtifactLifecycleListener driven for each artifact lifecycle event
  10. Built on Equinox nested frameworks Enables different versions of Spring
  11. Tooling -> WTP, PDE