Enterprise Integration Zone is brought to you in partnership with:

Behind DotNetBlocks.com is a software engineer with over 10 years of experience in Microsoft technologies and is currently obtaining a Masters in IT. His primary focus is typically on software architecture, web applications, and interactions amongst various systems. Todd is a DZone MVB and is not an employee of DZone and has posted 47 posts at DZone. You can read more from them at their website. View Full User Profile

Component Development Within SOA

  • submit to reddit

How do the concepts of component development work within SOA?

Let’s first break this question down by defining what component development is. Component development is the process of implementing specific functionality in the form of small units of complied code that can be reused across multiple applications or product families. Typically, components are integrated with other components forming composite components. In general, most interaction between components is done through interfaces to promote loose coupling.

The concept of loose coupling refers to the interconnections of components in a system so that their component dependences based on contracts defined by interfaces.

A real life example of this can be experienced while using Legos to build a structure. If we consider each Lego block as a component, then when two more Legos are connected they form a composite component due to the fact that the structure is made up of multiple components.   It is important to note that composite components can be made from standard components and other composite components. Eventually as various components and composite components become interconnected a structure begins to form in the shape of an application or in the case of Legos in the form of Lego structure.

Software components can loosely be defined as small units of related implemented functionality that can communicate with other components or may have dependencies on other components.

Based on the definitions provide above, it is my personal opinion that SOA works well with the concepts of component development.

The SOA architectural style focuses on creating loosely coupled services. Each service much like a component offers related functionality that can be accessed by various requesting clients.  In addition services can be derived just like components in that services can be built on other services to form composite services.

In summary, the concepts of component development can work within SOA based on the example above.

Published at DZone with permission of Todd Merritt, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)