Mule+And+Os Gi+ +Travis+Carlson

Hendy Irawan
Hendy IrawanProgrammer at Bippo
OSGi and Mule
Travis Carlson




                 MuleCon San Francisco (March 27-28, 2007)
What is OSGi?

• Dynamic module system for Java


• A sort of Java OS


• SOA within your app!




                      MuleCon San Francisco (March 27-28, 2007)
Benefits of OSGi

   Plug & Play!


   Change parts of your app. dynamically without
   requiring restarts


   Components dynamically discover each other
   for collaboration


   Increased security: more isolation between
   modules of your app.

                   MuleCon San Francisco (March 27-28, 2007)
Industry Support

Plug-in model for Eclipse IDE (Equinox)


Embraced by Spring


IBM Websphere 6.1


JSR 291: Dynamic Component Support for Java
   – Supporters: Apache, BEA, IBM, Intel, Nokia, Nortel Networks




                           MuleCon San Francisco (March 27-28, 2007)
Benefits of OSGi for Mule

Hot deploy your Mule app just like you would a WAR file, EAR file,
  etc. in J2EE
                           Hot Deploy


A Mule config can use different versions of the same class

                       Change Management


Update and restart a part of your running Mule instance without
  having to restart all of it
                          High Availability



                           MuleCon San Francisco (March 27-28, 2007)
Benefits of OSGi for Mule


Separate classloader per bundle – not all of Mule has to depend
  on the same version of a 3rd party library

                      Dependency Mgmt.


Enabling technology for Patch Management in MuleHQ

                          Patch Mgmt.




                          MuleCon San Francisco (March 27-28, 2007)
How it works
     Mule runs within an “OSGi Framework”




                MuleCon San Francisco (March 27-28, 2007)
How it works

The Framework manages Bundles and Services:
   Bundles – static libraries, may or may not be
     startable/stoppable (via BundleActivator interface)
   Services – dynamic components managed by a
     registry similar to JNDI




                     MuleCon San Francisco (March 27-28, 2007)
Bundles
Each Mule module/transport is an OSGi “bundle”
  containing a special manifest file

The bundle manifest declares:
  – Packages provided by this bundle (static)
  – Services provided by this bundle (dynamic)
  – Required/optional packages (static dependencies)
  – Required/optional services (dynamic dependencies)


Both packages and services have a version
  associated which is useful for change
  management
                        MuleCon San Francisco (March 27-28, 2007)
Lifecycle

The framework manages bundles according to a
  well-defined lifecycle.




                  MuleCon San Francisco (March 27-28, 2007)
Lifecycle
The lifecycle state for each bundle is
  persistent in case of a system
  crash or restart       Failover

The framework keeps a timeline of
  each bundle's lifecycle events for
  sysadmins
                       Audit Trail

Bundles can be grouped into “run
  levels” (like Unix services) and
  brought up/down in a layered
  approach

                          MuleCon San Francisco (March 27-28, 2007)
Service Registry
• Mule bundles register their available services
  (connectors, transformers, components, etc.) in the
  OSGi Service Registry.

• A user's Mule app. then looks up the needed services
  from the Registry and binds to them.

• Mule services may appear/disappear and consumers
  must react accordingly.

• This decoupling is what makes hot updates possible.


                      MuleCon San Francisco (March 27-28, 2007)
Spring OSGi
Spring OSGi hides the details of registering
  and consuming OSGi services, using
  sensible defaults where possible.




Details may be given in a simple, declarative
 form within the Spring Beans config file:
   – cardinality of dependent services
   – handling of ServiceNotAvailable exceptions
   – timeouts
                  MuleCon San Francisco (March 27-28, 2007)
Choosing an OSGi Framework

The big 3 Open Source Frameworks are:

• Equinox (a subproject of Eclipse)
• Knopflerfish (Gatespace Telematics)
• Felix (Apache)


Knopflerfish seems to be the best “fit” for Mule
  in a production environment, but since
  OSGi is a standard, it should be able to run
  in any framework.

                 MuleCon San Francisco (March 27-28, 2007)
Looking Forward

