《WebService与SOA、WCF之间的关系与各自的概念(包含实践的实例).ppt》由会员分享,可在线阅读,更多相关《WebService与SOA、WCF之间的关系与各自的概念(包含实践的实例).ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、原因原因通过走读代码,发现:通过走读代码,发现:EF与项目的命名空间不同与项目的命名空间不同前者为前者为WindowsFormsApplication3后者为后者为StudentManageZTT.NET代码、代码、EF的基本实现原理不熟悉的基本实现原理不熟悉实例化容器,即实例化容器,即EntityContainer采用采用Linq表达式,操作数据表达式,操作数据EF如何刷新数据如何刷新数据主题主题SOAweb服务服务WCF技术技术SOA、web服务服务、WCF三者间的三者间的关系关系Demo:WCF实现实现web服务服务百度百科百度百科-简介简介SOA(Service-OrientedArc
2、hitecture),面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML/WebService技术之后的自然延伸。SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化典
3、型基础结构典型基础结构核心概念核心概念WSDL,UDDI和SOAP是SOA基础的基础部件。WSDL用来描述服务;UDDI用来注册和查找服务;而SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。SOAP是Web服务的默认机制,其他的技术为可以服务实现其他类型的绑定。一个消费者可以在UDDI注册表(registry)查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务。Web服务技术是一套标准,定义了应用程序如何在web上实现互操作,从而建立可互操作的分布式应用的新平台用户可使用任何语言,在不同的平台下编写web服务,然后进行注册、查询和访问WebServices是由企业发布的完
4、成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。典型企业应用典型企业应用Web服务是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。用简单点的话说,就是系统对外的接口!WebService是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问WebService,通过WebService内部执行得到所需结果.WebService可以执行从简单的请求
5、到复杂商务处理的任何功能。一旦部署以后,其他WebService应用程序可以发现并调用它部署的服务。关键技术关键技术XML:描述数据的标准方法.SOAP:简单对象访问协议.WSDL:Web服务描述语言.UDDI(UniversalDescription,DiscoveryandIntegration):通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。SOAPSOAP简单对象访问协议简单对象访问协议通信协议,通信协议,HTTP传输格式,传输格式,XML服务描述,服务描述,WSD,服务端提供的自我描述文档,服务端提供的自我描述文档服务描述语言,服务描述语言
6、,WSDL,格式化了的服务描述,格式化了的服务描述标记标记SOAP定义一种定义一种XML语法,用于描述语法,用于描述web服服务中的方法名称、参数和返回值务中的方法名称、参数和返回值Web ServiceWeb Service完全屏蔽掉各应用程序的差异完全屏蔽掉各应用程序的差异提供统一的访问提供统一的访问形式形式使用使用HTTP协议传输数据协议传输数据用用XML格式传递参数、接收应答格式传递参数、接收应答实质上是接口,通过实验会更加清晰实质上是接口,通过实验会更加清晰SOA 不是不是Web服务服务两者关系容易混淆根据2003年4月的Gartner报道,YefimV.Natis就这个问题是这样解
7、释的:Web服务是技术规范,而SOA是设计原则。Web服务中的WSDL,是一个SOA配套的接口定义标准:这是Web服务和SOA的根本联系。从本质上来说,SOA是一种架构模式,而Web服务是利用一组标准实现的服务。Web服务是实现SOA的方式之一。起因起因面向服务架构(Service-OrientedArchitecture)也开始盛行于软件工业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是WindowsCommunicationFoundation。WCF微软在微软在DotNet 3.0时推出,全称时推出,全称Windows
8、Communication Foudation,通信基础,通信基础架构架构不但能提供不但能提供web Service,还可以提供,还可以提供Remoting,Enterprise Services,MSMQ等等目标是为这些技术提供统一的编程模型,目标是为这些技术提供统一的编程模型,将编程与通信基础结构分开将编程与通信基础结构分开SOA、Web服务、服务、WCFSOA是一种系统架构模式是一种系统架构模式Web服务是服务是SOA的实现方式之一,定义了的实现方式之一,定义了实现标准实现标准WCF是是.NET平台上的技术手段,可按标准平台上的技术手段,可按标准实现实现Web服务服务实现方式实现方式通信
9、双方的沟通方式,由合约合约来订定。通信双方所遵循的通信方法,由协议绑定协议绑定来订定。通信期间的安全性,由双方约定的安全性安全性层次层次来订定。合约合约数据合约(DataContract),订定双方沟通时的数据格式。服务合约(ServiceContract),订定服务的定义。操作合约(OperationContract),订定服务提供的方法。消息合约(MessageContract),订定在通信期间改写消息内容的规范。协议绑定协议绑定由于WCF支持了HTTP,TCP,NamedPipe,MSMQ,Peer-To-PeerTCP等协议而HTTP又分为基本HTTP支持(BasicHttpBindi
10、ng)以及WS-HTTP支持(WsHttpBinding)TCP亦支持NetTcpBinding,NetPeerTcpBinding等通信方式因此,双方必须要统一通信的协议,并且也要在编码以及格式上要有所一致。安全性层次安全性层次WCF实现上已经支持了传输层次安全性(Transport-levelsecurity)以及消息层次安全性(Message-levelsecurity)两种。传输层次安全性:在数据传输时期加密,例如SSL。消息层次安全性:在数据处理时就加密,例如使用数字签名,散列或是使用密钥加密法等。客户端客户端所有WCF服务的连接都是由客户端的服务代理(WCF Service Pro
11、xy)来运行,在VisualStudio中被称为服务引用服务引用(ServiceReference)开发人员不用花费太多心思在通信上,加入WCF的服务引用时,VisualStudio会自动帮开发人员做掉一些必要工作,开发人员只需要在代码中取用WCFServiceProxy对象即可宿主宿主WCF的服务可以挂载于ConsoleApplicationWindowsApplicationIIS(ASP.NET)ApplicationWindowsServiceWindowsActivationServices大多会挂在WindowsService基本开发流程基本开发流程合约,定义服务接口合约,定义服务
12、接口实现,完成服务功能实现,完成服务功能宿主,服务运行的容器宿主,服务运行的容器客户端,添加服务引用客户端,添加服务引用使用代理,调用服务使用代理,调用服务目标目标了解了解SOAP,http,XML,WSD,WSDL等基本概念等基本概念使用使用WCF,实现,实现web 服务服务服务端对外提供以下方法:服务端对外提供以下方法:加、减、乘、除加、减、乘、除WinForms客户端调用上述方法客户端调用上述方法项目结构项目结构Contracts合约,定义服务合约,定义服务Services实现服务实现服务Hosting宿主程序,宿主程序,ConsoleApplicationClient客户端,服务引用,
13、代理调用客户端,服务引用,代理调用合约合约定义服务合约和数据合约,即定义服务合约和数据合约,即ServiceContract与与DataContract服务协定服务协定定义定义对外提供的方法,对外提供的方法,OperationContract数据协定定义数据成员,数据协定定义数据成员,DataMember示例示例服务服务实现接口实现接口宿主宿主运行宿主运行宿主启动宿主启动宿主方式方式1,运行,运行Bin目录下的执行文件目录下的执行文件方式方式2,Hosting设置为启动项目,设置为启动项目,F5调试模式调试模式注意:注意:Win7以上系统,使用管理员权限运行以上系统,使用管理员权限运行添加服务引用添加服务引用服务引用结构服务引用结构WSDL客户代理客户代理使用代理调用服务使用代理调用服务运行效果运行效果