SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
OSGi for the earthlings:
                      meet eclipse libra
                      Naci Dai (@nacidai)


eteration
Human                                            OSGi?
                         nature?   Rounded
  Pointed
    Ears                             Ears




    Fully supported by
    USS Enterprise                              Eclipse PDE / WTP

                                   http://xeobits.com/internet/humor-internet/2-cents-for-
                                   programmers-funny-one/



eteration
Five Levels of OSGi (Alex Blewit)

         Can’t possibly work               Cannot see my class                       why this uses constraint                    How do I load a JDBC driver?                Bundle Enlightenment
         OSGi is written by IBM?           ClassNotFoundException? It                fails                                       How can I map JNDI                          Declarative services
         I don’t use Eclipse               is there                                  Can’t we start the services                 references to data sources?                 Remote Services
                                           These classes are the same                in order                                    My custom Log4J logger
         OSGi is too complex                                                                                                                                                 Dynamically update code on
                                           but aren’t?                               Works on Equinox but not                    does not work?                              servers
                                           javax.swing is not there                  Felix                                       Write a Manifest manually?                  Tweets about OSGi
Denial




                                                                                                                                                                Acceptance
                                   Anger




                                                                        Bargaining




                                                                                                                    Depression
                                           hibernate is not working?                 Let there be a Stack                        Is there a bundle for Apache
                                                                                     Overflow answer for                         Beanutils
                                                                                     NoClassDefFoundError ...
                                                                                     •
                                                                                     resolution:=optional, please
                                                                                     just start




eteration
JavaEE: If the shoe does not fit
    Tightly coupled
      hardwired

    Not Dynamic
      Restarts with every deploy

    Isolation
        No sharing
        Common libraries etc.        xflickrx, Flickr Creative Commons

        Version conflicts
        Hierarchical class-loading


eteration
OSGi The New Java Enterprise
   The fictional version



       Web
               JPA            Modules

                                                   Subsystems, WABs, JPA, Blueprint, Na
                                                                ming, …




    Transa   JNDI
                         Dynamic   Services
    ctions



        Java EE
        Goodies
                     +        OSGi
                                              =     OSGi
                                                  Enterprise
                             Goodies


eteration
OSGi Enterprise Applications
    OSGi programming model
        Proven, standards-based
        Dynamic
        Modular
        Manageable
        Ubiquitous
        Evolvable

    Enterprise Infrastructure
      Persistence, Transactions, Distributed, Management, Namin
       g, …

                     A whole new generation of Enterprise Applications
eteration
Enterprise OSGi


                  Hello Client App   Hello Server App
Subsystems                                               bundle
& Services                                               dynamic
(.ssa archives)
                                                        subsystems




Target                     Gemini
Frameworks
                  Eclipse Equinox     Apache Felix



eteration
OSGi Tools                           • Too many/Not enough tools
                                        • Different Philosophies
                                            • OSGi Transparent
    Development Tools                      • Generate Manifests
                                        • OSGi Frameworks are tricky
      Eclipse Libra
                                            • Launching
        Eclipse PDE                        • Installing
        Eclipse WTP                        • Etc.
        Eclipse Virgo Tools
      BndTools
      IBM Rational Development Tools
       for OSGi Applications
        Silent, still alive???

    Builds
      Maven Tycho
      PDE Builds


eteration
Meet Eclipse Libra
    Tools for OSGi Enterprise Development


                                             WTP




                                             PDE




                                              Tools
eteration
Libra Tools Scope
             Frameworks             Standards & Technologies

                      Aries             Blueprint
         Virgo
                                   OSGi          JPA
           EclipseLink Jetty                           Subsystems
                                           OBR
                                  JavaEE
   IN




         Gemini           Felix                  Web
         Equinox     Tomcat         Declarative Services


          WebSphere(Liberty)           PARs
                                              EABs
   OUT




                 uJOnAS
                     WebLogic



