面向对象—》面向组件—》面向服务
.net是面向组件的平台。.net 中的每个类实际上是二进制组件,这与C++类大相径庭。
.NET 作为面向组件运行时提供了平台对组件的支持:类、基本类型语言以及类库。
目前还没有面向服务的平台。
WCF
WCF是基于Windows平台下开发和部署服务的SDK(软件开发工具包)。Wcf为服务提供了运行时环境,使得开发者能够将CLR类型公开为服务,又能够以CLR类型的方式使用服务。
服务
服务是公开的一组功能的集合。
客户端与服务通过消息的发送与接收进行交互。消息可以直接在客户端与服务之间进行传递,也可以通过中间方式进行传递。WCF中的消息通常是SOAP消息(与传输协议无关,这是与WEB服务的不同之处)。
服务的执行便捷:WCF不允许客户端直接与服务交互,即使它调用的是本地机器内存中的服务。客户端总是使用代理将调用转发给服务。
WCF与.DCOM和.NET Remoting等分布式技术的区别:
在WCF中,即使对象是本地的,WCF仍然使用远程编程模型的实例化方式,并使用代理。
地址
地址包含:服务位置与传输协议(传输样式)
服务位置:目标机器名、站点或网络、通信端口、管道或队列、可选的特定路径或者URI
WCF支持的传输样式:HTTP,TCP,Peer network(对等网),IPC(内部进程通信)
HTTP地址:通常会被用作对外的基于Internet的服务,并为其指定端口号
契约
契约与平台无关,是描述服务功能的标准方式。
服务契约:描述了客户端能够执行的服务操作。
数据契约:定义了与服务交互的数据类型。
错误契约:定义了服务抛出的错误,以及服务处理错误和锄地错误到客户端的方式。
消息契约:允许服务直接与消息交互。
3月8日