SlideShare a Scribd company logo
1 of 15
Download to read offline
MuleCon San Francisco (March 27-28, 2007)
OSGi and MuleOSGi and MuleOSGi and MuleOSGi 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
A Mule config can use different versions of the same class
Update and restart a part of your running Mule instance without
having to restart all of it
Change Management
High Availability
Hot Deploy
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
Enabling technology for Patch Management in MuleHQ
Dependency Mgmt.
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
Audit Trail
Failover
The lifecycle state for each bundle is
persistent in case of a system
crash or restart
The framework keeps a timeline of
each bundle's lifecycle events for
sysadmins
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

More Related Content

What's hot

Mule management console Architecture
Mule management console ArchitectureMule management console Architecture
Mule management console ArchitectureShanky Gupta
 
Mule mule management console
Mule  mule management consoleMule  mule management console
Mule mule management consoleD.Rajesh Kumar
 
Solving The Deployment Problem
Solving The Deployment ProblemSolving The Deployment Problem
Solving The Deployment Problemhtyson
 
Mule esb made system integration easy
Mule esb made system integration easy Mule esb made system integration easy
Mule esb made system integration easy javeed_mhd
 
Mule soft esb – data validation best practices
Mule soft esb – data validation best practicesMule soft esb – data validation best practices
Mule soft esb – data validation best practicesalfa
 
Mule management console
Mule management consoleMule management console
Mule management consoleShanky Gupta
 
Anypoint connector dev kit
Anypoint connector dev kitAnypoint connector dev kit
Anypoint connector dev kitD.Rajesh Kumar
 
Mule cloudhub application
Mule cloudhub applicationMule cloudhub application
Mule cloudhub applicationD.Rajesh Kumar
 
Mule anypoint connector dev kit
Mule  anypoint connector dev kitMule  anypoint connector dev kit
Mule anypoint connector dev kitD.Rajesh Kumar
 
Mule esb handling errors
Mule esb handling errorsMule esb handling errors
Mule esb handling errorsNaresh Naidu
 

What's hot (19)

Mule management console Architecture
Mule management console ArchitectureMule management console Architecture
Mule management console Architecture
 
Mule any pointstudio
Mule any pointstudioMule any pointstudio
Mule any pointstudio
 
Mule mule management console
Mule  mule management consoleMule  mule management console
Mule mule management console
 
Solving The Deployment Problem
Solving The Deployment ProblemSolving The Deployment Problem
Solving The Deployment Problem
 
Mule esb made system integration easy
Mule esb made system integration easy Mule esb made system integration easy
Mule esb made system integration easy
 
Mule connectors
Mule  connectorsMule  connectors
Mule connectors
 
Mule soft esb – data validation best practices
Mule soft esb – data validation best practicesMule soft esb – data validation best practices
Mule soft esb – data validation best practices
 
Mule cloudhub
Mule cloudhubMule cloudhub
Mule cloudhub
 
Mule testing
Mule testingMule testing
Mule testing
 
Mule cloud hub
Mule  cloud hubMule  cloud hub
Mule cloud hub
 
Mule management console
Mule management consoleMule management console
Mule management console
 
Mule esb overview
Mule esb overviewMule esb overview
Mule esb overview
 
Anypoint connector dev kit
Anypoint connector dev kitAnypoint connector dev kit
Anypoint connector dev kit
 
Mule cloudhub application
Mule cloudhub applicationMule cloudhub application
Mule cloudhub application
 
Mule anypoint connector dev kit
Mule  anypoint connector dev kitMule  anypoint connector dev kit
Mule anypoint connector dev kit
 
Mule 3.4 features
Mule 3.4 featuresMule 3.4 features
Mule 3.4 features
 
Mule soft Basics
Mule soft BasicsMule soft Basics
Mule soft Basics
 
Mule soa
Mule soaMule soa
Mule soa
 
Mule esb handling errors
Mule esb handling errorsMule esb handling errors
Mule esb handling errors
 

Similar to OSGi and Mule - MuleCon 2007

Intro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumIntro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumEugene Hanikblum
 
Scale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceScale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceIRJET Journal
 
Cloud 2010
Cloud 2010Cloud 2010
Cloud 2010steccami
 
SpringSource dm Server (formerly known as SpringSource Application Platform)
SpringSource dm Server (formerly known as SpringSource Application Platform)SpringSource dm Server (formerly known as SpringSource Application Platform)
SpringSource dm Server (formerly known as SpringSource Application Platform)Aditya Jha
 
Enabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDMEnabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDMmukulobject
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in developmentMartin Toshev
 
Mainframe Audit and Systems Software Manageability
Mainframe Audit and Systems Software ManageabilityMainframe Audit and Systems Software Manageability
Mainframe Audit and Systems Software ManageabilityNorlynn Nelson
 
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...IndicThreads
 
Developing Agile Java Applications using Spring tools
Developing Agile Java Applications using Spring toolsDeveloping Agile Java Applications using Spring tools
Developing Agile Java Applications using Spring toolsSathish Chittibabu
 
Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...IRJET Journal
 
