Philosophy: Create opportunities through the evolution of technology and innovation.

Technology

Technology

We are privileged to create technology products and services that make a meaningful difference and impact in our client's businesses and the world around them.

OSGi on Enterprise

By: Afrim Sallahi

Background

The OSGi Alliance, which was formed as the Open Source Gateway Initiative in 1999, is a group of companies and individuals coming together to standardize a set of specifications for making Java more modular. Back then, the team was more focused on embedded systems like wireless phones and other smaller hardware devices where Java required its own modules and had to be adaptable with very limited resources where memory was concerned.

OSGi framework forms a service platform that provides a managed Java framework for installing bundles, updating and removing them on the fly without affecting any other bundles. A bundle is defined here as a standalone application that shares nothing with bundles unless otherwise provided on the bundle manifest. A common problem when dealing with more than one application on current Java servers is that the classpath is shared between the different applications. OSGi resolves the classpath by providing each bundle a unique classpath. Thus, a bundle has absolutely no access to the implementation of other bundles.

The OSGi Framework incorporates the following layers:

  1. Security Layer
  2. Module Layer
  3. Life Cycle Layer
  4. Service Layer
  5. Actual Services

OSGi in the Enterprise Context

The modern enterprise IT ecology has evolved and become very complicated when dealing with several large and interacting applications. Problems with development and release lifecycles, security, configuration management, are a fact of life in this context. On this large and complex scale, design patterns become very hard to maintain and manage. OSGi Enterprise Expert Group (EEG) has provided a specification that splits many of these problems into smaller and more manageable components so that each can be tackled without affecting others. (Further, the EEG's specification has allowed integration with Java EE within the OSGi framework.)

The OSGi specification simplifies the following in the enterprise context:

  • Database access by providing JDBC and JPA specification into the OSGi framework.
  • Transaction support by proving the Java EE JTA specification into the OSGi framework.
  • Web Application and HTTP Servlets.
  • Distributed Services
  • Management and Configuration Services.

The benefits of the OSGi enterprise specification is that we can create smaller groups of code (bundles) where each layer of an enterprise application is broken down for better development time, maintainability and availability. Development teams can now finally work almost independently on the various layers of the web applications. When running the OSGi container as a single instance and having the application layers running within it, the bundles can be started individually or other bundles can start bundles within the OSGi instance container. This allows for fast deployment and maintainability rather than deploying the whole application every time a release is required. For higher availability and better performance, bundles can reside on external OSGi instances where Distributed Services can be used to access remote services. This allows for the same functionality as internal services without burdening the whole application. Another very important addition is the Configuration Services module, which allows started bundles to change configurations on the fly without restarting any of the bundles. The configuration service can reside locally or remotely within anther OSGi instance.

Lixar has been using this framework for over 1 year and we're slowly building it into our POE. As we participate further in the open source community, we bring that knowledge to bear on better and more informed decisions for our clients.

References

issue
01
  • Contact Us
    Headquarters:
    47A Young Street
    Ottawa, Ontario
    K1S 3H6

    t: 613.722.0688
    f: 613.722.5297
    sales@lixar.com

    Map >
    East Coast Office:
    300-800 Windmill Road
    Dartmouth, Nova Scotia
    B3B 1L1

    t: 902.405.4443
    f: 902.405.4435
    eastcoast@lixar.com

    Map >
  • Support
    For all emergency inquiries for applications that Lixar supports for existing clients through service level agreements (SLA's), please contact us 24/7 either via

    - General Support Inquiries: 1-866-788-4239
    - Support for Existing Customers: 1-866-722-0688
    - Email: support@lixar.com

    More >
  • Lixar is a web technology services company with core competencies in design-development-support of web applications, business process automation, and system/database integration.