SlideShare una empresa de Scribd logo
1 de 20
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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Similar a OSGi for the 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
 

Similar a OSGi for the 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
 

Último

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Último (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

OSGi for the 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