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
like Java, C++, BPEL, JavaScript, Ruby, Python etc. SCA addresses two
important needs of component world:
Complexity Reusability
SCA is best suited model for distributed systems. SCA simplifies building of
systems by simple assembling of components. SCA like other component model
discussed in the previous sections facilitates component assembly in the
middle tier -... (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)
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)
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)