Developing Service-Oriented Architecture Applications with OSGi

Similar documents
SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

Building a Modular Server Platform with OSGi. Dileepa Jayakody Software Engineer SSWSO2 Inc.

Introduction to Service-Oriented Architecture for Business Analysts

What You Need to Know About Transitioning to SOA

Open Source SOA with Service Component Architecture and Apache Tuscany. Jean-Sebastien Delfino Mario Antollini Raymond Feng

Beyond the SOA/BPM frontiers Towards a complete open cooperative environment

JBoss Enterprise Middleware. The foundation of your open source middleware reference architecture

SERVICE ORIENTED ARCHITECTURE

Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL wann soll welche Komponente eingesetzt werden?

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

Next-Generation ESB. Kevin Conner SOA Platform Architect, Red Hat Keith Babo JBoss ESB Project Lead, Red Hat. June 23rd, 2010

JBI and OpenESB. Introduction to Technology. Michael Czapski Advanced Solutions Architect, SOA/BI/Java CAPS Sun Microsystems, ANZ

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

A standards-based approach to application integration

Sadržaj seminara: SOA Architecture. - SOA Business Challenges s: Billion Dollar Lock-In. - Integration Tools. - Point-to-Point Approach

ebay : How is it a hit

Experiences with Open-Source BPM/SOA-based Stack using Java EE Rok Povše, Matjaž B. Jurič

Beeple, B-Pel, Beepul? Understanding BPEL and Its Role in SOA

ActiveVOS Server Architecture. March 2009

Best Practices for Programming Eclipse and OSGi

How To Create A C++ Web Service

Oracle SOA Reference Architecture

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Introduction to ESB and Petals ESB

Learning GlassFish for Tomcat Users

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

Presentation Outline. Key Business Imperatives Service Oriented Architecture Defined Oracle SOA Platform SOA Maturity/Adoption Model Demo Q&A

Introduction to CASA: An Open Source Composite Application Editor

Operations and Monitoring with Spring

What is the NXTware Evolution Server Peter Marquez, Product Marketing ecube Systems

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

Oracle BPEL Nuts and Bolts

Business Process Execution Language for Web Services

10 Years of Hype Cycles - Do We Forget Knowledge?

Service Governance and Virtualization For SOA

A Discovery service, which is a repository to store information about a service, including where it is located and how it should be called.

Efficient Monitoring of OSGi Applications

Framework Adoption for Java Enterprise Application Development

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Sentinet for BizTalk Server SENTINET

OpenShift. Marek Jelen, OpenShift, Red Hat

Prerequisites for Successful SOA Adoption

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

BONITA, The Open Source BPM Solution

REST and SOAP Services with Apache CXF

What means extensibility?

SOA and Web Services. Larry Kramer Principal Applied Technologist June 9, A PeopleTools and Fusion perspective

Business Process Management Enabled by SOA

Run-time Service Oriented Architecture (SOA) V 0.1

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.

The webmethods ESB. The Foundation of your SOA. Jean-Michel Ghyoot, Principal Solution Architect, March 28, 2013

Secure the Web: OpenSSO

Creating new university management software by methodologies of Service Oriented Architecture (SOA)

OSGi Service Platform in Integrated Management Environments Telefonica I+D, DIT-UPM, Telvent. copyright 2004 by OSGi Alliance All rights reserved.

Databases Integration through a Web Services Orchestration with BPEL using Java Business Integration


BIRT Application and BIRT Report Deployment Functional Specification

Di 6.1a. Warum naive SOA scheitert Ein Erfahrungsbericht. Adam Bien. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich

APIs vs. SOA Integrations with SX without the ION Investment

SCA-based Enterprise Service Bus WebSphere ESB

JBOSS ENTERPRISE SOA PLATFORM AND JBOSS ENTERPRISE DATA SERVICES PLATFORM VALUE PROPOSITION AND DIFFERENTIATION

JBossESB GA. SOA Background Concepts JBESB-SBC-10/31/07

Server-side OSGi with Apache Sling. Felix Meschberger Day Management AG 124

Introduction to OSGi and Modularity. InfoSphere MDM, Version 11.x Dany Drouin, Senior Software Engineer MDM

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

Air Force SOA Enterprise Service Bus Study Using Business Process Management Workflow Orchestration for C4I Systems Integration

SOA MADE SIMPLE Introduction to SOA, (Micro) Services and SOA Suite INTRODUCTION WHAT IS SOA DEFINITION AGENDA

