OSGi is the latest component model to join the bandwagon of component models,
which provides a platform for component oriented development and assembly.
OSGi framework is a standards based platform whose specifications are
provided by the OSGi Alliance (www.osgi.org, formerly OSGi was referred as
Open Services Gateway Initiative). OSGi Alliance is an industry backed
nonprofit organization which was founded in March 1999. The OSGi
specification has gone through many releases and the current major version in
use is 4 and version 5 has been introduced recently.
The OSGi defines a dynamic module system for Java. This offers help for
Java's modularity problems by providing better control to the code structure,
manage the lifecycle of the code and a complete loosely coupled approach that
is much needed for component-oriented development.
The OSGi specification consists o... (more)
Service Component Architecture (shortly referred as SCA) is a technology for
creating services from components. SCA is a set of OASIS standards and part
of it is developed with the collaboration of vendors from open source
community, referred as "OSOA" Open SOA. SCA helps to build systems as a
collection of interconnected components. The components created in SCA
communicate through the services. The advantage of SCA is its neutral
component model. It allows services to be built by any language component
Component-oriented development has many architectural advantages. In spite of
this, many developers tend to solve problems the monolithic way on the first
go. This article demonstrates how a monolithic design can be modified to
achieve component-based design. During this conversion process, the necessity
of Component Models and Frameworks are highlighted. The article demonstrates
the componentization of an example monolithic application using a simple
homegrown component model and framework developed by the authors.
Introducing E-Store - A Business Application
Let us assume that w... (more)
A component is a reusable software entity that is developed and deployed
independently. Component based software development has many architectural
advantages. In the previous article Componentizing a Monolithic Application
in Java, we learnt the need for componentizing applications for getting the
benefits of reusability and modularity. In this article let us look at how
multi layered application can be componentized. We take the example of a
multi-layered POS (Point-Of-Sale) application and understand how the
application can be componentized at various layers like presentation,... (more)
This article introduces the concepts of Component Oriented Development and
Assembly (CODA) using the OSGi Service platform with an example application.
The article starts with an introduction to software components, elaborates
with an example application, followed by an overview of the OSGi Service
platform, and an implementation of the example application using this
Introduction to Software Components
Components are parts that can be assembled to form a larger system.
Electronic components such as ICs (Integrated Circuits) are assembled
together to build an electronic... (more)