• OSGi will be the foundation for future
  versions of Mule


• It will enable innovative new features for the
  Mule platform




                  MuleCon San Francisco (March 27-28, 2007)
1 of 15

Recommended

AksiMata Studio for Lenovo® AIO by
AksiMata Studio for Lenovo® AIOAksiMata Studio for Lenovo® AIO
AksiMata Studio for Lenovo® AIOHendy Irawan
931 views17 slides
Apa yang dapat Anda raih dengan Besut Kode Universitas by
Apa yang dapat Anda raih dengan Besut Kode UniversitasApa yang dapat Anda raih dengan Besut Kode Universitas
Apa yang dapat Anda raih dengan Besut Kode UniversitasHendy Irawan
650 views81 slides
GetHelp UI Interface and Interaction Design Case Study by
GetHelp UI Interface and Interaction Design Case StudyGetHelp UI Interface and Interaction Design Case Study
GetHelp UI Interface and Interaction Design Case StudySu Yuen Chin
861 views6 slides
投影 by
投影投影
投影call0931821718
338 views58 slides
Que Guapa Es Mi Mujer by
Que Guapa Es Mi MujerQue Guapa Es Mi Mujer
Que Guapa Es Mi Mujermarquezcampos
1.1K views4 slides
Executive Presentation EspañOl by
Executive Presentation EspañOlExecutive Presentation EspañOl
Executive Presentation EspañOlguest1a1efd
279 views24 slides

More Related Content

Viewers also liked

e-imagen 2.0 by
e-imagen 2.0e-imagen 2.0
e-imagen 2.0Mariella Azzato
336 views41 slides
Keats Solomons 0 by
Keats Solomons 0Keats Solomons 0
Keats Solomons 0Derek Keats
439 views21 slides
E Imagen 2.0 by
E Imagen 2.0E Imagen 2.0
E Imagen 2.0Mariella Azzato
480 views41 slides
3 Tier Animation by
3 Tier Animation3 Tier Animation
3 Tier AnimationChris Jobling
641 views1 slide
Search Engine Marketing (SEM) by
Search Engine Marketing (SEM)Search Engine Marketing (SEM)
Search Engine Marketing (SEM)Hendy Irawan
1.2K views27 slides
MLA Documentation & Style by
MLA Documentation & StyleMLA Documentation & Style
MLA Documentation & StyleJennifer Jones
1.1K views28 slides

Viewers also liked(7)

More from Hendy Irawan

Persiapan Google Summer of Code (GSoC) by
Persiapan Google Summer of Code (GSoC)Persiapan Google Summer of Code (GSoC)
Persiapan Google Summer of Code (GSoC)Hendy Irawan
1.2K views22 slides
Tutorial JSON-LD dan RabbitMQ di Java by
Tutorial JSON-LD dan RabbitMQ di JavaTutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di JavaHendy Irawan
1.3K views33 slides
EBA Internship Program 2015-2016 by
EBA Internship Program 2015-2016EBA Internship Program 2015-2016
EBA Internship Program 2015-2016Hendy Irawan
2.1K views32 slides
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015 by
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015Hendy Irawan
1.8K views21 slides
EBA (Evidence-Based Approach) Culture by
EBA (Evidence-Based Approach) CultureEBA (Evidence-Based Approach) Culture
EBA (Evidence-Based Approach) CultureHendy Irawan
1K views27 slides
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015 by
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015Hendy Irawan
19.2K views54 slides

More from Hendy Irawan(18)

