OSGi as Enterprise Integration Platform

D
DPC Consulting LtdDPC Consulting Ltd
OSGi
as Enterprise Integration Platform
Elek Márton
@anzix
2014 September
DPC Consulting
Agenda
Typical question:
JavaEE or Spring based application?
Our question:
Is the OSGi good enough for a third way?
● What is OSGi
– Classpath separation
– Service definitions
– Lifecycle
● How does an OSGi application server looks like?
– Felix, Karaf, ServiceMix
– JBoss Fuse, Fabric8.io
OSGi
What is OSGi
● Modular system and service platform for Java
– Specification (similar to J2EE)
– Ecosystem (eg. exams are announced at 2014.09)
● Jigsaw vs. OSGi interoperability ????
– (PoC: project penrose)
OSGi R1 2000.05
OSGi R2 2001.10
OSGi R3 2003.03
OSGi R4 2005.10
OSGi R4.1,4.2,4.3 2009.09-2011.04
OSGi R5 2012.06
J2EE 1.2 1999.12
J2EE 1.3 2001.09
J2EE 1.4 2003.11
JavaEE 5 2006.05
JavaEE 6 2009.12
JavaEE 7 2013.06
● OSGi runtime is collection of bundles
● Bundle:
– Plain old jar file
– With plain old META-INF/MANIFEST.MF
● With OSGi specific entries in the manifes
OSGi bundle
Classpath separation
● Package based
● Bundles explicitly
imports and exports packages
– META-INF/MANIFEST.MF
Bundle1
Export-Package: hu.dpc.helloworld
;version="1.0.0"
Bundle2
Import-Package: hu.dpc.helloworld
;version="1.0.0"
Lifecycle management
● Every bundle has a lifecycle.
● Activator in
META-INF/MANIFEST.MF
Bundle-Name: Hello World
Bundle-SymbolicName: hu.dpc.helloworld
Bundle-Activator: hu.dpc.Activator
Service definition
● API to publish/use implementation for a specific
interface
– With optional metadata set
● Programmatic API: there are extensions to use
declarative approach
– blueprint
– DS (declarative services
● Main set of useful interfaces
– Logging, Config Admin, Http, ...
Runtime container
Apach Felix
OSGi container
Apache Karaf
Apach Felix
OSGi container
Hibernate
Spring
CXF
● Hot deployment
● Dynamic configuration
○ (etc/*.properties -> OSGi config API)
● Provisioning (feature definition)
● KAR archive
● More advanced shell
● Instance management
○ Parent container/Child container
○ The binaries are shared
Apache Karaf
Apach Felix
OSGi container
Apache ServiceMix
Hibernate
Spring
CXF
Camel ServiceMix
● Hot deployment
● Dynamic configuration
○ (etc/*.properties -> OSGi config API)
● Provisioning (feature definition)
● KAR archive
● More advanced shell
● Instance management
○ Parent container/Child container
○ The binaries are shared
Apache Karaf
Apach Felix
OSGi container
Apache ServiceMix
JBoss Fuse
● Clustering / auto provisioning
● Microservice management
Hibernate
Spring
CXF
Fabric
Camel ServiceMix
● Hot deployment
● Dynamic configuration
○ (etc/*.properties -> OSGi config API)
● Provisioning (feature definition)
● KAR archive
● More advanced shell
● Instance management
○ Parent container/Child container
○ The binaries are shared
Apache Karaf
Apach Felix
OSGi container
Apache ServiceMix
JBoss Fuse / FABRIC8.IO
● Clustering / auto provisioning
● Microservice management
Hibernate
Spring
CXF
Fabric
Camel ServiceMix
● Hot deployment
● Dynamic configuration
○ (etc/*.properties -> OSGi config API)
● Provisioning (feature definition)
● KAR archive
● More advanced shell
● Instance management
○ Parent container/Child container
○ The binaries are shared
Summary
● Third way with own strength and weakness
● Strength
– Modularity, Modularity, Modularity
● Classloader separation
● Lifecycle management
● Service producer/consumer pattern
– Well defined standard service APIs
– More control to fine tune the integration
● Weakness
– Additional complexity even if the classloader separation
and the lifecycle management is not needed
– Many different project should be used together
– DIY environment, everything is possible, but more
knowledge needed about the platform.
Q&A
1 of 16

Recommended

LNUG - A year with AWS by
LNUG - A year with AWSLNUG - A year with AWS
LNUG - A year with AWSAndrew Clarke
556 views35 slides
OSGi Community Update by
OSGi Community UpdateOSGi Community Update
OSGi Community UpdateOSGiUsers
1.3K views29 slides
JS Lab`16. Андрей Колодницкий: "Разработка REST сервисов на SailsJS" by
JS Lab`16. Андрей Колодницкий: "Разработка REST сервисов на SailsJS"JS Lab`16. Андрей Колодницкий: "Разработка REST сервисов на SailsJS"
JS Lab`16. Андрей Колодницкий: "Разработка REST сервисов на SailsJS"GeeksLab Odessa
272 views27 slides
Performance Web by
Performance WebPerformance Web
Performance WebRodolfo Fadino Junior
2.7K views15 slides
Virtualizing MongoDB: Cloud, EC2, OpenStack, VMs...or Dedicated? by
Virtualizing MongoDB: Cloud, EC2, OpenStack, VMs...or Dedicated?Virtualizing MongoDB: Cloud, EC2, OpenStack, VMs...or Dedicated?
Virtualizing MongoDB: Cloud, EC2, OpenStack, VMs...or Dedicated?MongoDB
3.2K views81 slides
Deployments with rails by
Deployments with railsDeployments with rails
Deployments with railsGourav Tiwari
292 views12 slides

More Related Content

What's hot

Openstack platform -Red Hat Pizza and technology event - Israel by
Openstack platform -Red Hat Pizza and technology event - IsraelOpenstack platform -Red Hat Pizza and technology event - Israel
Openstack platform -Red Hat Pizza and technology event - IsraelArthur Berezin
1.2K views26 slides
Server side caching Vs other alternatives by
Server side caching Vs other alternativesServer side caching Vs other alternatives
Server side caching Vs other alternativesBappaditya Sinha
370 views10 slides
How We Made Scylla Maintenance Easier, Safer and Faster by
How We Made Scylla Maintenance Easier, Safer and FasterHow We Made Scylla Maintenance Easier, Safer and Faster
How We Made Scylla Maintenance Easier, Safer and FasterScyllaDB
586 views25 slides
Introducing ASP.NET vNext by
Introducing ASP.NET vNextIntroducing ASP.NET vNext
Introducing ASP.NET vNextBruce Johnson
1K views26 slides
Cncf meetup kubespray by
Cncf meetup kubesprayCncf meetup kubespray
Cncf meetup kubesprayJuraj Hantak
116 views11 slides
HLayer / Kubernetes for CI/CD by
HLayer / Kubernetes for CI/CDHLayer / Kubernetes for CI/CD
HLayer / Kubernetes for CI/CDAymen EL Amri
96 views15 slides

What's hot(18)

Openstack platform -Red Hat Pizza and technology event - Israel by Arthur Berezin
Openstack platform -Red Hat Pizza and technology event - IsraelOpenstack platform -Red Hat Pizza and technology event - Israel
Openstack platform -Red Hat Pizza and technology event - Israel
Arthur Berezin1.2K views
Server side caching Vs other alternatives by Bappaditya Sinha
Server side caching Vs other alternativesServer side caching Vs other alternatives
Server side caching Vs other alternatives
Bappaditya Sinha370 views
How We Made Scylla Maintenance Easier, Safer and Faster by ScyllaDB
How We Made Scylla Maintenance Easier, Safer and FasterHow We Made Scylla Maintenance Easier, Safer and Faster
How We Made Scylla Maintenance Easier, Safer and Faster
ScyllaDB586 views
Cncf meetup kubespray by Juraj Hantak
Cncf meetup kubesprayCncf meetup kubespray
Cncf meetup kubespray
Juraj Hantak116 views
HLayer / Kubernetes for CI/CD by Aymen EL Amri
HLayer / Kubernetes for CI/CDHLayer / Kubernetes for CI/CD
HLayer / Kubernetes for CI/CD
Aymen EL Amri96 views
Simple cloud reference architecture by DaeMyung Kang
Simple cloud reference architectureSimple cloud reference architecture
Simple cloud reference architecture
DaeMyung Kang1.4K views
MySQL 和 InnoDB 性能 by YUCHENG HU
MySQL 和 InnoDB 性能MySQL 和 InnoDB 性能
MySQL 和 InnoDB 性能
YUCHENG HU1.2K views
V mware2012 20121221_final by Web2Present
V mware2012 20121221_finalV mware2012 20121221_final
V mware2012 20121221_final
Web2Present418 views
Accelerating Time To Market with Sitecore & Helix by VarunNehra
Accelerating Time To Market with Sitecore & HelixAccelerating Time To Market with Sitecore & Helix
Accelerating Time To Market with Sitecore & Helix
VarunNehra114 views
WSO2Con USA 2015: Deployment Patterns and Capacity Planning by WSO2
WSO2Con USA 2015: Deployment Patterns and Capacity PlanningWSO2Con USA 2015: Deployment Patterns and Capacity Planning
WSO2Con USA 2015: Deployment Patterns and Capacity Planning
WSO2538 views
Ceph Day Santa Clara: Ceph and Apache CloudStack by Ceph Community
Ceph Day Santa Clara: Ceph and Apache CloudStack Ceph Day Santa Clara: Ceph and Apache CloudStack
Ceph Day Santa Clara: Ceph and Apache CloudStack
Ceph Community 430 views
Kkeithley ufonfs-gluster summit by Gluster.org
Kkeithley ufonfs-gluster summitKkeithley ufonfs-gluster summit
Kkeithley ufonfs-gluster summit
Gluster.org365 views
Dev-Jam 2019 - Developing OpenNMS on Apache Karaf by Ronny Trommer
Dev-Jam 2019 - Developing OpenNMS on Apache KarafDev-Jam 2019 - Developing OpenNMS on Apache Karaf
Dev-Jam 2019 - Developing OpenNMS on Apache Karaf
Ronny Trommer382 views
It's a Serverless World by Eran Stiller
It's a Serverless WorldIt's a Serverless World
It's a Serverless World
Eran Stiller142 views
OSOM - Operations in the Cloud by Marcela Oniga
OSOM - Operations in the CloudOSOM - Operations in the Cloud
OSOM - Operations in the Cloud
Marcela Oniga294 views
OSOM Operations in the Cloud by mstuparu
OSOM Operations in the CloudOSOM Operations in the Cloud
OSOM Operations in the Cloud
mstuparu402 views

Similar to OSGi as Enterprise Integration Platform

Karaf ee-apachecon eu-2012 by
Karaf ee-apachecon eu-2012Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012Charles Moulliard
6.2K views52 slides
OTN Developer Days - GlassFish by
OTN Developer Days - GlassFishOTN Developer Days - GlassFish
OTN Developer Days - GlassFishglassfish
908 views36 slides
GlassFish OSGi - Java2days 2010 by
GlassFish OSGi - Java2days 2010GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010Alexis Moussine-Pouchkine
693 views33 slides
OSGi and Java EE in GlassFish - Tech Days 2010 India by
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaOSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaArun Gupta
1K views27 slides
Modular Java applications with OSGi on Apache Karaf by
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafIoan Eugen Stan
1.9K views18 slides
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development by
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
2.8K views41 slides

Similar to OSGi as Enterprise Integration Platform(20)

OTN Developer Days - GlassFish by glassfish
OTN Developer Days - GlassFishOTN Developer Days - GlassFish
OTN Developer Days - GlassFish
glassfish908 views
OSGi and Java EE in GlassFish - Tech Days 2010 India by Arun Gupta
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaOSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 India
Arun Gupta1K views
Modular Java applications with OSGi on Apache Karaf by Ioan Eugen Stan
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache Karaf
Ioan Eugen Stan1.9K views
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development by Sanjeeb Sahoo
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
Sanjeeb Sahoo2.8K views
OSGi & Java EE in GlassFish by Sanjeeb Sahoo
OSGi & Java EE in GlassFishOSGi & Java EE in GlassFish
OSGi & Java EE in GlassFish
Sanjeeb Sahoo4.8K views
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010 by JUG Lausanne
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
JUG Lausanne1K views
Monoliths are so 2001 – What you need is Modularity by Graham Charters
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
Graham Charters543 views
Server-side OSGi with Apache Sling (OSGiDevCon 2011) by Felix Meschberger
Server-side OSGi with Apache Sling (OSGiDevCon 2011)Server-side OSGi with Apache Sling (OSGiDevCon 2011)
Server-side OSGi with Apache Sling (OSGiDevCon 2011)
Felix Meschberger1.7K views
GlassFish 3.1 at JCertif 2011 by Arun Gupta
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
Arun Gupta1.1K views
GlassFish Server 3.1: Deploying your Java EE 6 Applications by Arun Gupta
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsGlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 Applications
Arun Gupta5.4K views
Boston 2011 OTN Developer Days - GlassFish by Arun Gupta
Boston 2011 OTN Developer Days - GlassFishBoston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFish
Arun Gupta744 views
OSGi and JavaScript - Simon Kaegi by mfrancis
OSGi and JavaScript - Simon KaegiOSGi and JavaScript - Simon Kaegi
OSGi and JavaScript - Simon Kaegi
mfrancis1.4K views
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011 by Arun Gupta
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Arun Gupta2.3K views

More from DPC Consulting Ltd

Scaling on AWS by
Scaling on AWSScaling on AWS
Scaling on AWSDPC Consulting Ltd
229 views27 slides
Jsonp coding dojo by
Jsonp coding dojoJsonp coding dojo
Jsonp coding dojoDPC Consulting Ltd
355 views23 slides
Microservices and modularity with java by
Microservices and modularity with javaMicroservices and modularity with java
Microservices and modularity with javaDPC Consulting Ltd
1.2K views48 slides
Garbage First Garbage Collector Algorithm by
Garbage First Garbage Collector AlgorithmGarbage First Garbage Collector Algorithm
Garbage First Garbage Collector AlgorithmDPC Consulting Ltd
589 views62 slides
Power tools in Java by
Power tools in JavaPower tools in Java
Power tools in JavaDPC Consulting Ltd
1K views51 slides
Két Java fejlesztő első Scala projektje by
Két Java fejlesztő első Scala projektjeKét Java fejlesztő első Scala projektje
Két Java fejlesztő első Scala projektjeDPC Consulting Ltd
1.1K views24 slides

Recently uploaded

Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...ShapeBlue
86 views25 slides
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...ShapeBlue
48 views17 slides
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
149 views7 slides
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
60 views21 slides
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
97 views28 slides
Ransomware is Knocking your Door_Final.pdf by
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
81 views46 slides

Recently uploaded(20)

Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue86 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue48 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue149 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue97 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue134 views
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... by ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue59 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson142 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue93 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue63 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue105 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue74 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue68 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue121 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue113 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue120 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue191 views

OSGi as Enterprise Integration Platform

  • 1. OSGi as Enterprise Integration Platform Elek Márton @anzix 2014 September DPC Consulting
  • 2. Agenda Typical question: JavaEE or Spring based application? Our question: Is the OSGi good enough for a third way? ● What is OSGi – Classpath separation – Service definitions – Lifecycle ● How does an OSGi application server looks like? – Felix, Karaf, ServiceMix – JBoss Fuse, Fabric8.io
  • 4. What is OSGi ● Modular system and service platform for Java – Specification (similar to J2EE) – Ecosystem (eg. exams are announced at 2014.09) ● Jigsaw vs. OSGi interoperability ???? – (PoC: project penrose) OSGi R1 2000.05 OSGi R2 2001.10 OSGi R3 2003.03 OSGi R4 2005.10 OSGi R4.1,4.2,4.3 2009.09-2011.04 OSGi R5 2012.06 J2EE 1.2 1999.12 J2EE 1.3 2001.09 J2EE 1.4 2003.11 JavaEE 5 2006.05 JavaEE 6 2009.12 JavaEE 7 2013.06
  • 5. ● OSGi runtime is collection of bundles ● Bundle: – Plain old jar file – With plain old META-INF/MANIFEST.MF ● With OSGi specific entries in the manifes OSGi bundle
  • 6. Classpath separation ● Package based ● Bundles explicitly imports and exports packages – META-INF/MANIFEST.MF Bundle1 Export-Package: hu.dpc.helloworld ;version="1.0.0" Bundle2 Import-Package: hu.dpc.helloworld ;version="1.0.0"
  • 7. Lifecycle management ● Every bundle has a lifecycle. ● Activator in META-INF/MANIFEST.MF Bundle-Name: Hello World Bundle-SymbolicName: hu.dpc.helloworld Bundle-Activator: hu.dpc.Activator
  • 8. Service definition ● API to publish/use implementation for a specific interface – With optional metadata set ● Programmatic API: there are extensions to use declarative approach – blueprint – DS (declarative services ● Main set of useful interfaces – Logging, Config Admin, Http, ...
  • 11. Apache Karaf Apach Felix OSGi container Hibernate Spring CXF ● Hot deployment ● Dynamic configuration ○ (etc/*.properties -> OSGi config API) ● Provisioning (feature definition) ● KAR archive ● More advanced shell ● Instance management ○ Parent container/Child container ○ The binaries are shared
  • 12. Apache Karaf Apach Felix OSGi container Apache ServiceMix Hibernate Spring CXF Camel ServiceMix ● Hot deployment ● Dynamic configuration ○ (etc/*.properties -> OSGi config API) ● Provisioning (feature definition) ● KAR archive ● More advanced shell ● Instance management ○ Parent container/Child container ○ The binaries are shared
  • 13. Apache Karaf Apach Felix OSGi container Apache ServiceMix JBoss Fuse ● Clustering / auto provisioning ● Microservice management Hibernate Spring CXF Fabric Camel ServiceMix ● Hot deployment ● Dynamic configuration ○ (etc/*.properties -> OSGi config API) ● Provisioning (feature definition) ● KAR archive ● More advanced shell ● Instance management ○ Parent container/Child container ○ The binaries are shared
  • 14. Apache Karaf Apach Felix OSGi container Apache ServiceMix JBoss Fuse / FABRIC8.IO ● Clustering / auto provisioning ● Microservice management Hibernate Spring CXF Fabric Camel ServiceMix ● Hot deployment ● Dynamic configuration ○ (etc/*.properties -> OSGi config API) ● Provisioning (feature definition) ● KAR archive ● More advanced shell ● Instance management ○ Parent container/Child container ○ The binaries are shared
  • 15. Summary ● Third way with own strength and weakness ● Strength – Modularity, Modularity, Modularity ● Classloader separation ● Lifecycle management ● Service producer/consumer pattern – Well defined standard service APIs – More control to fine tune the integration ● Weakness – Additional complexity even if the classloader separation and the lifecycle management is not needed – Many different project should be used together – DIY environment, everything is possible, but more knowledge needed about the platform.
  • 16. Q&A