Modular Architectures using Micro Services
Modular Architectures using Micro ServicesModular Architectures using Micro Services
Modular Architectures using Micro ServicesMarcel Offermans
 
White Paper: Scalable Lifecycle Management via Perforce
White Paper: Scalable Lifecycle Management via PerforceWhite Paper: Scalable Lifecycle Management via Perforce
White Paper: Scalable Lifecycle Management via PerforcePerforce
 
Muves3 Elastic Grid Java One2009 Final
Muves3 Elastic Grid Java One2009 FinalMuves3 Elastic Grid Java One2009 Final
Muves3 Elastic Grid Java One2009 FinalElastic Grid, LLC.
 
Carbon Webinar
Carbon WebinarCarbon Webinar
Carbon WebinarWSO2
 
Mashup2010
Mashup2010Mashup2010
Mashup2010steccami
 
Vodafone Devops Days - Micro service architecture
Vodafone Devops Days - Micro service architectureVodafone Devops Days - Micro service architecture
Vodafone Devops Days - Micro service architectureTurgay Can
 
Mule esb intoduction
Mule esb intoductionMule esb intoduction
Mule esb intoductionVamsi Krishna
 

Similar to OSGi and Mule - MuleCon 2007 (20)

Intro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumIntro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene Hanikblum
 
Scale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceScale and Load Testing of Micro-Service
Scale and Load Testing of Micro-Service
 
Cloud 2010
Cloud 2010Cloud 2010
Cloud 2010
 
SpringSource dm Server (formerly known as SpringSource Application Platform)
SpringSource dm Server (formerly known as SpringSource Application Platform)SpringSource dm Server (formerly known as SpringSource Application Platform)
SpringSource dm Server (formerly known as SpringSource Application Platform)
 
Enabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDMEnabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDM
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in development
 
Mainframe Audit and Systems Software Manageability
Mainframe Audit and Systems Software ManageabilityMainframe Audit and Systems Software Manageability
Mainframe Audit and Systems Software Manageability
 
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
 
Developing Agile Java Applications using Spring tools
Developing Agile Java Applications using Spring toolsDeveloping Agile Java Applications using Spring tools
Developing Agile Java Applications using Spring tools
 
Sda 2
Sda   2Sda   2
Sda 2
 
Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...
 
Modular Architectures using Micro Services
Modular Architectures using Micro ServicesModular Architectures using Micro Services
Modular Architectures using Micro Services
 
A secure middleware architecture for web services
A secure middleware architecture for web servicesA secure middleware architecture for web services
A secure middleware architecture for web services
 
White Paper: Scalable Lifecycle Management via Perforce
White Paper: Scalable Lifecycle Management via PerforceWhite Paper: Scalable Lifecycle Management via Perforce
White Paper: Scalable Lifecycle Management via Perforce
 
Server Tools New approach
Server Tools New approachServer Tools New approach
Server Tools New approach
 
Muves3 Elastic Grid Java One2009 Final
Muves3 Elastic Grid Java One2009 FinalMuves3 Elastic Grid Java One2009 Final
Muves3 Elastic Grid Java One2009 Final
 
Carbon Webinar
Carbon WebinarCarbon Webinar
Carbon Webinar
 
Mashup2010
Mashup2010Mashup2010
Mashup2010
 
Vodafone Devops Days - Micro service architecture
Vodafone Devops Days - Micro service architectureVodafone Devops Days - Micro service architecture
Vodafone Devops Days - Micro service architecture
 
Mule esb intoduction
Mule esb intoductionMule esb intoduction
Mule esb intoduction
 

Recently uploaded

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 

OSGi and Mule - MuleCon 2007

  • 1. MuleCon San Francisco (March 27-28, 2007) OSGi and MuleOSGi and MuleOSGi and MuleOSGi and Mule Travis Carlson
  • 2. MuleCon San Francisco (March 27-28, 2007) What is OSGi? • Dynamic module system for Java • A sort of Java OS • SOA within your app!
  • 3. 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.
  • 4. 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
  • 5. 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 A Mule config can use different versions of the same class Update and restart a part of your running Mule instance without having to restart all of it Change Management High Availability Hot Deploy
  • 6. 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 Enabling technology for Patch Management in MuleHQ Dependency Mgmt. Patch Mgmt.
  • 7. MuleCon San Francisco (March 27-28, 2007) How it works Mule runs within an “OSGi Framework”
  • 8. 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
  • 9. 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
  • 10. MuleCon San Francisco (March 27-28, 2007) Lifecycle The framework manages bundles according to a well-defined lifecycle.
  • 11. MuleCon San Francisco (March 27-28, 2007) Lifecycle Audit Trail Failover The lifecycle state for each bundle is persistent in case of a system crash or restart The framework keeps a timeline of each bundle's lifecycle events for sysadmins Bundles can be grouped into “run levels” (like Unix services) and brought up/down in a layered approach
  • 12. 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.
  • 13. 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
  • 14. 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.
  • 15. 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