Persiapan Google Summer of Code (GSoC) by Hendy Irawan
Persiapan Google Summer of Code (GSoC)Persiapan Google Summer of Code (GSoC)
Persiapan Google Summer of Code (GSoC)
Hendy Irawan1.2K views
Tutorial JSON-LD dan RabbitMQ di Java by Hendy Irawan
Tutorial JSON-LD dan RabbitMQ di JavaTutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di Java
Hendy Irawan1.3K views
EBA Internship Program 2015-2016 by Hendy Irawan
EBA Internship Program 2015-2016EBA Internship Program 2015-2016
EBA Internship Program 2015-2016
Hendy Irawan2.1K views
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015 by Hendy Irawan
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015
Hendy Irawan1.8K views
EBA (Evidence-Based Approach) Culture by Hendy Irawan
EBA (Evidence-Based Approach) CultureEBA (Evidence-Based Approach) Culture
EBA (Evidence-Based Approach) Culture
Hendy Irawan1K views
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015 by Hendy Irawan
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015
Hendy Irawan19.2K views
Sosialisasi Petunjuk Teknis Penerimaan Peserta Didik Baru (PPDB) Kota Bandung... by Hendy Irawan
Sosialisasi Petunjuk Teknis Penerimaan Peserta Didik Baru (PPDB) Kota Bandung...Sosialisasi Petunjuk Teknis Penerimaan Peserta Didik Baru (PPDB) Kota Bandung...
Sosialisasi Petunjuk Teknis Penerimaan Peserta Didik Baru (PPDB) Kota Bandung...
Hendy Irawan3.6K views
Twitter Author Prediction from Tweets using Bayesian Network by Hendy Irawan
Twitter Author Prediction from Tweets using Bayesian NetworkTwitter Author Prediction from Tweets using Bayesian Network
Twitter Author Prediction from Tweets using Bayesian Network
Hendy Irawan1.1K views
Biased Media - Game Theory (EL5000) Course Project by Hendy Irawan
Biased Media - Game Theory (EL5000) Course ProjectBiased Media - Game Theory (EL5000) Course Project
Biased Media - Game Theory (EL5000) Course Project
Hendy Irawan1.2K views
3D Reality Tracking in Realtime - Team Hendy-Sigit by Hendy Irawan
3D Reality Tracking in Realtime - Team Hendy-Sigit3D Reality Tracking in Realtime - Team Hendy-Sigit
3D Reality Tracking in Realtime - Team Hendy-Sigit
Hendy Irawan836 views
Pemrograman Logika Induktif (Inductive Logic Programming) by Hendy Irawan
Pemrograman Logika Induktif (Inductive Logic Programming)Pemrograman Logika Induktif (Inductive Logic Programming)
Pemrograman Logika Induktif (Inductive Logic Programming)
Hendy Irawan1.1K views
Inductive Logic Programming by Hendy Irawan
Inductive Logic ProgrammingInductive Logic Programming
Inductive Logic Programming
Hendy Irawan977 views
AksiMata Studio Tablet by Hendy Irawan
AksiMata Studio TabletAksiMata Studio Tablet
AksiMata Studio Tablet
Hendy Irawan963 views
Dasar Koperasi Kredit (Credit Union) by Hendy Irawan
Dasar Koperasi Kredit (Credit Union)Dasar Koperasi Kredit (Credit Union)
Dasar Koperasi Kredit (Credit Union)
Hendy Irawan11K views
How to Develop a Basic Magento Extension Tutorial by Hendy Irawan
How to Develop a Basic Magento Extension TutorialHow to Develop a Basic Magento Extension Tutorial
How to Develop a Basic Magento Extension Tutorial
Hendy Irawan26.4K views
How to Create A Magento Adminhtml Controller in Magento Extension by Hendy Irawan
How to Create A Magento Adminhtml Controller in Magento ExtensionHow to Create A Magento Adminhtml Controller in Magento Extension
How to Create A Magento Adminhtml Controller in Magento Extension
Hendy Irawan25.1K views
How to create a magento controller in magento extension by Hendy Irawan
How to create a magento controller in magento extensionHow to create a magento controller in magento extension
How to create a magento controller in magento extension
Hendy Irawan14.9K views

Recently uploaded

Digital Personal Data Protection (DPDP) Practical Approach For CISOs by
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOsPriyanka Aash
103 views59 slides
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...ShapeBlue
128 views20 slides
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by
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...ShapeBlue
93 views13 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
Data Integrity for Banking and Financial Services by
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
76 views26 slides
Network Source of Truth and Infrastructure as Code revisited by
Network Source of Truth and Infrastructure as Code revisitedNetwork Source of Truth and Infrastructure as Code revisited
Network Source of Truth and Infrastructure as Code revisitedNetwork Automation Forum
49 views45 slides

