SOA (service-oriented architecture) 面向服务的体系结构(架构)
是构造分布式计算的应用程序的方法。它将将应用程序功能的实现封装为服务,发送给客户端或者其他服务。
服务导向的架构提升了将用户从服务实现分开的目标。服务可以运行在不同的服务器上,并通过网络被访问。 这也大大增加了服务的重用。
SOA的原则
·可重复使用,粒度,模组性,可组合性,物件化原件,构件化以及具交互操作。
·符合开发标准
·服务的识别和分类,提供和发布,监控和跟踪。
服务
封装
服务
松耦合(Loosely coupled)
- 服务之间的关系最小化,只是互相知道。
服务契约
- 服务按照服务描述文档所定义的服务契约行事。
服务抽象
- 除了服务契约中所描述的内容,服务将对外部隐藏逻辑。
服务的重用性
- 将逻辑分布在不同的服务中,以提高服务的重用性。
服务的可组合性
- 一组服务可以协调工作并组合起来形成一个组合服务。
服务自治
– 服务对所封装的逻辑具有控制权
服务无状态
– 服务将一个活动所需保存的资讯最小化。
服务的可被发现性
– 服务需要对外部提供描述资讯,这样可以通过现有的发现机制发现并访问这些服务。
Windows Communication Foundation (WCF) 是用于构建面向服务的应用程序的框架。
借助 WCF,可以将数据作为异步消息从一个服务终结点发送至另一个服务终结点。 服务终结点可以是由 IIS 承载的 持续可用的服务的一部分,也可以是应用程序中承载的服务。 终结点可以是从服务终结点请求数据的服务客户 端。简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是二进制数据流。
WCF基础知识介绍
1、WCF体系中的角色
WCF结构中,至少有两个角色:服务端与客户端。服务端公开一个或多个服务,客
户端访问这些服务来获取信息
或运算结果。
2、服务(service)和操作(Operation)
服务端公开一个或多个服务,每个服务拥有一个或多个操作,客户端通过调用服务
的操作来获取服务提供方法。
3、终结点(EndPoint)
服务端公开课服务和操作,客户端如何访问呢? EndPoint类似与服务的地址,客
户端按照终结点来找到具体的服务。
4、绑定(Binding)
Binding描述了客户端和服务端的通信方法,或者说协议。比如一个服务端把服务公
开,要求必须用http协议来访问,那么此时绑定就是http绑定,客户端必须用http的
方式来与这个服务端通信才能访问到服务。
[Binding...绑定,是音译出来的吧。。反正我
记住了,Binding..Binding...Baiding... 可以来做门铃]
5、元数据(Metadata)
服务端公开了服务,客户端根据终结点,拿着正确的Binding找到了服务器。客户端
看着服务器... 服务器瞪着客户端,一脸茫然。 因为客户端不知道服务器提供哪些服
务、操作、数据。 客户端只需要知道服务的接口信息(如:名称、方法名、数据类
描述) 这些服务接口的描述信息就是元数据。 服务器通过Metadata Exchange(元
数据交换)把元数据交给客户端。