SlideShare a Scribd company logo
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

More Related Content

What's hot

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
John Ferguson Smart Limited
 
Fun with SQL
Fun with SQLFun with SQL
Fun with SQL
eggyknap
 
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
Yoann Rodiere
 

What's hot (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 to 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 application
VulcanMinds
 
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 testable
Alexander 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 Application
Arun Gupta
 
The Forces Driving Java
The Forces Driving JavaThe Forces Driving Java
The Forces Driving Java
Steve 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 Languages
Kris Mok
 
Java Starting
Java StartingJava Starting
Java Starting
Raja Sekhar
 
[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 2011
Arun 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 Java
lucenerevolution
 
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
Steve Dalton
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGi
Ilya Rybak
 
The OSGi Framework Multiplication
The OSGi Framework MultiplicationThe OSGi Framework Multiplication
The OSGi Framework Multiplication
Clé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 Cloud
Arun 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 worlds
Arun 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 2010
Arun 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 Source
IBM 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 GlassFish
Arun Gupta
 

Similar to 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
 

Recently uploaded

OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 

Recently uploaded (20)

OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 

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