SlideShare a Scribd company logo
1 of 27
Download to read offline
June 10-11, 2008 Berlin, Germany
Spring Dynamic Modules
by example
Martin Lippert
Gerd Wütherich
2
•! Spring
•! Overview of the Spring framework
•! A short example
•! Spring Dynamic Modules
•! Overview of Spring DM
•! A short example
•! What‘s new in Spring DM 1.1?
•! Websupport
•! A short example
Agenda
3
Simple
Object
Simple
Object
Portable Service Abstractions
Key Spring Concepts
4
The Heart of Spring
•! Lightweight container
•! Full stack, simple object based application development
•! Works in any environment
•! web-app, ejb, integration test, standalone
•! Provides…
•! a powerful object factory that manages the instantiation,
configuration, decoration and assembly of business objects
5
Spring Framework
•! Dependency injection
•! Aspect Oriented Programming support
•! Technology abstractions
•! Integration with persistence technologies (JDBC, Hibernate)
•! Web application support Spring MVC, JSF and Struts
•! Enterprise service abstractions
•! Transactions
•! Messaging
6
Spring: An Example
•! The Order Service…
•! … can be used to place a stock order for a customer.
•! … is accessible via RMI.
•! The Customer Service…
•! … can be used to retrieve customer information.
7
Intermediate result
•! Spring simplifies the development of enterprise
applications
•! “De facto standard for JEE development”
8
Spring Dynamic Modules for OSGi
Service Platforms
•! Formerly known as „Spring-OSGi“
•! An open source project in the Spring portfolio
•! led by SpringSource
•! committers from BEA and Oracle
•! http://www.springframework.org/osgi
•! Allows to implement Spring Applications on top of an
OSGi framework
•! Works with Equinox, Felix, Knopflerfish
9
Project Objectives
•! Bring the benefits of OSGi:
•! modularity
•! versioning
•! lifecycle support
•! To Spring-based enterprise application development
10
Challenges
•! Complexity
•! Bring the simplicity of POJOs to OSGi
•! Integrate with OSGi service model
•! Spring beans <==> OSGi services
•! Testing
•! Enable testing without OSGi container
•! No dependencies on OSGi APIs
•! Allow people to use all the Spring technology
abstractions
10
1111
The Spring OSGi Modell
12
•! Application context per bundle:
•! Spring DM creates and destroys the application context
when the bundle is started or stopped
•! META-INF/spring/*.xml or Spring-Context header in
MANIFEST.MF
Bundles und Spring
12
13
Beans as OSGi Services
•! Spring beans can be exported as OSGi Services
•! (no dependencies on OSGi Service Registry API)
13
<bean name="customerService"
class="com.wuetherich.osgi.customerservice.impl.CustomerServiceImpl"/>
<osgi:service id="customerServiceOsgi"
ref="customerService"
interface="com.wuetherich.osgi.customerservice.CustomerService"/>
14
OSGi Services as Beans
•! OSGi Services can be imported and integrated as beans
•! (again no dependencies on OSGi Service Registry API)
14
<osgi:reference id="customerServiceOsgi"
interface="com.wuetherich.osgi.customerservice.CustomerService"/>
<bean id="orderService"
class="com.wuetherich.osgi.orderservice.internal.OrderServiceImpl">
<property name="customerService">
<ref local="customerServiceOsgi"/>
</property>
</bean>
15
Spring DM by Example
15
16
Further Possibilities
•! Cardinality
•! Relationship between imported OSGi Services and the
representing bean (1..1, 0..1, 1..n, 0..n)
•! Service Listener
•! Informs about service changes
•! <osgi:property-placeholder>
•! Refer to properties from the ConfigAdmin service
•! <osgi:bundle>
•! Refers to the OSGi bundle object
•! <osgi:virtual-bundle>
•! Install a virtual OSGi bundle on the fly (testing)
16
17
Results
•! No OSGi API programming necessary
•! Spring POJO programming model
•! Visibilities of spring beans controllable via service
exports and imports
•! Dependency injection across bundles
•! Dynamic service handling made easier
17
18
Spring-DM Web Support
•! Focus of Spring DM 1.1
•! Currently under development
•! Integration of existing spring web support with Spring DM
•! Web applications with OSGi
•! Different deployment scenarios possible
19
OSGi-based web apps – part 1
•! Scenario 1: OSGi embedded into web app
20
OSGi-based web apps – part 2
•! Scenario 2: Web container embedded into OSGi
21
The Spring DM way…
22
Web applications as Bundles
<context-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.osgi.web.context.
support.OsgiBundleXmlWebApplicationContext</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
•! „Regular“ WAR files
•! Additional Bundle-Manifest
•! web.xml shows, how Spring DM is integrated
23
Spring DM Web Support by Example
24
Even more Spring… !
•! All the Spring features for clients as well
•! Eclipse-RCP, for example
•! Integration with Equinox Extension Registry model
possible
•! Dependency injection for extension objects, for example
•! http://www.martinlippert.org/
24
25
Outlook
•! More information:
•! http://www.springframework.org/osgi
•! http://groups.google.com/group/spring-osgi
•! http://www.springframework.org/osgi/specification
•! Spring Dynamic Modules tutorial:
•! http://www.eclipsecon.org/2008/?page=sub/&id=495
25
26
Die OSGi Service Platform –
Eine Einführung mit Eclipse Equinox
•! Detailed introduction into
OSGi
•! April 2008, dpunkt.verlag
•! ISBN 978-3-89864-457-0
•! Already available!!!
•! (but German only at the
moment…)
27
Thank you!!!
•! … for your attention!!!
•! Q&A
•! martin.lippert@akquinet.de
•! gerd@gerd-wuetherich.de
27

More Related Content

What's hot

Modular Architectures using Micro Services
Modular Architectures using Micro ServicesModular Architectures using Micro Services
Modular Architectures using Micro ServicesMarcel Offermans
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSAOracle Korea
 
WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh? WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh? Anton Weiss
 
Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
Modularity, Microservices and Containerisation - Neil Bartlett, Derek BaumModularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baummfrancis
 
Let's play with adf 3.0
Let's play with adf 3.0Let's play with adf 3.0
Let's play with adf 3.0Eugenio Romano
 
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
12 Factor Apps and Cloud Foundry - Twin Cities Code CampDavid Strebel
 
Spring framework 5: New Core and Reactive features
Spring framework 5: New Core and Reactive featuresSpring framework 5: New Core and Reactive features
Spring framework 5: New Core and Reactive featuresAliaksei Zhynhiarouski
 
High available BizTalk infrastructure on Azure IaaS
High available BizTalk infrastructure on Azure IaaSHigh available BizTalk infrastructure on Azure IaaS
High available BizTalk infrastructure on Azure IaaSBizTalk360
 
Building a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX PlusBuilding a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX PlusNGINX, Inc.
 
Cloud Native Microservices with Spring Cloud
Cloud Native Microservices with Spring CloudCloud Native Microservices with Spring Cloud
Cloud Native Microservices with Spring CloudConor Svensson
 
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)Will Huang
 
Connecting All Abstractions with Istio
Connecting All Abstractions with IstioConnecting All Abstractions with Istio
Connecting All Abstractions with IstioVMware Tanzu
 
Introducing the WSO2 Developer Studio Tools for SOA Developers
Introducing the WSO2 Developer Studio   Tools for SOA DevelopersIntroducing the WSO2 Developer Studio   Tools for SOA Developers
Introducing the WSO2 Developer Studio Tools for SOA DevelopersWSO2
 
Mastering Microservices with Kong (CodeMotion 2019)
Mastering Microservices with Kong (CodeMotion 2019)Mastering Microservices with Kong (CodeMotion 2019)
Mastering Microservices with Kong (CodeMotion 2019)Maarten Mulders
 
Microservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSMicroservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSDenis Danov
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET CoreMiroslav Popovic
 
Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...
Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...
Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...NaimishKakkad2
 

What's hot (20)

Modular Architectures using Micro Services
Modular Architectures using Micro ServicesModular Architectures using Micro Services
Modular Architectures using Micro Services
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh? WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh?
 
Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
Modularity, Microservices and Containerisation - Neil Bartlett, Derek BaumModularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
 
Let's play with adf 3.0
Let's play with adf 3.0Let's play with adf 3.0
Let's play with adf 3.0
 
Bring api manager into your stack
Bring api manager into your stackBring api manager into your stack
Bring api manager into your stack
 
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
 
Mini-Training Owin Katana
Mini-Training Owin KatanaMini-Training Owin Katana
Mini-Training Owin Katana
 
Spring framework 5: New Core and Reactive features
Spring framework 5: New Core and Reactive featuresSpring framework 5: New Core and Reactive features
Spring framework 5: New Core and Reactive features
 
High available BizTalk infrastructure on Azure IaaS
High available BizTalk infrastructure on Azure IaaSHigh available BizTalk infrastructure on Azure IaaS
High available BizTalk infrastructure on Azure IaaS
 
Building a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX PlusBuilding a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX Plus
 
Cloud Native Microservices with Spring Cloud
Cloud Native Microservices with Spring CloudCloud Native Microservices with Spring Cloud
Cloud Native Microservices with Spring Cloud
 
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
 
Connecting All Abstractions with Istio
Connecting All Abstractions with IstioConnecting All Abstractions with Istio
Connecting All Abstractions with Istio
 
Introducing the WSO2 Developer Studio Tools for SOA Developers
Introducing the WSO2 Developer Studio   Tools for SOA DevelopersIntroducing the WSO2 Developer Studio   Tools for SOA Developers
Introducing the WSO2 Developer Studio Tools for SOA Developers
 
Mastering Microservices with Kong (CodeMotion 2019)
Mastering Microservices with Kong (CodeMotion 2019)Mastering Microservices with Kong (CodeMotion 2019)
Mastering Microservices with Kong (CodeMotion 2019)
 
Swagger code motion talk
Swagger code motion talkSwagger code motion talk
Swagger code motion talk
 
Microservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSMicroservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSS
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET Core
 
Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...
Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...
Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...
 

Viewers also liked

OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application DevelopmentChristian Baranowski
 
Microservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafMicroservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafAchim Nierbeck
 
Example of arrogance in quran the story of qarun and haman
Example of arrogance in quran the story of qarun and haman Example of arrogance in quran the story of qarun and haman
Example of arrogance in quran the story of qarun and haman Amel Hope
 
Wow... great, good work.... &lt;a href="http://kampanyedamaipemiluindone...
Wow... great, good work....      &lt;a href="http://kampanyedamaipemiluindone...Wow... great, good work....      &lt;a href="http://kampanyedamaipemiluindone...
Wow... great, good work.... &lt;a href="http://kampanyedamaipemiluindone...kampanyedamai
 
Simon's task 1 samples
Simon's task 1 samplesSimon's task 1 samples
Simon's task 1 samplesKhoa Đăng
 
Logistics. Example
Logistics. ExampleLogistics. Example
Logistics. ExampleSSA KPI
 
Film analysis | The Hunger Games | Wilbur Wright College
Film analysis | The Hunger Games | Wilbur Wright CollegeFilm analysis | The Hunger Games | Wilbur Wright College
Film analysis | The Hunger Games | Wilbur Wright CollegeLuciana Medina Pereira
 
Sample learning plan in English 1
Sample learning plan in English 1Sample learning plan in English 1
Sample learning plan in English 1PEAC FAPE Region 3
 
Samples of good resumes
Samples of good resumesSamples of good resumes
Samples of good resumesmorristont
 
Penyebab, Penanggulangan, dan Dampak Banjir
Penyebab, Penanggulangan, dan Dampak BanjirPenyebab, Penanggulangan, dan Dampak Banjir
Penyebab, Penanggulangan, dan Dampak BanjirMahdif Indiarto
 
Example script for moderator
Example script for moderatorExample script for moderator
Example script for moderatorAde Johan
 
Team Building PowerPoint PPT Content Modern Sample
Team Building PowerPoint PPT Content Modern SampleTeam Building PowerPoint PPT Content Modern Sample
Team Building PowerPoint PPT Content Modern SampleAndrew Schwartz
 
Human & Social Biology - Sample Project on 'The Impact of Heath Practices on ...
Human & Social Biology - Sample Project on 'The Impact of Heath Practices on ...Human & Social Biology - Sample Project on 'The Impact of Heath Practices on ...
Human & Social Biology - Sample Project on 'The Impact of Heath Practices on ...Raheme Matthie
 
Rewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API EconomyRewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API EconomyTim Pettersen
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
 

Viewers also liked (20)

OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application Development
 
Microservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafMicroservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karaf
 
Immigration, Women, and Children: Part II – Sample Situations
Immigration, Women, and Children: Part II – Sample Situations Immigration, Women, and Children: Part II – Sample Situations
Immigration, Women, and Children: Part II – Sample Situations
 
Example of arrogance in quran the story of qarun and haman
Example of arrogance in quran the story of qarun and haman Example of arrogance in quran the story of qarun and haman
Example of arrogance in quran the story of qarun and haman
 
Wow... great, good work.... &lt;a href="http://kampanyedamaipemiluindone...
Wow... great, good work....      &lt;a href="http://kampanyedamaipemiluindone...Wow... great, good work....      &lt;a href="http://kampanyedamaipemiluindone...
Wow... great, good work.... &lt;a href="http://kampanyedamaipemiluindone...
 
Dampak erosi
Dampak erosiDampak erosi
Dampak erosi
 
Simon's task 1 samples
Simon's task 1 samplesSimon's task 1 samples
Simon's task 1 samples
 
Logistics. Example
Logistics. ExampleLogistics. Example
Logistics. Example
 
Film analysis | The Hunger Games | Wilbur Wright College
Film analysis | The Hunger Games | Wilbur Wright CollegeFilm analysis | The Hunger Games | Wilbur Wright College
Film analysis | The Hunger Games | Wilbur Wright College
 
Example of a unified paragraph
Example of a unified paragraphExample of a unified paragraph
Example of a unified paragraph
 
Reflection activity examples
Reflection activity examplesReflection activity examples
Reflection activity examples
 
E-passport example
E-passport exampleE-passport example
E-passport example
 
Sample learning plan in English 1
Sample learning plan in English 1Sample learning plan in English 1
Sample learning plan in English 1
 
Samples of good resumes
Samples of good resumesSamples of good resumes
Samples of good resumes
 
Penyebab, Penanggulangan, dan Dampak Banjir
Penyebab, Penanggulangan, dan Dampak BanjirPenyebab, Penanggulangan, dan Dampak Banjir
Penyebab, Penanggulangan, dan Dampak Banjir
 
Example script for moderator
Example script for moderatorExample script for moderator
Example script for moderator
 
Team Building PowerPoint PPT Content Modern Sample
Team Building PowerPoint PPT Content Modern SampleTeam Building PowerPoint PPT Content Modern Sample
Team Building PowerPoint PPT Content Modern Sample
 
Human & Social Biology - Sample Project on 'The Impact of Heath Practices on ...
Human & Social Biology - Sample Project on 'The Impact of Heath Practices on ...Human & Social Biology - Sample Project on 'The Impact of Heath Practices on ...
Human & Social Biology - Sample Project on 'The Impact of Heath Practices on ...
 
Rewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API EconomyRewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API Economy
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
 

Similar to Spring Dynamic Modules for OSGi by Example - Martin Lippert, Consultant

WebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEAWebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEAmfrancis
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applicationsJulien Dubois
 
Overview of SharePoint Framework (SPFx)
Overview of SharePoint Framework (SPFx)Overview of SharePoint Framework (SPFx)
Overview of SharePoint Framework (SPFx)Małgorzata Borzęcka
 
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...IncQuery Labs
 
OSGi Community Event 2010 - A Crash Course in OSGi Application Development
OSGi Community Event 2010 - A Crash Course in OSGi Application DevelopmentOSGi Community Event 2010 - A Crash Course in OSGi Application Development
OSGi Community Event 2010 - A Crash Course in OSGi Application Developmentmfrancis
 
OSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixOSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixMarcel Offermans
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to MicroservicesKyle Brown
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)湯米吳 Tommy Wu
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareRitwik Das
 
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentOSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentSanjeeb Sahoo
 
White Paper : ASP.NET Core AngularJs 2 and Prime
White Paper : ASP.NET Core AngularJs 2 and PrimeWhite Paper : ASP.NET Core AngularJs 2 and Prime
White Paper : ASP.NET Core AngularJs 2 and PrimeHamida Rebai Trabelsi
 
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...mfrancis
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...LetsConnect
 
Web worker in your angular application
Web worker in your angular applicationWeb worker in your angular application
Web worker in your angular applicationSuresh Patidar
 
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDESAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDEMarkus Van Kempen
 
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industry
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industryCombining WSO2 API Manager with WSO2 BAM for billing in the energy industry
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industryWSO2
 
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entitySpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entityjordigilnieto
 

Similar to Spring Dynamic Modules for OSGi by Example - Martin Lippert, Consultant (20)

Java Spring
Java SpringJava Spring
Java Spring
 
WebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEAWebLogic Event Server - Alexandre Alves, BEA
WebLogic Event Server - Alexandre Alves, BEA
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
 
Overview of SharePoint Framework (SPFx)
Overview of SharePoint Framework (SPFx)Overview of SharePoint Framework (SPFx)
Overview of SharePoint Framework (SPFx)
 
SPFx (SharePoint Framework)
SPFx (SharePoint Framework)SPFx (SharePoint Framework)
SPFx (SharePoint Framework)
 
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
 
OSGi Community Event 2010 - A Crash Course in OSGi Application Development
OSGi Community Event 2010 - A Crash Course in OSGi Application DevelopmentOSGi Community Event 2010 - A Crash Course in OSGi Application Development
OSGi Community Event 2010 - A Crash Course in OSGi Application Development
 
OSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixOSGi on Google Android using Apache Felix
OSGi on Google Android using Apache Felix
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to Microservices
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
 
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentOSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
 
White Paper : ASP.NET Core AngularJs 2 and Prime
White Paper : ASP.NET Core AngularJs 2 and PrimeWhite Paper : ASP.NET Core AngularJs 2 and Prime
White Paper : ASP.NET Core AngularJs 2 and Prime
 
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
 
Web worker in your angular application
Web worker in your angular applicationWeb worker in your angular application
Web worker in your angular application
 
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDESAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
 
Mule ESB Intro
Mule ESB IntroMule ESB Intro
Mule ESB Intro
 
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industry
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industryCombining WSO2 API Manager with WSO2 BAM for billing in the energy industry
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industry
 
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entitySpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
 

More from mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

More from mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Spring Dynamic Modules for OSGi by Example - Martin Lippert, Consultant

  • 1. June 10-11, 2008 Berlin, Germany Spring Dynamic Modules by example Martin Lippert Gerd Wütherich
  • 2. 2 •! Spring •! Overview of the Spring framework •! A short example •! Spring Dynamic Modules •! Overview of Spring DM •! A short example •! What‘s new in Spring DM 1.1? •! Websupport •! A short example Agenda
  • 4. 4 The Heart of Spring •! Lightweight container •! Full stack, simple object based application development •! Works in any environment •! web-app, ejb, integration test, standalone •! Provides… •! a powerful object factory that manages the instantiation, configuration, decoration and assembly of business objects
  • 5. 5 Spring Framework •! Dependency injection •! Aspect Oriented Programming support •! Technology abstractions •! Integration with persistence technologies (JDBC, Hibernate) •! Web application support Spring MVC, JSF and Struts •! Enterprise service abstractions •! Transactions •! Messaging
  • 6. 6 Spring: An Example •! The Order Service… •! … can be used to place a stock order for a customer. •! … is accessible via RMI. •! The Customer Service… •! … can be used to retrieve customer information.
  • 7. 7 Intermediate result •! Spring simplifies the development of enterprise applications •! “De facto standard for JEE development”
  • 8. 8 Spring Dynamic Modules for OSGi Service Platforms •! Formerly known as „Spring-OSGi“ •! An open source project in the Spring portfolio •! led by SpringSource •! committers from BEA and Oracle •! http://www.springframework.org/osgi •! Allows to implement Spring Applications on top of an OSGi framework •! Works with Equinox, Felix, Knopflerfish
  • 9. 9 Project Objectives •! Bring the benefits of OSGi: •! modularity •! versioning •! lifecycle support •! To Spring-based enterprise application development
  • 10. 10 Challenges •! Complexity •! Bring the simplicity of POJOs to OSGi •! Integrate with OSGi service model •! Spring beans <==> OSGi services •! Testing •! Enable testing without OSGi container •! No dependencies on OSGi APIs •! Allow people to use all the Spring technology abstractions 10
  • 12. 12 •! Application context per bundle: •! Spring DM creates and destroys the application context when the bundle is started or stopped •! META-INF/spring/*.xml or Spring-Context header in MANIFEST.MF Bundles und Spring 12
  • 13. 13 Beans as OSGi Services •! Spring beans can be exported as OSGi Services •! (no dependencies on OSGi Service Registry API) 13 <bean name="customerService" class="com.wuetherich.osgi.customerservice.impl.CustomerServiceImpl"/> <osgi:service id="customerServiceOsgi" ref="customerService" interface="com.wuetherich.osgi.customerservice.CustomerService"/>
  • 14. 14 OSGi Services as Beans •! OSGi Services can be imported and integrated as beans •! (again no dependencies on OSGi Service Registry API) 14 <osgi:reference id="customerServiceOsgi" interface="com.wuetherich.osgi.customerservice.CustomerService"/> <bean id="orderService" class="com.wuetherich.osgi.orderservice.internal.OrderServiceImpl"> <property name="customerService"> <ref local="customerServiceOsgi"/> </property> </bean>
  • 15. 15 Spring DM by Example 15
  • 16. 16 Further Possibilities •! Cardinality •! Relationship between imported OSGi Services and the representing bean (1..1, 0..1, 1..n, 0..n) •! Service Listener •! Informs about service changes •! <osgi:property-placeholder> •! Refer to properties from the ConfigAdmin service •! <osgi:bundle> •! Refers to the OSGi bundle object •! <osgi:virtual-bundle> •! Install a virtual OSGi bundle on the fly (testing) 16
  • 17. 17 Results •! No OSGi API programming necessary •! Spring POJO programming model •! Visibilities of spring beans controllable via service exports and imports •! Dependency injection across bundles •! Dynamic service handling made easier 17
  • 18. 18 Spring-DM Web Support •! Focus of Spring DM 1.1 •! Currently under development •! Integration of existing spring web support with Spring DM •! Web applications with OSGi •! Different deployment scenarios possible
  • 19. 19 OSGi-based web apps – part 1 •! Scenario 1: OSGi embedded into web app
  • 20. 20 OSGi-based web apps – part 2 •! Scenario 2: Web container embedded into OSGi
  • 22. 22 Web applications as Bundles <context-param> <param-name>contextClass</param-name> <param-value>org.springframework.osgi.web.context. support.OsgiBundleXmlWebApplicationContext</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> •! „Regular“ WAR files •! Additional Bundle-Manifest •! web.xml shows, how Spring DM is integrated
  • 23. 23 Spring DM Web Support by Example
  • 24. 24 Even more Spring… ! •! All the Spring features for clients as well •! Eclipse-RCP, for example •! Integration with Equinox Extension Registry model possible •! Dependency injection for extension objects, for example •! http://www.martinlippert.org/ 24
  • 25. 25 Outlook •! More information: •! http://www.springframework.org/osgi •! http://groups.google.com/group/spring-osgi •! http://www.springframework.org/osgi/specification •! Spring Dynamic Modules tutorial: •! http://www.eclipsecon.org/2008/?page=sub/&id=495 25
  • 26. 26 Die OSGi Service Platform – Eine Einführung mit Eclipse Equinox •! Detailed introduction into OSGi •! April 2008, dpunkt.verlag •! ISBN 978-3-89864-457-0 •! Already available!!! •! (but German only at the moment…)
  • 27. 27 Thank you!!! •! … for your attention!!! •! Q&A •! martin.lippert@akquinet.de •! gerd@gerd-wuetherich.de 27