<Insert Picture Here> Achieving Business & Government Interoperability through PaaS & SaaS

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

JBoss Enterprise Middleware

JBOSS ESB. open source community experience distilled. Beginner's Guide. Enterprise. Magesh Kumar B

Oracle Platform Security Services & Authorization Policy Manager. Vinay Shukla July 2010

SCOUT IN THE CLOUD. How to Scale Eclipse Scout Applications in the Cloud? Judith Gull & Thomas Schweigler

Guiding SOA Evolution through Governance From SOA 101 to Virtualization to Cloud Computing

Oracle SOA Hands-On-Workshop. Arne Brüning - Bernhard Fischer-Wasels Leitende Systemberater

AquaLogic ESB Design and Integration (3 Days)

Developing SOA solutions using IBM SOA Foundation

Oracle Reference Architecture and Oracle Cloud

Service Oriented Architecture

Applying SOA to OSS. for Telecommunications. IBM Software Group

SOA REFERENCE ARCHITECTURE

Service Oriented Architecture 1 COMPILED BY BJ

SCA & SDO Implementations Open Source and Vendor Products

Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15

Ikasan ESB Reference Architecture Review

SOA Best Practices (from monolithic to service-oriented)

Transcription:

Developing Service-Oriented Architecture Applications with OSGi Dr Mark Little, Kevin Conner (Red Hat), Keith Babo (Sun), Alexandre Alves (BEA) BOF-5846

Overview Using OSGi in real-world Service Oriented Infrastructures Some use cases What's good and bad about OSGi in these situations What could be improved Q&A 2008 JavaOne SM Conference java.com.sun/javaone 2

Speaker Background Mark Little Director of Engineering for JBoss SOA Platform Ex-lead of JBossESB and JBossTS Co-author of many WS-* specifications and standards WS-Context, WS-Addressing, WS-Transactions SCA Member of JBI 2.0 OSGi expert group 20+ years working on architecting and building reliable distributed systems 2008 JavaOne SM Conference java.com.sun/javaone 3

Speaker Background Keith Babo Architect and developer in SOA / Business Integration organisation at Sun Java CAPS Open ESB Member of JBI 1.0 (JSR 208) and JBI 2.0 (JSR 312) Expert Groups Exposure to OSGi through Project Fuji JBI framework implementation based on OSGi Core SOA runtime for Open ESB v3 and Glassfish ESB http://fuji.dev.java.net 2008 JavaOne SM Conference java.com.sun/javaone 4

Speaker Background Kevin Conner Project Lead and Architect for JBoss ESB OSGi development as part of our next major ESB release OSGi is a core framework in our ESB implementation. Will be included in the JBoss SOA Platform. http://www.jboss.org/jbossesb/ 2008 JavaOne SM Conference java.com.sun/javaone 5

Speaker Background Alexandre Alves Representative at the BPEL TC at OASIS Architect for BEA Weblogic Event Server (WL EvS) WL EvS Domain-specific application server for real-time event processing Completely built on top of OSGi technology All components in WL EvS, both system and application components, are OSGi bundles 2008 JavaOne SM Conference java.com.sun/javaone 6

Requirements Service as the unit of re-use Loose coupling Cohesive services Interoperability Portability Deployment One service per process (VM) Multiple services per process 2008 JavaOne SM Conference java.com.sun/javaone 7

More requirements Versioning of services Not necessarily in the same VM Enterprise features transactions, security, reliability, etc. Widely deployable environments Not just fat clients or services, e.g., mobile phones Secret of cloud computing Language agnostic Well... 2008 JavaOne SM Conference java.com.sun/javaone 8

Q&A How are these requirements realised in OSGi? Lessons learnt from using OSGi for SOA? Pros and Cons of using OSGi for SOA? What would you like to see improved? Questions from the audience... 2008 JavaOne SM Conference java.com.sun/javaone 9

Q&A How are these requirements realised in OSGi? Lessons learnt from using OSGi for SOA? Pros and Cons of using OSGi for SOA? What would you like to see improved? Questions from the audience... 2008 JavaOne SM Conference java.com.sun/javaone 10

The Role of OSGi in a SOA Runtime Pluggability Ability to extend the runtime with additional functionality (services, containers, etc.) Isolation Total control over the packages you expose and consume Dynamism Bundles have a life cycle independent of the virtual machine Dependency Management First and worst form of coupling you encounter Coupling between services Coupling between a service and its underlying runtime 2008 JavaOne SM Conference java.com.sun/javaone 11

