【正文】
ed at runtime and architecture can be dynamically changed at runtime to meet the new software requirements. ? Thus a target application is built through service discovery and posing instead of traditional process of designing and coding software. ServiceOriented Architecture ? SOA software has the following characteristics that are different from traditional software: ? Standardbased Interoperability ? SOA emphasizes on standbased interface, protocols, munication, coordination, workflow, discovery, collaboration, and publishing via standard protocols such as XML, SOAP, WSDL, UDDI, HTTP, CPP, ebXML, ebSOA, BPEL, FERA, and OWLS. ? These standards allow services developed on different platforms can interoperate with each other with the knowledge of service specifications only. ? Dynamic Composition via Discovery ? SOA provides a new way of application development by using services just discovered. Furthermore, the position and discovery can be carried out at runtime. ServiceOriented Architecture ? Dynamic Governance and Orchestration ? Execution of services needs to be controlled and several mechanisms are available. One is service governance by policy. More specifically, policies can be specified, checked, and enforced during development time and at runtime. ? The other is orchestration where process execution will be coordinated by a central controller and it is responsible for scheduling the execution of services that may be distributed across a connectivity work such as ESB (Enterprise Service Bus). ServiceOriented Architecture ? Architecture of SOA applications, including IBM SOA Foundation architecture, Microsoft’s Whitehorse, SAP’s NetWeaver, OASIS’s FERA and various enterprise SOA applications such as Enterprise SOA and ServiceOriented Enterprise. Application Architecture Issues ? Due to dynamic nature of SOA, the architecture of SOAbased applications has the following characteristics that are distinct from traditional software architectures: ? Dynamic architecture and dynamic rearchitecture ? Lifecycle management embedded in the operation infrastructure architecture ? In traditional software design, the architecture can not be changed after its deployment. In SOA, the basic building block is not a ponent but a service. ? Services are usually connected to a buslike munication backbone such as an ESB (Enterprise Service Bus). Communications among the services are controlled by a control center, which is also attached to the munication backbone. Application Architecture Issues ? This new approach allows new services to be added into the system without stopping the application. ? Furthermore, a new application can be posed from the existing services by just changing the workflow specification without changing the basic SOA framework. Application Architecture Issues ? IBM SOA Foundation architecture consists of stages: modeling, assembling, deployment, and management. ? Furthermore, runtime governance activities are performed to provide guidance and oversight for the target SOA application. ? The activities in the four stages are performed iteratively. ? Modeling: Gather requirements and establish the application model to represent the system using a set of services. ? Assembling: The designer can either create required services from scratch or find an existing service from a service broker to develop the application according to the model constructed. ? Deployment: The runtime environment is configured to meet the application’s requirements, and the application is deployed into that environment for execution. ? Management: After the application is deployed, the services used in the application are provisioned and monitored for information needed to prevent, isolate, diagnose, and fix any problem that might occur during application runtime. SOA Architecture Classification ? SOA Architecture Classification (SOAC) for SOAbased applications, which is based on four parameters: ? The structure of the application. It can be either static or dynamic. ? The runtime reposition capability. If the architecture can support runtime reposition, services in the applications using this type of architectures can be replaced by some other services to meet changing requirements or to fix runtime failures. Note that it is not necessary to classify an architecture base on dynamic position as this is already a part of SOA definition. ? The faulttolerance capability. This can be further deposed into two subfactors: faulttolerant control center and faulttolerant munication backbone. ? The system engineering support for SOA applications will be needed as a part of the lifecycle management. Some sample system engineering support includes modelbased development, policy specification and enforcement, pleteness and consistency checking, model checking, simulation, reliability assessment, automated code generation, monitoring, and data collection. SOA Architecture Classification ? With these parameters, one can specify the classification of an SOA application using a tuple (Structure, Reposition, Faulttolerance, System engineering), where ? Structure: an application can have S (for static structure) or D (dynamic structure), but not both。 SOA ? 面向服務(wù)的體系結(jié)構(gòu) (SOA)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元 (稱(chēng)為服務(wù) )通過(guò)這些服務(wù)之間定義良好的接口和契約聯(lián)系起來(lái)。 ? 面臨的問(wèn)題 ? 業(yè)務(wù)的不斷變化需要企業(yè)做出快速的反應(yīng) ? 需要復(fù)用現(xiàn)有的應(yīng)用程序和應(yīng)用基礎(chǔ)設(shè)施(application infrastructure) ? 為客戶(hù),商業(yè)伙伴以及供應(yīng)商提供新的互動(dòng)渠道 The business drivers for a new approach ? While IT executives have been facing the challenge of ? cutting costs ? maximizing the utilization of existing technology ? At the same time they have to ? continuously strive to serve customers better ? be more petitive ? be more responsive to the business’s s