SOA relies on one of the unifying ideas in modern data processing: Extensible Markup Language (XML) , a set of widely accepted rules for organizing data in a text format. We provide an overview of XML and include details that will deepen your understanding of the following technologies, all covered in this book:
Web Services Description Language (WSDL) : WSDL is an XML-based format for describing how to access a Web service , which is a service that itself uses XML for data exchange. Increasingly, WSDL is used to describe services of any kind.
SOAP (which stands for … SOAP, though it was once called Simple Object Access Protocol): SOAP is the most widely used format for transmitting data to and from a Web service.
XML Path Language (XPath) : XPath is a language used to derive data from XML source such as SOAP data. The language is useful for working with a variety of technologies, including several described in this book. We offer a tutorial introduction. The material is probably sufficient for your work in XPath 1.0 and is intended to make your investigation of XPath 2.0 far easier.
Business Process Execution Language (BPEL)
:
BPEL 2.0 is a language that coordinates services and whose
Service Component Architecture (SCA)
:
SCA is a proposed standard for composing and deploying SOA software that can include but is not limited to Web services. SCA is slated to become the basis of commercial products from several
Service Data Objects (SDO) : SDO is a proposed standard for representing data in a single way, even if the data comes from different types of data sources. SDO is likely to accompany SCA into the limelight.
WS-*
:
This abbreviation (sometimes called
WS
Service-Oriented Architecture (SOA)
is a way of organizing software so that companies can respond quickly to the changing requirements of the
A service
handles a business process such as calculating an insurance quote or distributing email, or handles a relatively technical task such as accessing a database, or provides business data and the technical details needed to construct a graphical interface
can access another service and, with the appropriate runtime technology, can access a traditional program and respond to different kinds of requesters - for example, to Web applications
is relatively independent of other software so that changes to a requester require few or no changes to the service, while changes to the internal logic of a service require few or no changes to the requester
The relative independence of the service and other software is called
loose
coupling
. The flexibility
A service can handle interactions within your company, as well as between your company and its suppliers,
In most cases, the requesting code has no details on the service location. Like the requester, the service can be almost
SOA implies a style of development, with concern for the business as a whole and with an increased focus on modularity and reuse. SOA isn't only for new code, though. Migration of existing applications is
The applications are monolithic, combining the logic of
The applications are hard to understand - first, because the logic is monolithic, but second, because logic was repeatedly patched rather than rewritten as requirements changed. Updates take extra time as developers try to decipher the logic, and as the complexity grows, additional errors accompany updates.
The application inventory has duplicate logic.
From the point of view of a business developer, a change to SOA is a change in emphasis, and many aspects of the job are unaffected. Consider the task of function invocation, for example. When you invoke a function, you aren't