Webservice的基本概念:
Web Services 直译过来就web 服务, 个人理解就是一种基于Internet的对外服务机制。 它的应用领域是Internet,而不仅限于局域网或试验环境。这就要求我们的Web Services 框架必须适用于现有的Internet 软件和硬件环境,即服务的提供者所提供的服务必须具有跨平台、跨语言的特性。
其次,Web Services 所提供的服务不仅是向人,更需服务于其它应用系统。现有的Web网站也可以认为是面向服务的,但这种服务仅仅可以提供给人使用(只有人类才可以读懂浏览器下载的页面) 。而新一代的Web Services 所提供的服务应能被机器所读懂,例如其它应用程序及移动设备中的软件系统。这样,我们可以看出,Web Services 的发展方向实际上是构造一个在现有Internet 技术上的分布计算系统。
Web Services 框架的核心技术包括SOAP ,WSDL 和UDDI ,它们都是以标准的XML 文档的形式表的。SOAP 是Web services 的通信协议。
●SOAP:
SOAP是一种简单的、轻量级的基于XML 的机制,用于在网络应用程序之间进行结构化数据交换。SOAP包括三部分:一个定义描述消息内容的框架的信封,一组表示应用程序定义的数据类型实例的编码规则,以及表示远程过程调用和响应的约定。
●WSDL:
WSDL表示WEB服务说明语言。WSDL文件是一个XML 文档,用于说明一组SOAP消息以及如何交换这些消息。
●UUDI:
UDDI(统一描述发现和集成) 提供一种发布和查找服务描述的方法。UDDI 数据实体提供对定义业务和服务信息的支持。WSDL 中定义的服务描述信息是UDDI注册中心信息的补充。
WebServices体系架构
Web Services 的体系架构如图1 所示
Web Services 服务提供方通过WSDL(Web Services Description Language) 描述所提供的服务,并将这一描述告知Web Services 注册服务器。注册服务器依据WSDL 的描述,依照UDDI (Universal Description Discovery and Integration) 的协定更新服务目录并在Internet 上发布。用户在使用Web Services 前先向注册服务器发出请求,获得Web Services 提供者的地址和服务接口信息,之后使用SOAP 协议(Simple Object Access Protocol) 与Web Services 提供者建立连接,进行通信。Web Services 的技术主要建立在XML 的规范之上,这保证了这一体系结构的平台无关性、语言无关性和人机交互性能。
电子商务和ERP的集成框架。传统的应用系统大都不太灵活,它们都建立在点到点的解决方案的基础上,需要程序员大量的工作和一个比较长的开发周期。造成大量昂贵硬编码的单独应用,这些应用不能很好的集成也不能灵活的适应业务流程的改变。通过第2部分的分析,可以知道,功能组件化并具有良好集成性的Web services可解决这些问题。通过对Web服务平台的研究并结合电子商务和ERP的具体特点,我们提出的框架整体结构如图2所示:
在该模式中我们不使用传统点到点的集成,而是在原有集成模式的基础上结合Web服务新技术,提出的一种新模式。该集成框架将企业后台的ERP系统和前台的电子商务系统集成到框架中。
SOAP消息代理是整个框架的信息处理中心,它根据预先定义好的应用消息转换机制将消息转换成目标应用需要的数据并存储到应用消息仓库中。除了保存和转发应用消息之外,消息代理还负责将不同的企业应用所保存的应用数据通过企业模型转化为一致的企业数据,保存到数据库中。
客户端通过UDDI的标准和机制来搜寻需要的web服务,绑定找到的web服务并使用它提供的服务。另外,框架为企业进一步发展电子商务提供了接口,建立在UDDI基础上的Web services可以完成这一功能。
======================================================================================
Webservice原理解析: 我们来看下面这张图:
上面这张图就简单地演示了Webservice的工作原理,当我们开发出一个webservice后,我们会将其布署到服务器,这个web service会向外暴露一个wsdl文件。通过这个文件,客户端就知道服务器向外提供了哪些服务和需要哪些参数。
客户端通过get请求可以得到wsdl文件,也就知道服务器提供的方法和参数了,然后客户端会通过webservice提供的工具类(通常为wsdltojava生成相应的类)。 接下来,客户端会向webservice发送一个soap请求,这个soap请求实际上就是一段xml代码,然后server接收到soap请求,然后进行相应的处理,并将响应结果以soap 方式发送回客户端。