Recently uploaded(20)

Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash103 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue128 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
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
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely76 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc130 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
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
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
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue52 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue138 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue147 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
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

Mule+And+Os Gi+ +Travis+Carlson

  • 1. OSGi and Mule Travis Carlson MuleCon San Francisco (March 27-28, 2007)
  • 2. What is OSGi? • Dynamic module system for Java • A sort of Java OS • SOA within your app! MuleCon San Francisco (March 27-28, 2007)
  • 3. Benefits of OSGi Plug & Play! Change parts of your app. dynamically without requiring restarts Components dynamically discover each other for collaboration Increased security: more isolation between modules of your app. MuleCon San Francisco (March 27-28, 2007)
  • 4. Industry Support Plug-in model for Eclipse IDE (Equinox) Embraced by Spring IBM Websphere 6.1 JSR 291: Dynamic Component Support for Java – Supporters: Apache, BEA, IBM, Intel, Nokia, Nortel Networks MuleCon San Francisco (March 27-28, 2007)
  • 5. Benefits of OSGi for Mule Hot deploy your Mule app just like you would a WAR file, EAR file, etc. in J2EE Hot Deploy A Mule config can use different versions of the same class Change Management Update and restart a part of your running Mule instance without having to restart all of it High Availability MuleCon San Francisco (March 27-28, 2007)
  • 6. Benefits of OSGi for Mule Separate classloader per bundle – not all of Mule has to depend on the same version of a 3rd party library Dependency Mgmt. Enabling technology for Patch Management in MuleHQ Patch Mgmt. MuleCon San Francisco (March 27-28, 2007)
  • 7. How it works Mule runs within an “OSGi Framework” MuleCon San Francisco (March 27-28, 2007)
  • 8. How it works The Framework manages Bundles and Services: Bundles – static libraries, may or may not be startable/stoppable (via BundleActivator interface) Services – dynamic components managed by a registry similar to JNDI MuleCon San Francisco (March 27-28, 2007)
  • 9. Bundles Each Mule module/transport is an OSGi “bundle” containing a special manifest file The bundle manifest declares: – Packages provided by this bundle (static) – Services provided by this bundle (dynamic) – Required/optional packages (static dependencies) – Required/optional services (dynamic dependencies) Both packages and services have a version associated which is useful for change management MuleCon San Francisco (March 27-28, 2007)
  • 10. Lifecycle The framework manages bundles according to a well-defined lifecycle. MuleCon San Francisco (March 27-28, 2007)
  • 11. Lifecycle The lifecycle state for each bundle is persistent in case of a system crash or restart Failover The framework keeps a timeline of each bundle's lifecycle events for sysadmins Audit Trail Bundles can be grouped into “run levels” (like Unix services) and brought up/down in a layered approach MuleCon San Francisco (March 27-28, 2007)
  • 12. Service Registry • Mule bundles register their available services (connectors, transformers, components, etc.) in the OSGi Service Registry. • A user's Mule app. then looks up the needed services from the Registry and binds to them. • Mule services may appear/disappear and consumers must react accordingly. • This decoupling is what makes hot updates possible. MuleCon San Francisco (March 27-28, 2007)
  • 13. Spring OSGi Spring OSGi hides the details of registering and consuming OSGi services, using sensible defaults where possible. Details may be given in a simple, declarative form within the Spring Beans config file: – cardinality of dependent services – handling of ServiceNotAvailable exceptions – timeouts MuleCon San Francisco (March 27-28, 2007)
  • 14. Choosing an OSGi Framework The big 3 Open Source Frameworks are: • Equinox (a subproject of Eclipse) • Knopflerfish (Gatespace Telematics) • Felix (Apache) Knopflerfish seems to be the best “fit” for Mule in a production environment, but since OSGi is a standard, it should be able to run in any framework. MuleCon San Francisco (March 27-28, 2007)
  • 15. Looking Forward • OSGi will be the foundation for future versions of Mule • It will enable innovative new features for the Mule platform MuleCon San Francisco (March 27-28, 2007)