| By Sriram Anand | Article Rating: |
|
| April 25, 2005 12:00 PM EDT | Reads: |
8,398 |
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,398
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By 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.
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Journal Opens "Readers' Choice Awards" Nominations
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Industry Experts Discuss the State of Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- It's the Java vs. C++ Shootout Revisited!
- The End of IT 1.0 As We Know It Has Begun
- An Introduction to Abbot
- Java Kicks Ruby on Rails in the Butt
- Interviewing Java Developers With Tears in My Eyes
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- How to Diagnose Java Resource Starvation
- REA Is Where RIA Becomes the Norm
- Kindle 2 vs Nook
- Anatomy of a Java Finalizer
- Why IBM’s Server Chief Got Busted
- 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
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?

