Evolution of a Modular Application 2008 JavaOne SM Conference java.com.sun/javaone 12

JBoss ESB Architecture 2008 JavaOne SM Conference java.com.sun/javaone 13

Modularization Explicit dependencies Helped with the modularization effort in WLS WLS provides over 100 bundles to other products Improves automation of build process Versioning and name ratification Helped manage the promotion of individual features, rather than release all-or-nothing Feature-Sets Grouping of features (e.g. enterprise, messaging) so that enduser can profile runtime Just-Enough App Server for 2008 JavaOne SM Conference java.com.sun/javaone 14

Services De-coupling of interface and implementation allows the selection of different implementation providers Cache Native implementation from WLS, Tangosol, etc Web-containers Jetty, Tomcat Authentication/Authorization providers LDAP, file-system Service Management Runtime monitor of services, offending services can be unregistered, and swapped 2008 JavaOne SM Conference java.com.sun/javaone 15

Q&A How are these requirements realised in OSGi? Lessons learnt from using OSGi for SOA? Pros and Cons of using OSGi for SOA? What would you like to see improved? Questions from the audience... 2008 JavaOne SM Conference java.com.sun/javaone 16

What have we learned? Do not use OSGi directly. Be dynamic. Use ServiceTracker. Test with multiple implementations Felix. Equinox. JBoss Microcontainer. Restrict your execution environment. Use 'bnd' to generate bundles We do not use eclipse PDE. 2008 JavaOne SM Conference java.com.sun/javaone 17

What We Get Out of OSGi Completely replaced our own modularity layer with OSGi OSGi R4 API is fantastic! API covered 90% of what we needed, other 10% can be worked around. Everything is a bundle Containers Composite Applications Framework OSGi service registry was a nice bonus feature Whiteboard pattern 2008 JavaOne SM Conference java.com.sun/javaone 18

Extensibility and Portability WL EvS provides Service Provider Interface Vendors can plug-in different processing engines, cache providers, etc. SPI implemented using the Whiteboard pattern Vendors implement service interfaces and register providers in the OSGi registry Infrastructure selects services based upon ranking and properties Simple, easy, and powerful (dynamic) WL EvS applications are bundles Standard-based deployment unit (although services being used are not standard today) 2008 JavaOne SM Conference java.com.sun/javaone 19

Greater Re-use of Core Infrastructure HTTP Service Service Tracker Initial Provisioning Declarative Services using Spring-DM Start Level Service Event Admin Service, Conditional Permission Admin 2008 JavaOne SM Conference java.com.sun/javaone 20

Q&A How are these requirements realised in OSGi? Lessons learnt from using OSGi for SOA? Pros and Cons of using OSGi for SOA? What would you like to see improved? Questions from the audience... 2008 JavaOne SM Conference java.com.sun/javaone 21

Why do we like OSGi? Improved modularization Service management Extensibility and portability Greater potential for re-use of infrastructure 2008 JavaOne SM Conference java.com.sun/javaone 22

Challenges Very large Import-Packages Hard to get correct, especially when reflection is used (e.g. Kodo) Complex class-path resolving instanceof fails Hard to debug and find problem Service availability race-conditions Client applications referencing to services that have not been bound it Particularly a problem during start-up 2008 JavaOne SM Conference java.com.sun/javaone 23

What's Missing? No BundleEvent.UNINSTALLING? I need to perform some cleanup before a bundle is removed By the time BundleEvent.UNINSTALLED fires, the bundle is long gone Service Provisioning Life Cycle Services life cycle today : registered, unregistered Would like to see a two-phase life cycle that separates consuming and providing services Message-based interaction between services Synchronous call-through on a Java interface still couples your service 2008 JavaOne SM Conference java.com.sun/javaone 24

Why do we like OSGi? Class Loading Architecture Explicit control over the classes being consumed and exposed. Dependencies are based on versions. Multiple versions can co-exist. Dynamic Bundles A well defined lifecycle. Programmatic control. Services & Registry Used for our core infrastructure. The adoption of OSGi is growing. Mobile through to enterprise platforms 2008 JavaOne SM Conference java.com.sun/javaone 25

What do we think is missing? Enterprise features Transactions, JCA etc. Standardised remote access to services Asynchronous invocations 2008 JavaOne SM Conference java.com.sun/javaone 26

Q&A How are these requirements realised in OSGi? Lessons learnt from using OSGi for SOA? Pros and Cons of using OSGi for SOA? What would you like to see improved? Questions from the audience... 2008 JavaOne SM Conference java.com.sun/javaone 27