Apache Axis2 - OSGi Integration in WSO2 Carbon Platform

Slides:



Advertisements
Similar presentations
Enabling Technology Innovation using Open Source Software
Advertisements

When Applications can Roam Freely OSGi Service Platform R4 Peter Kriens Technical Director OSGi
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 1 OSGi Service Platform Tokyo August 28, 2003 Peter Kriens CEO aQute, OSGi Fellow
AQute R4 By Peter Kriens CEO aQute OSGi Technology Officer and OSGi Fellow.
OpusCollege and Spring-DM. OSGi based web applications – three strategies OSGi container embedded in another container: OSGi Bridge Server (OBS)  e.g.
General introduction to Web services and an implementation example
Enterprise Architecture Firm Architecture World ‘10 SOA on Demand Ulf Fildebrandt Chief Development Architect SOA Infrastructure SAP AG.
Introduce OSGi BlueDavy
Spring, Hibernate and Web Services 13 th September 2014.
Developing Enterprise Applications with the WSO2 Application Platform
Java Web User Group Impala Framework Update Modular class loaders and OSGi Phil Zoio London December 2, 2008.
Scale Up Access to your 4GL Application using Web Services
OSGi as a Framework for Building a Product Line: Experience and Best Practices Ruwan Linton & Afkham Azeez
Why OSGi matters for Enterprise Java Infrastructures
OSGi: Open Services Gateway Initiative Richard Chapman 5 Sept
D-OSDi + Android Progress Presentation Xinyi Dong Long Qiu.
Monitoring OSGi platforms with ProActive Virginie Legrand OASIS Team - INRIA Sophia Antipolis.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 2.1.
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Spring Dynamic Modules. Startlocation: Documentation: /1.2.1/reference/html/
Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2 Inc. May 2013 Introduction to WSO2 ESB.
Introducing the WSO2 Platform Leading you to a Connected Business
1 Copyright 2008 NexJ Systems Inc. Confidential and Proprietary - Not for Distribution. Open Source Strategy NexJ Systems Inc.
Enterprise Resource Planning
Agenda Introduction to the Guidewire platform
An Introduction to OSGi: Creating Highly Modular Java Systems Simon Archer, IBM 15 November 2010.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
ESB Guidance 2.0 Kevin Gock
1 Building SaaS for SMEs on WSO2 PaaS Kathiravelu Pradeeban - Software Engineer Muhammed Shariq - Software Engineer Nov 2011.
OSGi.
Kuali Rice at Indiana University Rice Setup Options July 29-30, 2008 Eric Westfall.
CaGrid 2.0 December What is caGrid 2.0??? Provides a patch for caGrid 1.x to support SHA2 OSGi implementation of WSRF on the new technical stack.
Introduction to the Atlas Platform Mobile & Pervasive Computing Laboratory Department of Computer and Information Sciences and Engineering University of.
Choon Oh Lee OSGi Service Platform. About OSGi Service Platform What it is, Where it is used, What features it provides are Today’s Content.
Tiny Components – a collection of initial ideas copyright © 2003 Tiny Components Tiny Components A Component Model for Small, Embedded or Mobile devices.
A Lightweight Platform for Integration of Resource Limited Devices into Pervasive Grids Stavros Isaiadis and Vladimir Getov University of Westminster
Extending ArcGIS for Server
Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02.
Migrating Desktop The graphical framework for running grid applications Bartek Palak Poznan Supercomputing and Networking Center The.
OSGi Service Platform Open Service Gateway initiative.
Webservice versioning using osgi Allard Buijze, Jettro Coenradie.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Sameera Jayasoma 18 th July, 2009 Senior Software Engineer Introduction to OSGi The Dynamic Module System for Java.
Migrating Desktop Marcin Płóciennik Marcin Płóciennik Kick-off Meeting, Santander, Graphical.
© 2002, Youngjoon Choi, RESL, Inha University Page : 1 Open Services Gateway initiative OSGi Open Services Gateway Initiative Youngjoon Choi © Realtime.
Page 1 © 2001, Epicentric - All Rights Reserved Epicentric Modular Web Services Alan Kropp Web Services Architect WSRP Technical Committee – March 18,
ICT Strategy Intelligent Highways: Endpoint Adapters.
Migrating Desktop Bartek Palak Bartek Palak Poznan Supercomputing and Networking Center The Graphical Framework.
Slide 1 ApacheCon 2011 > Doreen Seider> Using OSGi to Build Better Software > Using OSGi to Build Better Software Lessons from a Telemedicine.
Getting Started with the Open Services Gateway Initiative (OSGi) CNT 5517 Dr. Sumi Helal, Ph.D. Professor Computer & Information Science & Engineering.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
An answer to your common XACML dilemmas Asela Pathberiya Senior Software Engineer.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
EUFORIA FP7-INFRASTRUCTURES , Grant Migrating Desktop Uniform Access to the Grid Marcin Płóciennik Poznan Supercomputing and Networking Center.
Impala A dynamic module framework for Java web development Phil Zoio Realsolve Solutions Devoxx 12 December, 2008.
Introduction to OSGi +ActorFrame Surya Bahadur Kathayat
Intro to the Atlas Platform Raja Bose Dr. Abdelsalam (Sumi) Helal January 23, 2007.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
The Holmes Platform and Applications
WebSphere Diego Leone.
Overall Architecture and Component Model
Platform as a Service.
Introduction to J2EE Architecture
Enterprise Resource Planning (ERP) System
Chapter 2 The Sources of Software
Enterprise Resource Planning (ERP) System
Component--based development
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Component-based Applications
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Presentation transcript:

