分类:
2008-11-20 00:15:44
首先简单的介绍一下一些基础的概念,这些都是从MSDN或网站上摘录下来的。
1、 SOA(面向服务架构)
SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
SOA可以看作是B/S模型、XML/Web Service技术之后的自然延伸。SOA将能够帮助我们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。
2、SOA与Web Service
Web Service是就现在而言最适合实现SOA的一些技术的集合,事实上最近SOA的火爆在很大程度上归功于Web Service标准的成熟和应用的普及为广泛的实现SOA架构提供了基础。
3、SOA与WCF,以及什么是WCF
Windows Communication Foundation (WCF)是Microsoft推出的面向服务架构(SOA)平台。
Windows Communication Foundation (WCF) 是 Microsoft 为构建面向服务的应用程序而提供的统一编程模型。借助这一模型,开发人员可以构建既能跨平台与现有投资集成又能与现有投资交互的安全、可靠和事务处理的解决方案。
Windows Communication Foundation (WCF) 是一个运行库和一组 API,用于创建在服务与客户端之间发送消息的系统。它使用相同的基础结构和 API 来创建应用程序,这些应用程序可与同一计算机系统上或驻留在另一家公司内并通过 Internet 访问的系统上的其他应用程序进行通信。
最后,总结一下入门教程中的例子(最好动手敲敲代码,跑一下程序,比较容易理解):
1、服务器端的实现:
1)创建服务器端项目,以下操作均在此项目中进行;
2)定义服务协定(契约)——定义接口;
3)实现服务协定——定义实现2)中接口的类;
4)创建主机进程,在此进程中配置、承载和运行服务:
配置服务:配置服务的基址(Uri),此基址在客户进程连接服务器时使用(就像我们访问网站时需要使用的网址一样)
承载服务:创建一个服务实例(Service),创建时需要在构造函数中指定具体的服务(即3)中实现的服务协定)和服务基址;接下来还要在服务实例中添加公开服务的端点(Endpoint),外部的访问都是通过这个端点使用服务的。(至于“启用元数据交换”这个概念暂时不了解,大家有明白的介绍一下,谢谢)
运行服务:直接调用服务实例(Service)的Open()方法运行服务。
注:服务运行结束应关闭服务。
2、客户端的实现:
1)创建客户端项目,以下操作均在此项目中进行
2)创建客户进程
3)创建客户代理(Proxy)和配置文件(.config),并将其添加到客户端项目中:
可使用工具Service Model Metadata Utility Tool (SvcUtil.exe)生成客户代理(Proxy)和配置文件(.config)。注意此时服务器需要在运行中,SvcUtil.exe才能获取到服务协定。
4)在客户进程中创建端点(Endpoint)对象,并将其绑定到代理(Proxy)对象中
5)使用代理(Proxy)对象可以直接调用远程方法,在客户端看来跟调用本地接口没什么区别。
不好意思,没什么时间好好写,水平也比较有限,最近刚看第一个视频,只是一点小小的见解。希望是个美好的开始。祝大家学习愉快!
吴永欢