| By Sriram Anand | Article Rating: |
|
| April 25, 2005 12:00 PM EDT | Reads: |
8,035 |
The concept of SOA
(Service Oriented Architecture) can be illustrated by leveraging commonly
understood concepts of object-oriented programming. Services comply with many
of the standard principles that form the bedrock of object-oriented
programming. However, SOA provides benefits at a much higher level of the IT
value chain as discussed below.
Encapsulation allows
a system to insulate and manage all the data and behavior associated
with a specific entity. Inheritance allows us to define specialized entities
that build on certain core entities that do not need to be redefined
repeatedly. In other words it provides reuse of common data and logic.
Polymorphism allows us to dynamically allow certain entities to have
different behavior based on their runtime context.
It is important to examine the differences between these two approaches
from a business standpoint. Ultimately applications are intended to fulfill and
support specific functional requirements. These requirements can be on the
business fulfillment side or on the infrastructure side.
The consumer of an application, whether it is a client user, an internal
user or another system expects the fulfillment of a certain contract from the
target application. This contract is not limited to functionality but also
implicitly relates to the level of performance, quality of service as well as
the presence of a consistent interface. An implementer of such a contract would
constitute a service.
Note that most modern day systems do provide all of the above for end
users by engineering their internal systems appropriately. Therefore from a
business standpoint, we can consider services to be closely aligned with
business processes and to programmatically fulfill requirements specified in
the form of a service contract, thereby shielding the consumer completely from
any implementation considerations.
Objects and OOP were never considered to be
for modeling business activity at a process level, rather they are intended to
provide implementations at a system level where peer systems can use other
objects in their community without regard for their internals.
The introduction of services provides business users with a technology
that can be profitably used to communicate and align more effectively with IT.
Some critical business benefits that may be obtained by migrating to SOA are as
follows: Flexibility and insulation from change, Minimizing TCO and risk,
Leverage best-of-breed implementations.
We traversed the
bridge between two fundamental concepts in the world of enterprise software
applications, OOP and SOA. We examined the governing principles of a service
and mapped it back to fundamental OO concepts. We came to the conclusion that
SOA builds upon the basic tenets of OOP and solves business problems at a much
higher level.
The implementation
components of a SOA will involve objects; the units of a SOA represent business
activities that are at a much coarser level than objects. Despite the fact that
OOP is in itself a universal, platform independent paradigm, SOA provides a
level of independence from technologies and platforms that are not a part of
the implementation of the object-oriented paradigm.
About the author
Dr. Sriram Anand is
a Principal Researcher at Infosys Technologies, Bangalore. Prior to joining
Infosys, he worked in IT consulting as well as product engineering in the US
for over 12 years. His interests include enterprise architecture,
service-oriented architecture, and legacy integration and software engineering
methodologies. Dr. Sriram is experienced in designing enterprise architectural
strategy for leading U.S. companies in the financial services, retail and
pharmaceutical domains. He holds a Bachelor’s degree from IIT-Madras with a Ph.
D. from SUNY-Buffalo, USA.
Published April 25, 2005 Reads 8,035
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
About Sriram Anand
Dr. Sriram Anand is a principal researcher at Infosys Technologies, Bangalore. Prior to joining Infosys he worked in IT consulting as well as product engineering in the US for over 12 years. His interests include enterprise architecture, service-oriented architecture, and legacy integration and software engineering methodologies. Dr. Anand is experienced in designing enterprise architectural strategy for leading U.S. companies in the financial services, retail, and pharmaceutical domains. He holds a Bachelor?s degree from IIT-Madras with a PhD from SUNY-Buffalo, USA.
- Performance of Java Compilers: An Empirical Study
- Java Kicks Ruby on Rails in the Butt
- Ulitzer’s Amazing First 30 Days in Public Beta
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- REA Is Where RIA Becomes the Norm
- Why an Application Grid?
- Will Ulitzer Dominate News Content on The Web? -Gartner
- Clear Toolkit 4: The Road Map
- Profiling Netbeans within Amazon EC2
- Java Persistence on the Grid: Approaches to Integration
- Performance of Java Compilers: An Empirical Study
- Java Kicks Ruby on Rails in the Butt
- Developing Rich Client Applications Using Swing - II
- The Right Time for Real Time Java
- Xpress Suite Adds Automatic Java to iPhone Conversion
- Ulitzer’s Amazing First 30 Days in Public Beta
- Initial Thoughts on IBM Acquisition of Sun Microsystems
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- Maximizing Java Performance with Bespoke Programming
- REA Is Where RIA Becomes the Norm
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- What's New in Eclipse?
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate





































