SlideShare a Scribd company logo
1 of 10
Introducing OSGi technology to existing
projects
Nils Hofseth Andersen
Managing Consultant
Capgemini
| Technology Services
In collaboration with
About this Short Talk
 Experiences from projects Capgemini has done in
collaboration with StatoilHydro. 3 months project
experience condensed to less that 10 minutes.
 So in one hand you have your existing project. In the other
hand you have OSGi technology. Where to go from there?
Which challenges to expect?
| Technology Services
In collaboration with
First: Why did we introduce OSGi?
Client
Information
Systems
 Several Swing rich client applications – working with data from several
information systems. The need for modularity/isolation on the client
increases.
 By using Equinox we’re one step towards a transition to Eclipse RCP
| Technology Services
In collaboration with
Reorganizing the source code
“System”
v2.1
Logistics
Client
v1.0
Logistics
Domain
v1.1
Client
Framework
v2.1
Operations
Client
v2.0
 We split the system into components, based on high level
functionality, which we wanted to be version able
independently of each other
 This typically means reorganizing the source code in the
source code control system.
 If your system contains parts which are highly cohesive with
little coupling, this is easy. Otherwise…
| Technology Services
In collaboration with
One thing to keep in mind
 A few large components means less flexibility
 Many small components means high administrative overhead
Complexity/Adm
Component Size
| Technology Services
In collaboration with
Refactoring the source code
Client Framework
Modules (bundles)
 From static linking of modules
– to dynamic discovery of bundles (extender model)
 Reduced couplings between the framework / modules
| Technology Services
In collaboration with
Build System
 Moved from Ant to Maven+Ant
• Mainly due to
 Better versioning and dependency support
 A standard repository for several concurrent versions of our components
• Also started using the pom files as our main project definitions, and
to generate Eclipse project files from the pom files.
 Not using PDE, but rather bundleize the code during the
build with BND.
Component, e.g.
“Accounting”
BND
properties
Bundles
Maven
| Technology Services
In collaboration with
Testing & Deployment
 More emphasis on integration testing in order to verify the
bundle configurations (Manifests). Our applications are
Spring based (even the clients), so we can use Spring
Dynamic Modules for integration testing.
 We are still using Java Web Start for the client applications,
but the JNLP files needs to be modified since the client runs
in an OSGi container.
 So far the deployments on the server side has not changed
much. The server code is packaged as web applications, so
WebSphere takes care of the isolation required.
| Technology Services
In collaboration with
Changes for the Developers
 We wanted to make OSGi usage as transparent as possible
• Maximize time spent on solving business problems
• Minimize time spent on technical complexities
• Not using PDE in our kind of projects
 One reason OSGi “hiding” works for us is that we have very
similar public interfaces for all the client modules, and little
need for individual tuning of the Manifests.
 Currently more changes has risen from the switch from Ant
to Maven / POM’s
| Technology Services
In collaboration with
Summary
 Most areas of the software development environment
needed modification
 Code changes was kept to a minimum, mostly thanks to the
fact that our code already was fairly modular. Parts of the
client framework had to be enhanced to handle the dynamic
nature of OSGi.
 Our goal is to benefit from OSGi on the client side without
directly interacting with it, similar to how we indirectly use
OSGi on WebSphere 6.1.

More Related Content

What's hot

Super slideshow 2
Super slideshow 2Super slideshow 2
Super slideshow 2
zhangxw205
 
API First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipelineAPI First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipeline
Pronovix
 

What's hot (20)

Polyglot Persistence in Azure
Polyglot Persistence in AzurePolyglot Persistence in Azure
Polyglot Persistence in Azure
 
Introducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the Cloud
Introducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the CloudIntroducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the Cloud
Introducing "PaaS in a Box" – Scalable, Flexible, Portable PHP in the Cloud
 
Scribe insight 04 insight 7.9.0
Scribe insight 04   insight 7.9.0Scribe insight 04   insight 7.9.0
Scribe insight 04 insight 7.9.0
 
Responsive Ui with Realtime Database
Responsive Ui with Realtime DatabaseResponsive Ui with Realtime Database
Responsive Ui with Realtime Database
 
Case Study: Integration Automation Create Delightful API Docs
Case Study: Integration Automation Create Delightful API DocsCase Study: Integration Automation Create Delightful API Docs
Case Study: Integration Automation Create Delightful API Docs
 
Scribe insight 02 need for speed
Scribe insight 02   need for speedScribe insight 02   need for speed
Scribe insight 02 need for speed
 
Scribe insight 03 elevating performance
Scribe insight 03   elevating performanceScribe insight 03   elevating performance
Scribe insight 03 elevating performance
 
Angular Is Better Enterprise Level Applications
Angular Is Better Enterprise Level ApplicationsAngular Is Better Enterprise Level Applications
Angular Is Better Enterprise Level Applications
 
