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 system; similarly software components are
assembled together to build a software system. Software systems have a static
form as well as a dynamic runtime form. Software components can be assembled
either in static form or dynamic form. In either case, the software component
is an independen... (more)
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. A component is a deployable piece
of software that can be independently developed and maintained. In the
previous article -Componentizing a Monolithic Application in Java, we
discussed the need for componentizing applications to get the benefits of
reusability and modularity. We also looked at how an E-Store application can
be componentized using a simple component model developed by the authors
using a factory whiteboard pattern and a simple repository.
In Part 1 of this article we will try to understand various component models
in Jav... (more)
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 d... (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