Search This Blog

Friday, December 7, 2007

Software Components: Coarse-grained Versus Fine-Grained

SOA is about providing software capabilities through interfaces called
services and supporting the business concept known as service orientation,
where applications are built as sets of services with service users
unaware of how or where services are implemented. Beyond the interfaces
(which are a key part, but not the only part of a good SOA) are software
components and component models. Component models are useful for building
new SOA services from the ground up, but they're also useful for creating
SOA services from legacy IT assets. You can use component models to
provide abstraction of legacy services and to re-engineer existing
legacy assets, especially when the component model supports language
neutrality. This article asserts that coupling is only one aspect of
granularity, but does support the current industry thinking that, in
general, loosely coupled components are coarse grained, while tightly
coupled components are more likely to be fine grained. It gives you a
set of guidelines for categorizing software component technology in the
context of Service-Oriented Architecture (SOA), positioning the various
component technologies that are prevalent in the industry today. The
authors explain why Service Component Architecture (SCA) offers a
natural model for coarse-grained components. SCA provides a natural
model for coarse-grained components. SCA supports a wide variety of
component implementation technologies and is capable of connecting
between those heterogeneous technologies. Asynchronous and synchronous
interaction styles are supported, along with a wide range of
communication technologies.

No comments: