首页 SA-Style-SOA

SA-Style-SOA

举报
开通vip

SA-Style-SOAnullService-Oriented Architecture王林章 软件工程组 南京大学计算机科学与技术系 lzwang@nju.edu.cn http://cs.nju.edu.cn/lzwangService-Oriented ArchitectureWhy SOA?Why SOA? IT现状 不同种类的操作系统,应用软件,系统软件和应用基础结构(application infrastructure)相互交织 一些现存的应用程序被用来处理当前的业务流程(business processes),因此从头建立...

SA-Style-SOA
nullService-Oriented Architecture王林章 软件 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 组 南京大学计算机科学与技术系 lzwang@nju.edu.cn http://cs.nju.edu.cn/lzwangService-Oriented ArchitectureWhy SOA?Why SOA? IT现状 不同种类的操作系统,应用软件,系统软件和应用基础结构(application infrastructure)相互交织 一些现存的应用程序被用来处理当前的业务 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 (business processes),因此从头建立一个新的基础环境是不可能的。 面临的问题 业务的不断变化需要企业做出快速的反应 需要复用现有的应用程序和应用基础设施(application infrastructure) 为客户,商业伙伴以及供应商提供新的互动渠道The business drivers for a new approachThe business drivers for a new approachWhile 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 competitive be more responsive to the business’s strategic priorities. There are two underlying themes behind all of these pressures: Heterogeneity and changeThe business drivers for a new approachThe business drivers for a new approachHeterogeneity Most enterprises today contain a range of different systems, applications, and architectures of different ages and technologies. Integrating products from multiple vendors and across different platforms were almost always a nightmare. But we also cannot afford to take a single-vendor approach to IT, because application suites and the supporting infrastructure are so inflexible. Change Globalization and e-business are accelerating the pace of change. Improvements in technology continue to accelerate, feeding the increased pace of changing customer requirements. The business drivers for a new approachThe business drivers for a new approachAs a result, business organizations are evolving from the vertical, isolated business divisions of the 1980’s and earlier to the horizontal business-process-focused structures of the 1980’s and 1990’s towards the new ecosystem business paradigm. Business services now need to be componentized and distributed. There is a focus on the extended supply chain, enabling customer and partner access to business services.The business drivers for a new approachThe business drivers for a new approachQuestions: How do I make my IT environment more flexible and responsive to the ever changing business requirements? How can we make those heterogeneous systems and applications communicate as seamlessly as possible? How can we achieve the business objective without bankrupting the enterprise? Currently many IT executives and professionals alike believe that now we are getting really close to providing a satisfactory answer with service-oriented architecture.The business drivers for a new approachThe business drivers for a new approachIn order to alleviate the problems of heterogeneity, interoperability and ever changing requirements, such an architecture should provide a platform for building application services with the following characteristics: Loosely coupled Location transparent Protocol independent Based on such a service-oriented architecture, a service consumer does not even have to care about a particular service it is communicating with because the underlying infrastructure, or service “bus”, will make an appropriate choice on behalf of the consumer. The infrastructure hides as many technicalities as possible from a requestor. Particularly technical specificities from different implementation technologies such as J2EE or .NET should not affect the SOA users. We should also be able to reconsider and substitute a “better” service implementation if one is available, and with better quality of service characteristics. Object-oriented analysis and designObject-oriented analysis and designObject-oriented analysis and design Larman describes the essence of the object-oriented analysis and design as considering “a problem domain and logical solution from the perspective of objects (things, concepts, or entities)” in Applying UML and Patterns – An Introduction to Object-Oriented Analysis and Design. Jacobson, et al, define these objects as being “characterized by a number of operations and a state that remembers the effects of these operations” in Object-Oriented Software Engineering: A Use Case Driven Approach. In object-oriented analysis, such objects are identified and described in the problem domain, while in object-oriented design, they are transitioned into logical software objects that will ultimately be implemented in a object-oriented programming language. With object-oriented analysis and design, certain aspects of the object (or group of objects) can be encapsulated to simplify the analysis of complex business scenarios. Certain characteristics of the object(s) can also be abstracted so that only the important or essential aspects are captured, in order to reduce complexity.Component-based designComponent-based designComponent-based design is not a new technology. It is naturally evolved from the object paradigm. Packaged solution suites can also be encapsulated as such “components”. Once the organization achieves a higher level of architectural maturity based on distinctly separate functional components, the applications that support the business can be partitioned into a set of increasingly larger grained components. Components can be seen as the mechanism to package, manage and expose services. They can use a set of technologies in concert: Large-grained enterprise components, that implement business-level use-cases, can be implemented using newer object-oriented software development in combination with legacy systems. Service-oriented designService-oriented designIn Component-Based Development for Enterprise Systems, Allen includes the notion of services, describing a component as “an executable unit of code that provides physical black-box encapsulation of related services. Its service can only be accessed through a consistent, published interface that includes an interaction standard. A component must be capable of being connected to other components (through a communications interface) to a larger group”. A service is generally implemented as a course-grained, discoverable software entity that exists as a single instance and interacts with applications and other services through a loosely coupled, message-based communication model.SOASOASOA的理念最初由全球最具权威的IT研究与顾问咨询公司Gartner于1996年提出: “A service-oriented architecture is a style of multitier computing that helps organizations share logic and data among multiple applications and usage modes.”。 SOASOAOASIS defines SOA as the following: A paradigm for organizing 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. SOAWikipedia In computing, the term Service-Oriented 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 network are made available as independent services that can be accessed without knowledge of their underlying platform implementation。 SOASOASOA在计算领域,面向服务的体系结构 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示这样一种软件体系结构,它定义使用服务来满足软件用户的需求。在一个SOA环境下,网络上的资源是以独立可访问的服务存在的,访问这些服务不需要了解它们的底层平台实现细节。 “一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程”。 SOASOA面向服务的体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。 Service-oriented designService-oriented designimportant service-oriented terminology: Services: Logical entities, the contracts defined by one or more published interfaces. Service provider: The software entity that implements a service specification. Service consumer (or requestor): The software entity that calls a service provider. Traditionally, this is termed a “client”. A service consumer can be an end-user application or another service.Service locator: A specific kind of service provider that acts as a registry and allows for the lookup of service provider interfaces and service locations. Service broker: A specific kind of service provider that can pass on service requests to one or more additional service providers.Interface-based designInterface-based designIn both component and service development, the design of the interfaces is done such that a software entity implements and exposes a key part of its definition. Therefore, the notion and concept of “interface” is key to successful design in both component-based and service-oriented systems. The following are some key interface-related definitions: Interface: Defines a set of public method signatures, logically grouped but providing no implementation. An interface defines a contract between the requestor and provider of a service. Any implementation of an interface must provide all methods. Published interface: An interface that is uniquely identifiable and made available through a registry for clients to dynamically discover. Public interface: An interface that is available for clients to use but is not published, thus requiring static knowledge on the part of the client. Dual interface: Frequently interfaces are developed as pairs such that one interface depends on another; for example, a client must implement an interface to call a requestor because the client interface provides some callback mechanism.Interface-based designInterface-based designThe following figure shows the UML definition of a customer relationship management (CRM) service, represented as a UML component, 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 architecturesLayered application architecturesObject-oriented technology and languages are great ways to implement components. While components are the best way to implement services, though one has to understand that a good component-based application does not necessarily make an good service-oriented 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 composition using traditional component design.A closer look at service-oriented architectureA closer look at service-oriented architectureService-oriented architecture presents an approach for building distributed systems that deliver application functionality as services to either end-user applications or other services. It is comprised of elements that can be categorized into functional and quality of service. A closer look at service-oriented architectureA closer look at service-oriented architectureFunctional 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 communicate 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 composed 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 service-oriented architectureA closer look at service-oriented architectureQuality 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; 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 complete a business function, all must complete or none must complete. Management is the set of attributes that might be applied to managing the services provided or consumed.SOA collaborationsSOA collaborationsThe following figure shows the collaborations in a service-oriented 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 collaborationsSOA collaborationsThe roles in a service-oriented 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 service according to the interface contract. Service provider: The service provider is a network-addressable entity that accepts and executes requests from consumers. It publishes its services and interface contract to the service registry so that the service consumer can discover and access the service. Service registry: A service registry is the enabler for service discovery. It contains a repository of available services and allows for the lookup of service provider interfaces to interested service consumers. Each entity in the service-oriented architecture can play one (or more) of the three roles of service provider, consumer and registry.SOA collaborationsSOA collaborationsThe operations in a service-oriented architecture are: Publish: To be accessible, a service description must be published so that it can be discovered and invoked by a service consumer. Find: A service requestor locates a service by querying the service registry for a service that meets its criteria. Bind and invoke: After retrieving the service description, the service consumer proceeds to invoke the service according to the information in the service description. The artifacts in a service-oriented architecture are: Service: A service that is made available for use through a published interface that allows it to be invoked by the service consumer. Service description: A service description specifies the way a service consumer will interact with the service provider. It specifies the format of the request and response from the service. This description may specify a set of preconditions, post conditions and/or quality of service (QoS) levels.SOA collaborationsSOA collaborationsIn addition to dynamic service discovery and definition of a service interface contract, a service-oriented architecture has the following characteristics: Services are self-contained and modular. Services support interoperability. Services are loosely coupled. Services are location-transparent. Services are composite modules, comprised of components. These characteristics are also central to fulfilling the requirements for an e-business on demand™ operational environment.Finally, service-oriented architecture is not a new notion. Services vs. componentsServices vs. componentsA service is a coarse-grained processing unit that consumes and produces sets of objects passed-by-value. It is not the same as an object in programming language terms. Instead, it is perhaps closer to the concept of a business transaction such as a CICS® or IMS™ transaction than to a remote CORBA object. A service consists of a collection of components that work in concert to deliver the business function that the service represents. Thus, in comparison, components are finer-grained than services. In addition, while a service maps to a business function, a component typically maps to business entities and the business rules that operate on them. As an example, let us look at the Purchase Order component model for the WS-I Supply Chain Management sample. Services vs. componentsServices vs. componentsIn a component-based design, components are created to closely match business entities (such as Customer, Purchase Order, Order Item) and encapsulate the behavior that matches the entities’ expected behavior. Purchase Order component provides functions to obtain information about the list of products ordered and the total amount of the order Item component provides functions to obtain information about the quantity and price of the product ordered. In a service-oriented design, services are not designed based on business entities. Instead, each service is a holistic unit that manages operations across a set of business entities. For example, a customer service will respond to any request from any other system or service that needs to access customer information. The customer service can process a request to update customer information; add, update, delete investment portfolios; and enquire about the customer’s order history. The customer service owns all the data related to the customers it is managing and is capable of making other service inquiries on behalf of the calling party in order to provide a unified customer service view. This means a service is a manager object that creates and manages its set components. Service-oriented architecture benefitsService-oriented architecture benefitsWith a service-oriented architecture, we can realize several benefits to help organizations succeed in the dynamic business landscape of today: Leverage existing assets. Easier to integrate and manage complexity. More responsive and faster time-to-market. Reduce cost and increase reuse. Be ready for what lies ahead. Service-oriented architecture is by no means a silver bullet, and migration to SOA is not an easy task. Rather than migrating the whole enterprise to a service-oriented architecture overnight, the recommended approach is to migrate an appropriate subset of business functions as the business need arises or is anticipated.Service-Oriented ArchitectureService-Oriented ArchitectureArchitecture Classification for SOA-Based Applications W.T. Tsai, Chun Fan, Yinong Chen Arizona State University,Tempe, AZ 85287 {wtsai, fanchun, yinong}@asu.edu Raymond Paul Department of Defense, Washington, DC Raymond.Paul@osd.mil Jen-Yao Chung IBM T. J. Watson, Research Center jychung@us.ibm.comService-Oriented ArchitectureService-Oriented ArchitectureThe architecture of SOA-based applications is different from traditional software architecture where the architecture is mainly static. The architecture of an SOA-based application is dynamic, i.e., the application may be composed at runtime using existing services. Thus SOA has provided a new direction for software architecture study, where the architecture is determined 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 composing instead of traditional process of designing and coding software. Service-Oriented ArchitectureService-Oriented ArchitectureSOA software has the following characteristics that are different from traditional softwar
本文档为【SA-Style-SOA】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_250369
暂无简介~
格式:ppt
大小:834KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2014-02-26
浏览量:27