【正文】
add, update, delete investment portfolios。 ? “一種應用程序體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,所有功能都定義為獨立的服務,這些服務帶有定義明確的可調(diào)用接口,可以以定義好的順序調(diào)用這些服務來形成業(yè)務流程”。 SOA ? OASIS defines SOA as the following: ? A paradigm for anizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations. ? Wikipedia ? In puting, the term ServiceOriented Architecture (SOA) expresses a perspective of software architecture that defines the use of services to support the requirements of software users. In an SOA environment, resources on a work are made available as independent services that can be accessed without knowledge of their underlying platform implementation。 for example, a client must implement an interface to call a requestor because the client interface provides some callback mechanism. Interfacebased design ? The following figure shows the UML definition of a customer relationship management (CRM) service, represented as a UML ponent, that implements the interfaces AccountManagement, ContactManagement, and SystemsManagement. ? Only the first two of these are published interfaces, although the latter is a public interface. ? Note that the SystemsManagement interface and ManagementService interface form a dual interface. Layered application architectures ? Objectoriented technology and languages are great ways to implement ponents. While ponents are the best way to implement services, though one has to understand that a good ponentbased application does not necessarily make an good serviceoriented application. ? The term “the application edge” reflects the fact that a service is a great way to expose an external view of a system, with internal reuse and position using traditional ponent design. A closer look at serviceoriented architecture ? Serviceoriented architecture presents an approach for building distributed systems that deliver application functionality as services to either enduser applications or other services. It is prised of elements that can be categorized into functional and quality of service. A closer look at serviceoriented architecture ? Functional aspects include: ? Transport is the mechanism used to move service requests from the service consumer to the service provider, and service responses from the service provider to the service consumer. ? Service Communication Protocol is an agreed mechanism that the service provider and the service consumer use to municate what is being requested and what is being returned. ? Service Description is an agreed schema for describing what the service is, how it should be invoked, and what data is required to invoke the service successfully. ? Service describes an actual service that is made available for use. ? Business Process is a collection of services, invoked in a particular sequence with a particular set of rules, to meet a business requirement. Note that a business process could be considered a service in its own right, which leads to the idea that business processes may be posed of services of different granularities. ? The Service Registry is a repository of service and data descriptions which may be used by service providers to publish their services, and service consumers to discover or find available services. The service registry may provide other functions to services that require a centralized repository. A closer look at serviceoriented architecture ? Quality of service aspects include: ? Policy is a set of conditions or rules under which a service provider makes the service available to consumers. There are aspects of policy which are functional, and aspects which relate to quality of service。 ? Faulttolerance: an application can have FB (faulttolerant munication backbone), FC (faulttolerant control services), or FN (no faulttolerance)。這使得構(gòu)建在各種各樣的系統(tǒng)中的服務可以以一種統(tǒng)一和通用的方式進行交互。王林章 軟件工程組 南京大學計算機科學與技術(shù)系 ServiceOriented Architecture Why SOA? ? IT現(xiàn)狀 ? 不同種類的操作系統(tǒng),應用軟件,系統(tǒng)軟件和應用基礎(chǔ)結(jié)構(gòu)( application infrastructure)相互交織 ? 一些現(xiàn)存的應用程序被用來處理當前的業(yè)務流程(business processes),因此從頭建立一個新的基礎(chǔ)環(huán)境是不可能的。接口是采用中立的方式進行定義的,它應該獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言。 ? Reposition: an application can have R (for with dynamic reposition capability) or N (for without it), but not both。 therefore we have the policy function in both functional and quality of service areas. ? Security is the set of rules that might be applied to the identification, authorization, and access control of service consumers invoking services. ? Transaction is the set of attributes that might be applied to a group of services to deliver a consistent result. For example, if a group of three services are to be used to plete a business function, all must plete or none must plete. ? Management is the set of attributes that might be applied to managing the services provided or consumed. SOA collaborations ? The following figure shows the collaborations in a serviceoriented architecture. The collaborations follows the “find, bind and invoke” paradigm. ? A service consumer performs dynamic service location by querying the service registry for a service that matches its criteria. ? If the service exists, the registry provides the consumer with the interface contract and the endpoint address for the service. SOA collaborations ? The roles in a serviceoriented architecture are: ? Service consumer: The service consumer is an application, a software module or another service that requires a service. It initiates the enquiry of the service in the registry, binds to the service over a transport, and executes the service function. The service consumer executes the