Developing A Service

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

DEVELOPING A SERVICE-ORIENTED ARCHITECTURE

Service-oriented architecture (SOA) is a business-driven enterprise architecture


that supports integrating a business as linked, repeatable activities, tasks, or
services.
SOA ensures that MIS systems can adapt quickly, easily, and economically to
support rapidly changing business needs.
SOA promotes a scalable and flexible enterprise architecture that can implement
new or reuse existing MIS components, creating connections among disparate
applications and systems.
It is important to understand that SOA is not a concrete architecture; it is thought
that leads to a concrete architecture. It might be described as a style, paradigm,
concept, perspective, philosophy, or representation.
That is, SOA is an approach, a way of thinking, a value system that leads to
decisions that design a concrete architecture allowing enterprises to plug in new
services or upgrade existing services in a granular approach.
Service-oriented architecture begins with a service—an SOA service being simply
a business task, such as checking a potential customer’s credit rating when
opening a new account. It is important to stress that this is part of a business
process.
SOA works with services that are not just software or hardware but, rather,
business tasks. It is a pattern for developing a more flexible kind of software
application that can promote loose coupling among software components while
reusing existing investments in technology in new, more valuable ways across the
organization.
SOA is based on standards that enable interoperability, business agility, and
innovation to generate more business value for those who use these principles.
SOA helps companies become more agile by aligning business needs and the IT
capabilities that support these needs. Business drives requirements for IT; SOA
enables the IT environment to respond to these requirements effectively and
efficiently.
SOA is about helping companies apply reusability and flexibility that can lower
cost (of development, integration, and maintenance), increase revenue, and
obtain sustainable competitive advantage through technology.
It is very important to note that SOA is an evolution. Although its results are
revolutionary, it builds on many technologies used in the marketplace, such as
web services, transactional technologies, information-driven principles, loose
coupling, components, and object-oriented design.
Interoperability is the capability of two or more computer systems to share data
and resources, even though they are made by different manufacturers.
With SOA, a business can create solutions that draw on functionality from these
existing, previously isolated systems that are portable, interoperable, or both,
regardless of the environment in which they exist.
A web service is an open-standards way of supporting interoperability. Web
services are application programming interfaces (API) that can be accessed over a
network, such as the Internet, and executed on a remote system hosting the
requested services.
SOA is a style of architecture that enables the creation of applications that are
built by combining loosely coupled and interoperable services. In SOA, since the
basic unit of communication is a message rather than an operation, web services
are usually loosely coupled. Although SOA can exist without web services, the
best-practice implementation of SOA for flexibility always involves web services.
Extensible Markup Language (XML), a markup language for documents,
containing structured information. The technical specifics of XML’s capabilities go
beyond the scope of this book, but for our purposes, they support things such as
e-business transactions, mathematical equations, and a thousand other kinds of
structured data.
XML is the basis for all web service technologies and the key to interoperability;
every web service specification is based on XML.
Loose coupling is the capability of services to be joined on demand to create
composite services or disassembled just as easily into their functional
components.
Loose coupling is a way of ensuring that the technical details such as language,
platform, and so on are decoupled from the service.
For example, look at currency conversion. Today all banks have multiple
currency converters, all with different rate refreshes at different times. By
creating a common service, conversion of currency, that is loosely coupled to all
banking functions that require conversion, the rates, times, and samplings can be
averaged to ensure floating the treasury in the most effective manner possible.
Another example is common customer identification. Most businesses lack a
common customer ID and, therefore, have no way to determine who the
customers are and what they buy for what reason. Creating a common customer
ID that is independent of applications and databases allows loosely coupling the
service, customer ID, to data and applications without the application or database
ever knowing who it is or where it is.

The difference between traditional, tightly bound interactions and loosely


coupled services is that, before the transaction occurs, the functional pieces
(services) operating within the SOA are dormant and disconnected. When the
business process initiates, these services momentarily interact with each other.

You might also like