Modifying and Extending the ESB Toolkit
Modifying and Extending the ESB ToolkitModifying and Extending the ESB Toolkit
Modifying and Extending the ESB Toolkit
 
Resume
ResumeResume
Resume
 
Azure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreAzure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and more
 
Super slideshow 2
Super slideshow 2Super slideshow 2
Super slideshow 2
 
Gib azure sap
Gib   azure sapGib   azure sap
Gib azure sap
 
2019-01-8 - Consumer Driven Contracts at Codefreeze
2019-01-8 - Consumer Driven Contracts at Codefreeze2019-01-8 - Consumer Driven Contracts at Codefreeze
2019-01-8 - Consumer Driven Contracts at Codefreeze
 
Scribe online 02 event based integration
Scribe online 02   event based integrationScribe online 02   event based integration
Scribe online 02 event based integration
 
The citizen integrator
The citizen integratorThe citizen integrator
The citizen integrator
 
Gengo Jaws Days Tokyo 2014 Presentation
Gengo Jaws Days Tokyo  2014 PresentationGengo Jaws Days Tokyo  2014 Presentation
Gengo Jaws Days Tokyo 2014 Presentation
 
API First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipelineAPI First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipeline
 
Scribe insight 01 publisher deep dive
Scribe insight 01   publisher deep diveScribe insight 01   publisher deep dive
Scribe insight 01 publisher deep dive
 
Scribe online 01 best practices for sol performance
Scribe online 01   best practices for sol performanceScribe online 01   best practices for sol performance
Scribe online 01 best practices for sol performance
 

Viewers also liked

31 la generosidad-andres
31 la generosidad-andres31 la generosidad-andres
31 la generosidad-andres
Andres797
 
29 nociones de power point andres
29 nociones de power point andres29 nociones de power point andres
29 nociones de power point andres
Andres797
 
31 ébola andres
31 ébola andres31 ébola andres
31 ébola andres
Andres797
 
Socratic Presentation_JWW
Socratic Presentation_JWWSocratic Presentation_JWW
Socratic Presentation_JWW
pappy76
 

Viewers also liked (17)

Procés d’adequació a la normativa de protecció de dades personals
Procés d’adequació a la normativa de protecció de dades personalsProcés d’adequació a la normativa de protecció de dades personals
Procés d’adequació a la normativa de protecció de dades personals
 
Plano de representação no Brasil para operadores estrangeiros
Plano de representação no Brasil para operadores estrangeirosPlano de representação no Brasil para operadores estrangeiros
Plano de representação no Brasil para operadores estrangeiros
 
31 la generosidad-andres
31 la generosidad-andres31 la generosidad-andres
31 la generosidad-andres
 
29 nociones de power point andres
29 nociones de power point andres29 nociones de power point andres
29 nociones de power point andres
 
Somnath City Plots For resale,8459137252
Somnath City Plots For resale,8459137252Somnath City Plots For resale,8459137252
Somnath City Plots For resale,8459137252
 
GLOBALISATION IN INDIA - GATEWAYS AND PITFALLS
GLOBALISATION IN INDIA - GATEWAYS AND PITFALLSGLOBALISATION IN INDIA - GATEWAYS AND PITFALLS
GLOBALISATION IN INDIA - GATEWAYS AND PITFALLS
 
31 ébola andres
31 ébola andres31 ébola andres
31 ébola andres
 
Socratic Presentation_JWW
Socratic Presentation_JWWSocratic Presentation_JWW
Socratic Presentation_JWW
 
14 cognicion-musical
14 cognicion-musical14 cognicion-musical
14 cognicion-musical
 
Teaching with the Socratic Method - American Honors Faculty Conference 2016
Teaching with the Socratic Method - American Honors Faculty Conference 2016Teaching with the Socratic Method - American Honors Faculty Conference 2016
Teaching with the Socratic Method - American Honors Faculty Conference 2016
 
Què necessites per complir la llei de protecció de dades personals
Què necessites per complir la llei de protecció de dades personalsQuè necessites per complir la llei de protecció de dades personals
Què necessites per complir la llei de protecció de dades personals
 
Com complir la Llei de protecció de dades
Com complir la Llei de protecció de dadesCom complir la Llei de protecció de dades
Com complir la Llei de protecció de dades
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Application configuration in containers
Application configuration in containersApplication configuration in containers
Application configuration in containers
 
Devops
DevopsDevops
Devops
 
09 mapas-cognitivos
09 mapas-cognitivos09 mapas-cognitivos
09 mapas-cognitivos
 
La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...
La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...
La normativa de accesibilidad en CLM: balance de su aplicación y cambios prev...
 

Similar to Introducing OSGi Technology to Existing Projects - Nils Hofseth Andersen

!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
GangTingFan
 

Similar to Introducing OSGi Technology to Existing Projects - Nils Hofseth Andersen (20)

