Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

en>fr
CORBA

Introduction

The focus of this Tutorial is to introduce you how you can create, design a simple SOA solution using Camel and OSGI. Most of the current and commercial SOA solutions rely on standards XML/WSDL/BPMN/BPEL and Business Processes (designed through WYSIWYG editor like Eclispe or propriatary product) which are deployed and orchestrated into a BPEL/BPM Business Process Expression Language engine.

Such a solution can be envisaged for big companies because the skills/time to market are important or when different development standards exist inside the company like (Java, .NET). In

 In the years 90, such developments have been made using CORBA or COM+/DCOM Microsoft technology. But, both of the CORBA and COM approaches had (and still have) significant problems and limitations. Complexity is a big issue. Any of the data that is passed requires very specific formatting, and many of the rules for programming are simply too difficult to follow without encountering errors. Even at the height of their popularity, CORBA was used primarily in large system development staffed by legions of programmers, while COM was used, often reluctantly, by teams of Microsoft developers.

Open Standards Gateway Initiative provides a Java-based platform for integrating both Java and non-Java application components. This technology provides the standardized functions for constructing applications from small, individual components and deploying them as a single application. The core component of OSGi is the OSGi Framework. The OSGi Framework is a very specific class-loading model. In addition to its normal Java execution environment, this framework incorporates an OSGi modules layer that adds private classes for modules and allows for controlled linking between modules. The OSGi Framework also includes life-cycle management for starting, stopping, adding and removing modules, as well as a service registry for sharing objects between modules.

Coupling the OSGI framework with a lightweight Enterprise Service Bus will allow you to design easily the routing between your different modules. A module can be a Plain Old Java Object (POJO), a Web Service designed with Apache CxF framework, a component like an ordering system. In fact, the module or bundle which is the term used by OSGI represent the level of granularity that you identify for your application.

 In this first part of the OSGI tutorial, we will show you how to :

- Create a simple service (derived from the camel-osgi example TODO add url) module (interface + implementation) and package it as a bundle,

- Create a Camel context with a small routing and package it as a separate bundle,

- The Camel routing will use an OSGI reference to call the simple service technology. But today, with the emergence of the lightweight +E+nterprise +S+ervice +B+us bus like Camel, such platform can be designed without using an orchestration engine but though the usage of Enterprise Integration Patterns and +O+pen +S+tandards +G+ateway +S+tandard +I+nitiative.