Apache Axis2 - OSGi Integration in WSO2 Carbon Platform Sameera Jayasoma Technical Lead and Product Manager WSo2 Inc.

WSO2 Founded in 2005 by acknowledged leaders in XML, Web Services Technologies & Standards and Open Source. Producing entire middleware platform 100% open source under Apache license. Business model is to sell comprehensive support & maintenance for our products. Venture funded by Intel Capital. Global corporation with offices in USA, UK & Sri Lanka. 100+ employees and growing.

Outline Apache Axis2 OSGi, the dynamic module system WSO2 Carbon SOA Platform Axis2 – OSGi Integration Problems faced Solutions Benefits

Apache Axis2 It is extensible. A Web Services Engine. Java runtime for hosting Web Services. Runs standalone or in conjunction with Application servers such as Apache Tomcat. Supports both SOAP and REST It is extensible.

OSGi Dynamic module system for Java platform Defines a way to create true modules and a way to interact at runtime. Modules(Bundles) in OSGi can be installed, updated and uninstalled without restarting the JVM. Benefits of OSGi, Improved time to market, Reduced development cost.

Bundle The unit of modularization in OSGi Traditional Java app. is a collection of Jars. But an OSGi based system is a collection of bundles. Bundle is just a JAR with some additional metadata(manifest headers) in the MANIFEST.MF file A java package is the unit of information hiding.

Bundles And Java Packages Bundles can share packages with other bundles or hide packages. Bundles can declare dependencies on java packages exported by other bundles

Bundles And Java Packages Bundle A Exported Packages Private Packages Imported Packages Bundle B Bundle C Imports

Life Cycle of a Bundle

OSGi Services Mechanism for bundles to collaborate at runtime. A service is a plain old Java object(POJO) published in OSGi service registry OSGi services provides in-VM SOA model for bundles

WSO2 Carbon A component based Service Oriented Architecture(SOA) platform for developing enterprise SOA middleware. Based on OSGi, provides a well define component model. Hence it allows you to create highly customized and optimized SOA applications to suit your enterprise. Base platform for all the Java products in WSO2.

WSO2 Carbon Based Products

Axis2 – OSGi Integration

Motivation Facilitate using Axis2 in OSGI based environments Improved class loading mechanism for deployed services and other Axis2 extensions such as Modules. Deploying Web services in Bundles Deploying Axis2 Extensions(Modules, Service Deployers, etc.) in Bundles.

Problems Faced Existence of split packages among axis2 jar files Dependencies of Axis2 are not yet available as OSGi bundles. Modules are required to be deployed before Web services in Axis2.

One Big Bundle Axis2 consists of several application jar files and third party libraries. axis2-kernal.jar axis2-adb.jar and many more.. Some Java packages are split among these jar files. org.apache.axis2.util package is available in both axis2- kernal.jar and axis2-adb.jar. A package can only be exported by a single bundle, if the version is same. Solution: Bundled all these axis2 jar files into single Big Bundle.

Carbon Orbit Bundles This Axis2 bundle still needs other third party libraries in the form of bundles to properly function in an OSGi environment. Most of these libraries were not available as bundles. Hence Carbon orbit project was initiated to wrap these libraries to OSGi bundles.

Web Services In Bundles Implemented a custom Service Deployer to handle Web services reside in Bundles. Used OSGi Extender pattern to detect the list of bundles which has Web services. BundleListeners are used listen to bundle events. Only the bundles in ACTIVE state are taken into consideration. Bundle classloader is set as the Service classloader to provide a better class loading mechanism for Web Services.

Axis2 Extensions In Bundles Extensions such as Axis2 Modules, Service Deployers, etc. in bundles are required to be deployed in Axis2. Here also, OSGi extender pattern is used. Bundles specify a custom manifest header. Axis2Deployer: POJODeployer Axis2Module: rampart Filter the list of bundles having Axis2 extensions using the manifest headers.

Modules Before Services Problem: In Axis2, modules should be deployed before services. Otherwise services become faulty and also these faulty services cannot be recovered. In OSGi, bundle starting order is unpredictable. Hence bundles with Axis2 Services may become ACTIVE before bundles with Axis2 Modules. Possibility of services being deployed before modules. Solution: Implements a faulty services recovery mechanism in Axis2.

Benefits of OSGi Integration OSGi has been accepted as the de facto standard which defines a dynamic modular system for Java. Major software vendors are moving to OSGi. Enables Axis2 to be used in any OSGi based applications, not just in WSO2 Carbon. Helps to increase its market share as a Web Services Engine.

Questions?

Selected Customers

WSO2 engagement model QuickStart Development Support Development Services Production Support Turnkey Solutions WSO2 Mobile Services Solution WSO2 FIX Gateway Solution WSO2 SAP Gateway Solution

Thank You!