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.
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.
The services act as black boxes, that is their inner logic is hidden from the consumers.
Services are independent and control the functionality they encapsulate, from a Design-time and a run-time perspective.
Services are stateless, that is either return the requested value or give an exception hence minimizing resource use.
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]
Services can be used to compose other services.
Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.
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 构造分布式计算的应用程序的方法 面向服务的架构 分解技术的更多相关文章
- SOA (面向服务的架构)-Service Oriented Architecture
SOA (面向服务的架构) 编辑 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立 ...
- Service Oriented Architecture
What is Service Oriented Architecture (SOA)? There have been so many interpretations of this through ...
- Service Oriented Architecture and WCF 【转】
http://www.codeproject.com/Articles/515253/Service-Oriented-Architecture-and-WCF Introduction This a ...
- SOA(Service-Oriented Architecture):面向服务的架构
SOA (Service-Oriented Architecture):面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联 ...
- 集成架构:对比 Web API 与面向服务的架构和企业应用程序集成(转)
http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不 ...
- (转)集成架构:对比 Web API 与面向服务的架构和企业应用程序集成
摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API ...
- Go+gRPC-Gateway(V2) 微服务实战,小程序登录鉴权服务(五):鉴权 gRPC-Interceptor 拦截器实战
拦截器(gRPC-Interceptor)类似于 Gin 中间件(Middleware),让你在真正调用 RPC 服务前,进行身份认证.参数校验.限流等通用操作. 系列 云原生 API 网关,gRPC ...
- 应用程序框架实战十三:DDD分层架构之我见
前面介绍了应用程序框架的一个重要组成部分——公共操作类,并提供了一个数据类型转换公共操作类作为示例进行演示.下面准备介绍应用程序框架的另一个重要组成部分,即体系架构支持.你不一定要使用DDD这样的架构 ...
- 嵌入式linux应用程序移植方法总结
嵌入式linux应用程序移植方法总结 前段时间一直在做openCapwap的移植和调试工作,现在工作已接近尾声,编写本文档对前段工作进行一个总结,分享下openCapwap移植过程中的经验和感悟.江浩 ...
随机推荐
- angular杂谈
<element ng-include="filename" onload="expression" autoscroll="expressio ...
- 最全py2exe
这次不是直接讲解下去,而是谈一下如何把我们写的游戏做成一个exe文件,这样一来,用户不需要安装python就可以玩了.扫清了游戏发布一大障碍啊! perl,python,java等编程语言,非常好用, ...
- select、poll和epoll的区别(转载)
select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作.但select ...
- 转Yii框架radioButtonlist水平横排及去除除换行符号
横排: echo $form->radiobuttonlist($model, ‘type’,$arrtype,array(‘template’ => ‘<li style=”dis ...
- cin和scanf的速度差别
好长时间没有遇到这种问题了,以前虽然知道scanf比cin快,但是没想到快这么多,见图. 50万的数据. scanf输入: cin输入: 网上说用std::ios::sync_with_stdio(f ...
- 2012-2013 ACM-ICPC, NEERC, Central Subregional Contest
A Hanoi Tower 递归 题意: 大家都很熟悉汉诺塔的递归程序,现在给你一个组合,询问你这个组合是否会出现在汉诺塔的递归过程中. 题解: 将汉诺塔的递归程序反过来思考,考虑当前最大的那个盘,我 ...
- sql server 博客
http://blog.csdn.net/tjvictor/article/category/531421/1 http://blog.csdn.net/zhangqidashu/article/de ...
- Concurrency and Application Design (一)
在计算机发展的早期,单位工作时间的最高限额是一台计算机可以执行通过CPU的时钟速度确定.但是,随着技术的进步和处理器设计变得更紧凑,热等物理约束开始限制处理器的最高时钟速度.因此,芯片制造商寻找其它的 ...
- Ural 2018The Debut Album(DP)
题目地址:Ural 2018 简单DP.用滚动数组. 代码例如以下: #include <iostream> #include <cstdio> #include <st ...
- cocos2d-x-3.x bringToFront & sendToBack实现
void Node::bringToFront(void) { auto parent = this->getParent(); if (parent != nullptr && ...