service oriented architecture 构造分布式计算的应用程序的方法 面向服务的架构 分解技术

 

zh.wikipedia.org/wiki/面向服务的架构

【程序功能做为服务】

面向服务的体系结构英语:service-oriented architecture)是构造分布式計算的应用程序的方法。它将应用程序功能作为服务发送给最终用户或者其他服务

它采用开放标准、与软件资源进行交互并采用表示的标准方式。

 

  • 服務封裝
  • 服務鬆耦合(Loosely coupled) - 服務之間的關係最小化,只是互相知道。
  • 服務契約 - 服務按照服務描述文檔所定義的服務契約行事。
  • 服務抽象 - 除了服務契約中所描述的內容,服務將對外部隱藏邏輯。
  • 服務的重用性 - 將邏輯分佈在不同的服務中,以提高服務的重用性。
  • 服務的可組合性 - 一組服務可以協調工作並組合起來形成一個組合服務。
  • 服務自治 – 服務對所封裝的邏輯具有控制權
  • 服務無狀態 – 服務將一個活動所需保存的資訊最小化。
  • 服務的可被發現性 – 服務需要對外部提供描述資訊,這樣可以通過現有的發現機制發現並訪問這些服務。

 

en.wikipedia.org/wiki/Service-oriented_architecture

 

【不强调模块  分布式】

Different services can be used in conjunction to provide the functionality of a large software application.[4] So far, the definition could be a definition of modular programming in the 1970s. Service-oriented architecture is less about how to modularize an application, and more about how to compose an application by integration of distributed, separately-maintained and deployed software components. It is enabled by technologies and standards that make it easier for components to communicate and cooperate over a network, especially an IP network.

 

 

 

Standardized service contract

Services adhere to a standard communications agreements, as defined collectively by one or more service-description documents within a given set of services.Service reference autonomy (an aspect of loose coupling)The relationship between services is minimized to the level that they are only aware of their existence.Service location transparency (an aspect of loose coupling)Services can be called from anywhere within the network that it is located no matter where it is present.Service longevityServices should be designed to be long lived. Where possible services should avoid forcing consumers to change if they do not require new features, if you call a service today you should be able to call the same service tomorrow.

Service abstraction

The services act as black boxes, that is their inner logic is hidden from the consumers.

Service autonomy

Services are independent and control the functionality they encapsulate, from a Design-time and a run-time perspective.

Service statelessness

Services are stateless, that is either return the requested value or give an exception hence minimizing resource use.

Service granularity

A principle to ensure services have an adequate size and scope. The functionality provided by the service to the user must be relevant.Service normalizationServices are decomposed or consolidated (normalized) to minimize redundancy. In some, this may not be done, These are the cases where performance optimization, access, and aggregation are required.[15]

Service composability

Services can be used to compose other services.

Service discovery

Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.

Service reusability

Logic is divided into various services, to promote reuse of code.

Service encapsulation

Many services which were not initially planned under SOA, may get encapsulated or become a part of SOA.

 

 

单块应用程序

通信协议、中间件、服务粒度  的确定  

其他分解技术

 

库 模块   的缺点

 

 

 

posted @ 2017-10-27 22:31  papering  阅读(318)  评论(0编辑  收藏  举报