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.

单块应用程序

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

其他分解技术

库 模块   的缺点

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

  1. SOA (面向服务的架构)-Service Oriented Architecture

    SOA (面向服务的架构) 编辑 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立 ...

  2. Service Oriented Architecture

    What is Service Oriented Architecture (SOA)? There have been so many interpretations of this through ...

  3. Service Oriented Architecture and WCF 【转】

    http://www.codeproject.com/Articles/515253/Service-Oriented-Architecture-and-WCF Introduction This a ...

  4. SOA(Service-Oriented Architecture):面向服务的架构

    SOA (Service-Oriented Architecture):面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联 ...

  5. 集成架构:对比 Web API 与面向服务的架构和企业应用程序集成(转)

    http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不 ...

  6. (转)集成架构:对比 Web API 与面向服务的架构和企业应用程序集成

    摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API ...

  7. Go+gRPC-Gateway(V2) 微服务实战,小程序登录鉴权服务(五):鉴权 gRPC-Interceptor 拦截器实战

    拦截器(gRPC-Interceptor)类似于 Gin 中间件(Middleware),让你在真正调用 RPC 服务前,进行身份认证.参数校验.限流等通用操作. 系列 云原生 API 网关,gRPC ...

  8. 应用程序框架实战十三:DDD分层架构之我见

    前面介绍了应用程序框架的一个重要组成部分——公共操作类,并提供了一个数据类型转换公共操作类作为示例进行演示.下面准备介绍应用程序框架的另一个重要组成部分,即体系架构支持.你不一定要使用DDD这样的架构 ...

  9. 嵌入式linux应用程序移植方法总结

    嵌入式linux应用程序移植方法总结 前段时间一直在做openCapwap的移植和调试工作,现在工作已接近尾声,编写本文档对前段工作进行一个总结,分享下openCapwap移植过程中的经验和感悟.江浩 ...

随机推荐

  1. IPC 通信接口函数的名字

      IPC三种通信机制是指:信号量.共享内存.消息队列 ,管道和命名管道,socket套接字    信号量:通过操作系统中的PV操作来实现: 共享内存:申请一块内存,进程A往共享内存中写,其他的进程就 ...

  2. Hibernate游记——盘缠篇(jar包)

    需要的jar包我都放我百度网盘了 jar(包含注解需要的jar)包传送门:http://pan.baidu.com/s/1o60OYvg

  3. SQLite的sqlite_master表

    SQLite的sqlite_master表   sqlite_master表是SQLite的系统表.该表记录该数据库中保存的表.索引.视图.和触发器信息.每一行记录一个项目.在创建一个SQLIte数据 ...

  4. 会话跟踪技术Cookieless

    会话跟踪技术Cookieless   在Web应用中,通常使用Cookie记录用户的状态,如用户名.访问时间等信息.当进行HTTP请求的时候,会自动发送Cookie信息给服务器.服务器接收到,就可以判 ...

  5. Java中泛型T和Class<T>以及Class<?>的理解(转)

    注意:class是java的关键字, 在声明Java类时使用; Class类的实例表示Java应用运行时的类(class ans enum)或接口(interface and annotation)( ...

  6. 浅析 JavaScript 中的闭包(-------------------------------------------)

    一.前言 对于 JavaScript 来说,闭包是一个非常强大的特征.但对于刚开始接触的初学者来说它又似乎是特别高深的.今天我们一起来揭开闭包的神秘面纱.闭包这一块也有很多的文章介绍过了,今天我就浅谈 ...

  7. Handler处理机制

    handler缺点:如果要运送两种类型的数据(比如一个Bitmap,一个Object)就不能运送,但可以用Bunder来传输  *    使用handler的步骤:  *    1.创建一个handl ...

  8. 【spring boot】13.在spring boot下使用多线程

    使用场景: 方法处理到某一步,需要将信息交给另一个线程去处理!! =================================================================== ...

  9. [影像技术与PACS] 从技术角度看国内部份PACS厂商

    天健PACS较早从事影像医院处理系统,为国外系统或设备以OEM方式提供软件模块.天健的PACS里面三维重建.容积重建.血管分析.虚拟腔镜.头部灌注等部分是用西安盈谷科技的,手术麻醉和重症监护系统是奥迪 ...

  10. C#使用反射机制获取类信息[转]

    http://www.cnblogs.com/zhoufoxcn/archive/2006/10/31/2515873.html 1.用反射动态创建类实例,并调用其公有成员函数. //新建一个类库项目 ...