eteration
What is in the Juno Release
    OSGi Bundle Facet                  Framework Editor
                                            Refactoring from Virgo Tools
    WAR Products                           Server Console
    OSGi Framework Adapters                Bundle Overview
      Adapted from WTP servers             Dependency Graphs
      Launch configurations            PROVISIONAL
      Support for Apache                 Bundle Projects
       Felix, Eclipse Equinox and
       Knopflerfish                       Manifest Editor
      Gemini / Apache Aries
      Virgo tools not yet ported!
        Manifest Editor / OBR /
          Adapter / Blueprint Editor


eteration
Bundle Projects
    OSGi Bundle Facet
      PDE / WTP project types
      Versioned

    Tools can add more
     behavior




eteration
Framework Adapters
    Vanilla OSGi Frameworks
      Eclipse Equinox, Apache
       Felix, Knopflerfish

    Eclipse RT (with above)
        Gemini
        Virgo
        EclipseLink
        Jetty
        …

    Apache Aries (with above)

eteration
BundleOverview
    Part of framework Editor
      List and control all bundles




eteration
Bundle Dependency View
    Graphical representation of bundle dependencies
      Drill-downs




eteration
Server Console
    Similar to console shells




eteration
Bundle Repository Browser
    (Virgo) Resolves bundles from OBRs
      Spring Enterprise Bundle Repository




eteration
War Products
   •   Equinox running in a JavaEE server in bridged mode

   •   Add your plugins to a Product Definition that exports a
       WAR file
       •   Includes all necessary plugins and deployment files (web.xml)




eteration
demo(s)
   You can watch the Video tutorials online...
   http://www.eclipse.org/libra/documentation/video/

      Launchers and Declerative Services

      Gemini Web

      Http Service and WAR Products




eteration
Resources
    http://eclipse.org/libra

    Contact
       Twitter: @nacidai
       Email:   naci@eteration.com




eteration

Contenu connexe

Tendances

3장. Garbage Collection
3장. Garbage Collection3장. Garbage Collection
3장. Garbage Collection김 한도
 
6장 Thread Synchronization
6장 Thread Synchronization6장 Thread Synchronization
6장 Thread Synchronization김 한도
 
Executable requirements: BDD with easyb and JDave
Executable requirements: BDD with easyb and JDaveExecutable requirements: BDD with easyb and JDave
Executable requirements: BDD with easyb and JDaveJohn Ferguson Smart Limited
 
Fun with SQL
Fun with SQLFun with SQL
Fun with SQLeggyknap
 
5장. Execution Engine
5장. Execution Engine5장. Execution Engine
5장. Execution Engine김 한도
 
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseGEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseYoann Rodiere
 

Tendances (6)

3장. Garbage Collection
3장. Garbage Collection3장. Garbage Collection
3장. Garbage Collection
 
6장 Thread Synchronization
6장 Thread Synchronization6장 Thread Synchronization
6장 Thread Synchronization
 
Executable requirements: BDD with easyb and JDave
Executable requirements: BDD with easyb and JDaveExecutable requirements: BDD with easyb and JDave
Executable requirements: BDD with easyb and JDave
 
Fun with SQL
Fun with SQLFun with SQL
Fun with SQL
 
5장. Execution Engine
5장. Execution Engine5장. Execution Engine
5장. Execution Engine
 
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseGEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
 

Similaire à EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse Libra

Designing a play framework application
Designing a play framework applicationDesigning a play framework application
Designing a play framework applicationVulcanMinds
 
Introduction to EclipseRT (JAX 2010)
Introduction to EclipseRT (JAX 2010)Introduction to EclipseRT (JAX 2010)
Introduction to EclipseRT (JAX 2010)Chris Aniszczyk
 
Testability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableTestability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableAlexander Tarlinder
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationArun Gupta
 
The Forces Driving Java
The Forces Driving JavaThe Forces Driving Java
The Forces Driving JavaSteve Elliott
 
