SlideShare a Scribd company logo
Developing modular
applications with Java EE 6 and
       Enterprise OSGi
    ...and WebSphere V8.5 Liberty Profile



           Jacek Laskowski
                  jacek@japila.pl
                 @JacekLaskowski




                                           wersja 1.0, Riga, Latvia, 29.11.2012
About me
•   Java EE, OSGi and functional programming (Clojure, F# and Scala)
    enthusiast

•   Founder and leader of Warszawa Java User Group

•   Javarsovia, Confitura, warsjawa conference team member

•   Blogger of http://JacekLaskowski.pl

•   Blogger of http://blog.japila.pl

•   @JacekLaskowski

•   Member of Apache Software Foundation

•   Apache OpenEJB and TomEE committer

•   Member of IBM Academy of Technology

•   IBMer in World-wide WebSphere Competitive Migration Team
OSGi Blueprint

                 • Chapter 121
                 • Blueprint Container
                   Specification Version 1.0




                                         @JacekLaskowski
OSGi Blueprint defines a dependency
   injection framework, specifically for OSGi bundles,
    that understands the unique dynamic nature of services.

Bundles in this programming model contain a number of
  XML definition resources which are used by the Blueprint
 Container to wire the application together and start it when
                     the bundle is active.
OSGi Service Platform Release 4,Version 4.2 page 193




                                                       @JacekLaskowski
OSGi Blueprint




                 @JacekLaskowski
OSGi Blueprint
•   Dependency injection framework for OSGi bundles




                                                      @JacekLaskowski
OSGi Blueprint
•   Dependency injection framework for OSGi bundles

•   Programming model




                                                      @JacekLaskowski
OSGi Blueprint
•   Dependency injection framework for OSGi bundles

•   Programming model

    •   XML to define constituents




                                                      @JacekLaskowski
OSGi Blueprint
•   Dependency injection framework for OSGi bundles

•   Programming model

    •   XML to define constituents

•   Enterprise OSGi == OSGi Blueprint




                                                      @JacekLaskowski
OSGi Blueprint
•   Dependency injection framework for OSGi bundles

•   Programming model

    •   XML to define constituents

•   Enterprise OSGi == OSGi Blueprint

    •   For this presentation only




                                                      @JacekLaskowski
Blueprint bundle

          A bundle is a Blueprint bundle if
  it contains one or more blueprint XML definition
                        resources
        in the OSGI-INF/blueprint directory or
   it contains the Bundle-Blueprint manifest header
             referring to existing resources.




                                              @JacekLaskowski
Problems (to be?) solved




                           @JacekLaskowski
Problems (to be?) solved
How can
you know
 the type
  exists?
(visibility)




                           @JacekLaskowski
Problems (to be?) solved
 How can
 you know
  the type
   exists?
 (visibility)


   What
 about the
  available
 methods?
(versioning)
                            @JacekLaskowski
Problems (to be?) solved
 How can
 you know
  the type
   exists?
 (visibility)                How are
                             the parts
                            integrated?
   What
 about the
  available
 methods?
(versioning)
                              @JacekLaskowski
@JacekLaskowski
Demo Time

        @JacekLaskowski
Open questions




                 @JacekLaskowski
Open questions
•   Difference between Maven and OSGi Blueprint




                                                  @JacekLaskowski
Open questions
•   Difference between Maven and OSGi Blueprint

    •   build-time vs runtime




                                                  @JacekLaskowski
Open questions
•   Difference between Maven and OSGi Blueprint

    •   build-time vs runtime

    •   Maven brings the libs to the app and bundles them




                                                            @JacekLaskowski
Open questions
•   Difference between Maven and OSGi Blueprint

    •   build-time vs runtime

    •   Maven brings the libs to the app and bundles them

    •   Do you need to include the libs inside the app if they’re available at
        runtime?




                                                                          @JacekLaskowski
Thanks for listening
   Questions?

   @JacekLaskowski
    http://blog.japila.pl

More Related Content

PDF
Javantura v4 - Android App Development in 2017 - Matej Vidaković
PDF
Kotlin introduction
PDF
Enterprise build tool gradle
PPTX
WeCode IL: Confessions of a java developer that fell in love with the groovy...
PDF
Building the Web with Gradle
PPTX
Javaone 2013 moscow gradle english
PDF
Marko Berković
PDF
Neo4j + MongoDB. Neo4j Doc Manager for Mongo Connector - GraphConnect SF 2015
Javantura v4 - Android App Development in 2017 - Matej Vidaković
Kotlin introduction
Enterprise build tool gradle
WeCode IL: Confessions of a java developer that fell in love with the groovy...
Building the Web with Gradle
Javaone 2013 moscow gradle english
Marko Berković
Neo4j + MongoDB. Neo4j Doc Manager for Mongo Connector - GraphConnect SF 2015

What's hot (17)

PPTX
Neo4J and Grails
PDF
Javaone 2014
PPTX
OSGi with the Spring Framework
PPTX
GraphQL-ify your APIs - Devoxx UK 2021
PDF
Polyglot Persistence with MongoDB and Neo4j
PPT
Build tool
PDF
Swift: The Basics
PDF
Micro Frontends
PPTX
Polyglot
PPTX
Better java with design
PDF
There is something about JavaScript - Choose Forum 2014
PDF
Javascript toolkit
PPTX
Becoming fully buzzword compliant
PDF
Javantura v4 - Test-driven documentation with Spring REST Docs - Danijel Mitar
PDF
Javaone - Gradle: Harder, Better, Stronger, Faster
PDF
Morden F2E Education - Think of Progressive Web Apps
PDF
Gradle enabled android project
Neo4J and Grails
Javaone 2014
OSGi with the Spring Framework
GraphQL-ify your APIs - Devoxx UK 2021
Polyglot Persistence with MongoDB and Neo4j
Build tool
Swift: The Basics
Micro Frontends
Polyglot
Better java with design
There is something about JavaScript - Choose Forum 2014
Javascript toolkit
Becoming fully buzzword compliant
Javantura v4 - Test-driven documentation with Spring REST Docs - Danijel Mitar
Javaone - Gradle: Harder, Better, Stronger, Faster
Morden F2E Education - Think of Progressive Web Apps
Gradle enabled android project
Ad

Similar to Developing modular applications with Java EE 6 and Enterprise OSGi + WebSphere V8.5 Liberty Profile (20)

PPT
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
PDF
JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra
PDF
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
KEY
Introduction to EclipseRT (JAX 2010)
PDF
Many Bundles of Things - M Rulli
PDF
OSGi tech session
PPTX
PPTX
PDF
Modular Java EE in the Cloud
KEY
Apache, osgi and karaf par Guillaume Nodet
ODP
AS7/OSGi One Day Talk 2012
PDF
OSGi In Anger - Tara Simpson
PDF
Benefits of OSGi in Practise
KEY
Jug Poitou Charentes - Apache, OSGi and Karaf
PDF
Karaf ee-apachecon eu-2012
PPT
OSGi Overview TomTom DevDay May 2009
PDF
OSGi at eBay: JavaOne 2010
PPT
OSGi & Blueprint
PDF
Lessons learned from a large scale OSGi web app
PDF
Tales from the OSGi trenches
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Introduction to EclipseRT (JAX 2010)
Many Bundles of Things - M Rulli
OSGi tech session
Modular Java EE in the Cloud
Apache, osgi and karaf par Guillaume Nodet
AS7/OSGi One Day Talk 2012
OSGi In Anger - Tara Simpson
Benefits of OSGi in Practise
Jug Poitou Charentes - Apache, OSGi and Karaf
Karaf ee-apachecon eu-2012
OSGi Overview TomTom DevDay May 2009
OSGi at eBay: JavaOne 2010
OSGi & Blueprint
Lessons learned from a large scale OSGi web app
Tales from the OSGi trenches
Ad

More from Jacek Laskowski (11)

PDF
 Kafka Streams VS Spark Structured Streaming - Modern Stream Processing Engin...
PDF
Opening slides to Warsaw Scala FortyFives on Testing tools
PDF
#Be #social #FTW aka Your #Professional #Development with #StackOverflow #Git...
PDF
StackOverflow, GitHub, twitter, reddit i Twój profesjonalny rozwój
PDF
Introduction to Web Application Development in Clojure
PDF
Introduction to Functional Programming in Scala
PDF
Moje pierwsze kroki w programowaniu funkcyjnym w Scali
PDF
Functional web development with Git(Hub), Heroku and Clojure
PDF
Praktyczne wprowadzenie do OSGi i Enterprise OSGi
PDF
Apache Tomcat + Java EE = Apache TomEE
KEY
(map Clojure everyday-tasks)
 Kafka Streams VS Spark Structured Streaming - Modern Stream Processing Engin...
Opening slides to Warsaw Scala FortyFives on Testing tools
#Be #social #FTW aka Your #Professional #Development with #StackOverflow #Git...
StackOverflow, GitHub, twitter, reddit i Twój profesjonalny rozwój
Introduction to Web Application Development in Clojure
Introduction to Functional Programming in Scala
Moje pierwsze kroki w programowaniu funkcyjnym w Scali
Functional web development with Git(Hub), Heroku and Clojure
Praktyczne wprowadzenie do OSGi i Enterprise OSGi
Apache Tomcat + Java EE = Apache TomEE
(map Clojure everyday-tasks)

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
cuic standard and advanced reporting.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Cloud computing and distributed systems.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Electronic commerce courselecture one. Pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
cuic standard and advanced reporting.pdf
Understanding_Digital_Forensics_Presentation.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Encapsulation theory and applications.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation_ Review paper, used for researhc scholars
Diabetes mellitus diagnosis method based random forest with bat algorithm
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Cloud computing and distributed systems.
NewMind AI Weekly Chronicles - August'25 Week I
Electronic commerce courselecture one. Pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Digital-Transformation-Roadmap-for-Companies.pptx

Developing modular applications with Java EE 6 and Enterprise OSGi + WebSphere V8.5 Liberty Profile

  • 1. Developing modular applications with Java EE 6 and Enterprise OSGi ...and WebSphere V8.5 Liberty Profile Jacek Laskowski jacek@japila.pl @JacekLaskowski wersja 1.0, Riga, Latvia, 29.11.2012
  • 2. About me • Java EE, OSGi and functional programming (Clojure, F# and Scala) enthusiast • Founder and leader of Warszawa Java User Group • Javarsovia, Confitura, warsjawa conference team member • Blogger of http://JacekLaskowski.pl • Blogger of http://blog.japila.pl • @JacekLaskowski • Member of Apache Software Foundation • Apache OpenEJB and TomEE committer • Member of IBM Academy of Technology • IBMer in World-wide WebSphere Competitive Migration Team
  • 3. OSGi Blueprint • Chapter 121 • Blueprint Container Specification Version 1.0 @JacekLaskowski
  • 4. OSGi Blueprint defines a dependency injection framework, specifically for OSGi bundles, that understands the unique dynamic nature of services. Bundles in this programming model contain a number of XML definition resources which are used by the Blueprint Container to wire the application together and start it when the bundle is active. OSGi Service Platform Release 4,Version 4.2 page 193 @JacekLaskowski
  • 5. OSGi Blueprint @JacekLaskowski
  • 6. OSGi Blueprint • Dependency injection framework for OSGi bundles @JacekLaskowski
  • 7. OSGi Blueprint • Dependency injection framework for OSGi bundles • Programming model @JacekLaskowski
  • 8. OSGi Blueprint • Dependency injection framework for OSGi bundles • Programming model • XML to define constituents @JacekLaskowski
  • 9. OSGi Blueprint • Dependency injection framework for OSGi bundles • Programming model • XML to define constituents • Enterprise OSGi == OSGi Blueprint @JacekLaskowski
  • 10. OSGi Blueprint • Dependency injection framework for OSGi bundles • Programming model • XML to define constituents • Enterprise OSGi == OSGi Blueprint • For this presentation only @JacekLaskowski
  • 11. Blueprint bundle A bundle is a Blueprint bundle if it contains one or more blueprint XML definition resources in the OSGI-INF/blueprint directory or it contains the Bundle-Blueprint manifest header referring to existing resources. @JacekLaskowski
  • 12. Problems (to be?) solved @JacekLaskowski
  • 13. Problems (to be?) solved How can you know the type exists? (visibility) @JacekLaskowski
  • 14. Problems (to be?) solved How can you know the type exists? (visibility) What about the available methods? (versioning) @JacekLaskowski
  • 15. Problems (to be?) solved How can you know the type exists? (visibility) How are the parts integrated? What about the available methods? (versioning) @JacekLaskowski
  • 17. Demo Time @JacekLaskowski
  • 18. Open questions @JacekLaskowski
  • 19. Open questions • Difference between Maven and OSGi Blueprint @JacekLaskowski
  • 20. Open questions • Difference between Maven and OSGi Blueprint • build-time vs runtime @JacekLaskowski
  • 21. Open questions • Difference between Maven and OSGi Blueprint • build-time vs runtime • Maven brings the libs to the app and bundles them @JacekLaskowski
  • 22. Open questions • Difference between Maven and OSGi Blueprint • build-time vs runtime • Maven brings the libs to the app and bundles them • Do you need to include the libs inside the app if they’re available at runtime? @JacekLaskowski
  • 23. Thanks for listening Questions? @JacekLaskowski http://blog.japila.pl