from http://lresende.blogspot.com/search/label/SOA
What Is SOA?
Essentially, SOA is a better way to develop software, by using the basic building blocks of "services." Services are self-contained, stateless business functions, each of which accepts requests and returns responses through a well-defined, standard interface.
For example, a company might build one service to perform the function of checking whether a customer is over his or her credit limit, another service to retrieve a customer's shipping address, and yet another to display a map of a street address. Each of these services might be performed by a different piece of software running on a different computer, some even outside the company itself. Some might be built to fulfill the requirements of a specific application, others might be general-purpose services, and others might have been originally built for another application.
In an SOA, each service operates autonomously without any awareness that other services exist. Communication among the services is accomplished using standard protocols. The services are without memory--they do not remember previous transactions. The services are also discoverable by means of a common services registry.
SOA is not dependent upon any particular programming language, and a service written in one language should be able to interact with another service written in another language, assuming they both adhere to open standards.
Within an SOA, a number of services may be combined to support a business process. Applications that are assembled from a collection of such services are called "composite applications." Building new systems by means of composite applications allows organizations to react quickly to changes in business processes, increasing agility.
SOA is the continuation of the concept of "loose coupling," a principle that has a long history in software engineering. A software item that exhibits loose coupling performs a single function, independent of other functions, with a well-defined interface. This is the concept inherent in the rise of structured or modular programming in the 1970s and object-orientation in the 1980s. The rise of SOA in the early part of this decade is a further evolution of this concept, greatly aided by the introduction of open standards, such as XML and SOAP.
SOA provides benefits to organizations by better enabling integration of disparate systems, increasing software reuse, and by allowing new applications to be developed more quickly.
null
发表于 @ 2007年07月20日 12:59:00|评论(loading...)|编辑|收藏