An introduction to OSGi
An introduction to OSGi An introduction to OSGi
An introduction to OSGi Andrea Chiodoni
 
JVM: A Platform for Multiple Languages
JVM: A Platform for Multiple LanguagesJVM: A Platform for Multiple Languages
JVM: A Platform for Multiple LanguagesKris Mok
 
[Challenge:Future] Chocoholic
[Challenge:Future] Chocoholic [Challenge:Future] Chocoholic
[Challenge:Future] Chocoholic Challenge:Future
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011Arun Gupta
 
Challenges in Maintaining a High Performance Search Engine Written in Java
Challenges in Maintaining a High Performance Search Engine Written in JavaChallenges in Maintaining a High Performance Search Engine Written in Java
Challenges in Maintaining a High Performance Search Engine Written in Javalucenerevolution
 
Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedSteve Dalton
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGiIlya Rybak
 
The OSGi Framework Multiplication
The OSGi Framework MultiplicationThe OSGi Framework Multiplication
The OSGi Framework MultiplicationClément Escoffier
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the CloudArun Gupta
 
High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...Vladimir Bacvanski, PhD
 
OSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worldsOSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worldsArun Gupta
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010Arun Gupta
 
Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceWebsphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceIBM WebSphereIndia
 
OSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFishOSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFishArun Gupta
 

Similaire à EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse Libra (20)

Designing a play framework application
Designing a play framework applicationDesigning a play framework application
Designing a play framework application
 
Introduction to EclipseRT (JAX 2010)
Introduction to EclipseRT (JAX 2010)Introduction to EclipseRT (JAX 2010)
Introduction to EclipseRT (JAX 2010)
 
Testability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableTestability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testable
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE Application
 
The Forces Driving Java
The Forces Driving JavaThe Forces Driving Java
The Forces Driving Java
 
An introduction to OSGi
An introduction to OSGi An introduction to OSGi
An introduction to OSGi
 
JVM: A Platform for Multiple Languages
JVM: A Platform for Multiple LanguagesJVM: A Platform for Multiple Languages
JVM: A Platform for Multiple Languages
 
Java Starting
Java StartingJava Starting
Java Starting
 
[Challenge:Future] Chocoholic
[Challenge:Future] Chocoholic [Challenge:Future] Chocoholic
[Challenge:Future] Chocoholic
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
 
Challenges in Maintaining a High Performance Search Engine Written in Java
Challenges in Maintaining a High Performance Search Engine Written in JavaChallenges in Maintaining a High Performance Search Engine Written in Java
Challenges in Maintaining a High Performance Search Engine Written in Java
 
Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggerated
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGi
 
The OSGi Framework Multiplication
The OSGi Framework MultiplicationThe OSGi Framework Multiplication
The OSGi Framework Multiplication
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
 
High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...
 
OSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worldsOSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worlds
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
 
Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceWebsphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open Source
 
OSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFishOSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFish
 

Dernier

ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 

Dernier (20)

ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 

EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse Libra

  • 1. OSGi for the earthlings: meet eclipse libra Naci Dai (@nacidai) eteration
  • 2. Human OSGi? nature? Rounded Pointed Ears Ears Fully supported by USS Enterprise Eclipse PDE / WTP http://xeobits.com/internet/humor-internet/2-cents-for- programmers-funny-one/ eteration
  • 3. Five Levels of OSGi (Alex Blewit) Can’t possibly work Cannot see my class why this uses constraint How do I load a JDBC driver? Bundle Enlightenment OSGi is written by IBM? ClassNotFoundException? It fails How can I map JNDI Declarative services I don’t use Eclipse is there Can’t we start the services references to data sources? Remote Services These classes are the same in order My custom Log4J logger OSGi is too complex Dynamically update code on but aren’t? Works on Equinox but not does not work? servers javax.swing is not there Felix Write a Manifest manually? Tweets about OSGi Denial Acceptance Anger Bargaining Depression hibernate is not working? Let there be a Stack Is there a bundle for Apache Overflow answer for Beanutils NoClassDefFoundError ... • resolution:=optional, please just start eteration
  • 4. JavaEE: If the shoe does not fit  Tightly coupled  hardwired  Not Dynamic  Restarts with every deploy  Isolation  No sharing  Common libraries etc. xflickrx, Flickr Creative Commons  Version conflicts  Hierarchical class-loading eteration
  • 5. OSGi The New Java Enterprise The fictional version Web JPA Modules Subsystems, WABs, JPA, Blueprint, Na ming, … Transa JNDI Dynamic Services ctions Java EE Goodies + OSGi = OSGi Enterprise Goodies eteration
  • 6. OSGi Enterprise Applications  OSGi programming model  Proven, standards-based  Dynamic  Modular  Manageable  Ubiquitous  Evolvable  Enterprise Infrastructure  Persistence, Transactions, Distributed, Management, Namin g, … A whole new generation of Enterprise Applications eteration
  • 7. Enterprise OSGi Hello Client App Hello Server App Subsystems bundle & Services dynamic (.ssa archives) subsystems Target Gemini Frameworks Eclipse Equinox Apache Felix eteration
  • 8. OSGi Tools • Too many/Not enough tools • Different Philosophies • OSGi Transparent  Development Tools • Generate Manifests • OSGi Frameworks are tricky  Eclipse Libra • Launching  Eclipse PDE • Installing  Eclipse WTP • Etc.  Eclipse Virgo Tools  BndTools  IBM Rational Development Tools for OSGi Applications  Silent, still alive???  Builds  Maven Tycho  PDE Builds eteration
  • 9. Meet Eclipse Libra  Tools for OSGi Enterprise Development WTP PDE Tools eteration
  • 10. Libra Tools Scope Frameworks Standards & Technologies Aries Blueprint Virgo OSGi JPA EclipseLink Jetty Subsystems OBR JavaEE IN Gemini Felix Web Equinox Tomcat Declarative Services WebSphere(Liberty) PARs EABs OUT uJOnAS WebLogic eteration
  • 11. What is in the Juno Release  OSGi Bundle Facet  Framework Editor  Refactoring from Virgo Tools  WAR Products  Server Console  OSGi Framework Adapters  Bundle Overview  Adapted from WTP servers  Dependency Graphs  Launch configurations  PROVISIONAL  Support for Apache  Bundle Projects Felix, Eclipse Equinox and Knopflerfish  Manifest Editor  Gemini / Apache Aries  Virgo tools not yet ported!  Manifest Editor / OBR / Adapter / Blueprint Editor eteration
  • 12. Bundle Projects  OSGi Bundle Facet  PDE / WTP project types  Versioned  Tools can add more behavior eteration
  • 13. Framework Adapters  Vanilla OSGi Frameworks  Eclipse Equinox, Apache Felix, Knopflerfish  Eclipse RT (with above)  Gemini  Virgo  EclipseLink  Jetty  …  Apache Aries (with above) eteration
  • 14. BundleOverview  Part of framework Editor  List and control all bundles eteration
  • 15. Bundle Dependency View  Graphical representation of bundle dependencies  Drill-downs eteration
  • 16. Server Console  Similar to console shells eteration
  • 17. Bundle Repository Browser  (Virgo) Resolves bundles from OBRs  Spring Enterprise Bundle Repository eteration
  • 18. War Products • Equinox running in a JavaEE server in bridged mode • Add your plugins to a Product Definition that exports a WAR file • Includes all necessary plugins and deployment files (web.xml) eteration
  • 19. demo(s) You can watch the Video tutorials online... http://www.eclipse.org/libra/documentation/video/ Launchers and Declerative Services Gemini Web Http Service and WAR Products eteration
  • 20. Resources  http://eclipse.org/libra  Contact Twitter: @nacidai Email: naci@eteration.com eteration