Size as an Advantage: How Big Enterprises Can Move Fast
Size as an Advantage: How Big Enterprises Can Move FastSize as an Advantage: How Big Enterprises Can Move Fast
Size as an Advantage: How Big Enterprises Can Move Fast
 
Multi-Cloud Lightweight Platform as a Service
Multi-Cloud Lightweight Platform as a ServiceMulti-Cloud Lightweight Platform as a Service
Multi-Cloud Lightweight Platform as a Service
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the Cloud
 
DevOps Case Studies
DevOps Case StudiesDevOps Case Studies
DevOps Case Studies
 
App Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptxApp Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptx
 
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
 
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform
 
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd PfefferDelivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
 
How to Make Money Solving 5 Major Problems of Cloud Hosting Customers
How to Make Money Solving 5 Major Problems of Cloud Hosting CustomersHow to Make Money Solving 5 Major Problems of Cloud Hosting Customers
How to Make Money Solving 5 Major Problems of Cloud Hosting Customers
 
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
apidays LIVE Paris 2021 - Synchronous Communication Patterns by Sébastien Ber...
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Modernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDBModernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDB
 
Seminar Modernizing Your Development Using Microservices, Container & Kubernetes
Seminar Modernizing Your Development Using Microservices, Container & KubernetesSeminar Modernizing Your Development Using Microservices, Container & Kubernetes
Seminar Modernizing Your Development Using Microservices, Container & Kubernetes
 
POST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGPOST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTING
 
Lunar Way and the Cloud Native "stack"
Lunar Way and the Cloud Native "stack"Lunar Way and the Cloud Native "stack"
Lunar Way and the Cloud Native "stack"
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservices
 
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
 

More from 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
 
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
 
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
 

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

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Introducing OSGi Technology to Existing Projects - Nils Hofseth Andersen

  • 1. Introducing OSGi technology to existing projects Nils Hofseth Andersen Managing Consultant Capgemini
  • 2. | Technology Services In collaboration with About this Short Talk  Experiences from projects Capgemini has done in collaboration with StatoilHydro. 3 months project experience condensed to less that 10 minutes.  So in one hand you have your existing project. In the other hand you have OSGi technology. Where to go from there? Which challenges to expect?
  • 3. | Technology Services In collaboration with First: Why did we introduce OSGi? Client Information Systems  Several Swing rich client applications – working with data from several information systems. The need for modularity/isolation on the client increases.  By using Equinox we’re one step towards a transition to Eclipse RCP
  • 4. | Technology Services In collaboration with Reorganizing the source code “System” v2.1 Logistics Client v1.0 Logistics Domain v1.1 Client Framework v2.1 Operations Client v2.0  We split the system into components, based on high level functionality, which we wanted to be version able independently of each other  This typically means reorganizing the source code in the source code control system.  If your system contains parts which are highly cohesive with little coupling, this is easy. Otherwise…
  • 5. | Technology Services In collaboration with One thing to keep in mind  A few large components means less flexibility  Many small components means high administrative overhead Complexity/Adm Component Size
  • 6. | Technology Services In collaboration with Refactoring the source code Client Framework Modules (bundles)  From static linking of modules – to dynamic discovery of bundles (extender model)  Reduced couplings between the framework / modules
  • 7. | Technology Services In collaboration with Build System  Moved from Ant to Maven+Ant • Mainly due to  Better versioning and dependency support  A standard repository for several concurrent versions of our components • Also started using the pom files as our main project definitions, and to generate Eclipse project files from the pom files.  Not using PDE, but rather bundleize the code during the build with BND. Component, e.g. “Accounting” BND properties Bundles Maven
  • 8. | Technology Services In collaboration with Testing & Deployment  More emphasis on integration testing in order to verify the bundle configurations (Manifests). Our applications are Spring based (even the clients), so we can use Spring Dynamic Modules for integration testing.  We are still using Java Web Start for the client applications, but the JNLP files needs to be modified since the client runs in an OSGi container.  So far the deployments on the server side has not changed much. The server code is packaged as web applications, so WebSphere takes care of the isolation required.
  • 9. | Technology Services In collaboration with Changes for the Developers  We wanted to make OSGi usage as transparent as possible • Maximize time spent on solving business problems • Minimize time spent on technical complexities • Not using PDE in our kind of projects  One reason OSGi “hiding” works for us is that we have very similar public interfaces for all the client modules, and little need for individual tuning of the Manifests.  Currently more changes has risen from the switch from Ant to Maven / POM’s
  • 10. | Technology Services In collaboration with Summary  Most areas of the software development environment needed modification  Code changes was kept to a minimum, mostly thanks to the fact that our code already was fairly modular. Parts of the client framework had to be enhanced to handle the dynamic nature of OSGi.  Our goal is to benefit from OSGi on the client side without directly interacting with it, similar to how we indirectly use OSGi on WebSphere 6.1.