第8讲-Web Service基础
更新时间:2024-03-01 10:28:01 阅读量: 综合文库 文档下载
- 盖马三锤第8讲推荐度:
- 相关推荐
Web Service基础
一、什么是Web Service?
Web服务有两层含义:1、是指封装成单个实体并发布到网络上的功能集合体;
2、是指功能集合体被调用后所提供的服务。
Web Service 是为其它应用提供数据和服务的应用逻辑单元,应用程序通过标准的Web 协议和数据格式获得Web Service,如HTTP 、XML 和SOAP 等,每个Web Service 的实现是完全独立的。
简单地讲,Web 服务是一个URL 资源,客户端可以通过编程方式请求得到它的服务,而不需要知道所请求的服务是怎样实现的,这一点与传统的分布式组件对象模型不同。
Web Service 就是一个网络组件(一个可以通过网络访问的程序)。它有一个或多个端口(Port),这些端口用于接收客户端的请求,并返回响应请求和响应的 都是一种基于XML的消息。不过这种消息遵循特定的格式(SOAP )。 二、角色构成
Web 服务的体系结构是基于Web 服务提供者、Web 服务请求者、Web 服务中介者三个角色和发布、发现、绑定三个动作构建的。简单地说,Web 服务提供者就是Web 服务的拥有者,它耐心等待为其他服务和用户提供自己已有的功能;Web 服务请求者就是Web 服务功能的使用者,它利用SOAP 消息向Web 服务提供者发送请求以获得服务;Web 服务中介者的作用是把一个Web 服务请求者与合适的Web 服务提供者联系在一起,它充当管理者的角色,一般是UDDI 。这三个角色是根据逻辑关系划分的,在实际应用中,角色之间很可能有交叉:一个Web 服务既可以是Web 服务提供者,也可以是Web 服务请求者,或者二者兼而有之。显示了Web 服务角色之间的关系: 其中,“发布”是为了让用户或其他服务知道某个Web 服务的存在和相关信息; “查找(发现)”是为了找到合适的Web 服务; “绑定”则是在提供者与请求者之间建立某种联系。
图1 Web 服务角色的相互关系
实现一个完整的Web 服务包括以下步骤:
◆ Web 服务提供者设计实现Web 服务,并将调试正确后的Web 服务通过Web 服务中介者发布,并在UDDI 注册中心注册 ; (发布)
◆ Web 服务请求者向Web 服务中介者请求特定的服务,中介者根据请求查询 UDDI 注册中心,为请求者寻找满足请求的服务; (发现)
◆ Web 服务中介者向Web 服务请求者返回满足条件的Web 服务描述信息,该描述信息用WSDL 写成,各种支持Web 服务的机器都能阅读;(发现)
◆ 利用从Web 服务中介者返回的描述信息生成相应的SOAP 消息,发送给Web 服务提供者,以实现Web 服务的调用;(绑定)
◆ Web 服务提供者按SOAP 消息执行相应的Web 服务,并将服务结果返回给Web 服务请求者。(绑定)
三、怎样调用 Web Service?
即“怎样调用Web Service中定义的操作 ”
每个Web Service 都有一个描述文件(WSDL ), 它描述 一个 Web Service 的如下方面:
(1)服务的端口(接收SOAP消息的端口)
(2)服务提供的操作
(3)操作的输入输出格式的定义(通过XMLSchema 定义输入输出格式)
有了Web Service 的描述文件(WSDL ),就可以调用Web Service 中定义的操作。
(1)通过服务提供的操作找到你想调用的操作
(2)找到这个操作的输入格式的定义(XMLSchema ),按照这种输入格式构造一个SOAP消息
(3)将这个SOAP消息发送到服务的指定端口
(4)准备接收一个从Web Service服务器返回的 SOAP 响应吧 !
四、Web Service服务器
一个Web Service服务器,本质上和一个Web服务器是相同的。 它主要做下面这些事:
--> 监听网络端口(监听服务端口) --> 接收客户端请求(接收SOAP请求)
--> 解析客户端请求(解析SOAP消息,将SOAP消息转换为数据对象) --> 调用业务逻辑 (调用Web Service实现类的特定操作,参数是由SOAP消息
转换而来的数据对象)
--> 生成响应 (将返回值转换为SOAP消息) --> 返回响应 (返回SOAP响应)
五、Web Service客户端
一个Web Service客户端,顾名思义是和一个Web Service服务器进行交互。 下面是一个Web Service客户端调用Web Service的基本过程。 --> 构造SOAP请求消息(将本地数据对象转换为SOAP消息) --> 发送SOAP消息到Web Service服务器的指定端口 --> 接收SOAP响应消息
--> 将SOAP响应消息转换为本地数据对象
其实大部分Web Service客户端 都不需要编写,很多Web Service框架 都支持由 Web Service 的描述文件(WSDL)自动生成客户端。
六、SOAP、WSDL、UDDI
SOAP ,WSDL 和UDDI 是Web Services 框架的核心技术。
(1)SOAP 是Web services 的通信协议。SOAP是一种简单的、轻量级的基于XML 的机制,用于在网络应用程序之间进行结构化数据交换。SOAP包括三部分:一个定义描述消息内容的框架的信封,一组表示应用程序定义的数据类型实例的编码规则,以及表示远程过程调用和响应的约定。
(2)WSDL表示WEB服务说明语言。WSDL文件是一个XML 文档,用于说明一组SOAP消息以及如何交换这些消息。
(3)UDDI(统一描述发现和集成) 提供一种发布和查找服务描述的方法。UDDI 数据实体提供对定义业务和服务信息的支持。WSDL 中定义的服务描述信息是UDDI注册中心信息的补充。
Web Services 的体系架构如图2 所示
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 的规范之上,这保证了这一体系结构的平台无关性、语言无关性和人机交互性能。
SOAP消息代理是整个框架的信息处理中心,它根据预先定义好的应用消息转换机制将消息转换成目标应用需要的数据并存储到应用消息仓库中。除了保存和转发应用消息之外,消息代理还负责将不同的企业应用所保存的应用数据通过企业模型转化为一致的企业数据,保存到数据库中。
客户端通过UDDI的标准和机制来搜寻需要的web服务,绑定找到的web服务并使用它提供的服务。另外,框架为企业进一步发展电子商务提供了接口,建立在UDDI基础上的Web services可以完成这一功能。 七、重要术语
SOAP -- Simple Object Access Protocol WSDL -- Web Service Description Language
UDDI -- Universal Description Discovery &Integration JAXP -- THE Java API for XML Processing SAX -- Simple API for XML Parsing DOM -- Document Object Model SAX -- The Simple API for XML
XSLT -- THE XML Stylesheet Language for Transformations JAXB -- THE Java Architecture for XML Binding JAX-RPC -- Java API for XML-base RPC RPC -- Romote Procedure Calls
JAXR -- THE Java API for XML Registries Java WSDP -- Java Web Services Developer Pack JAX-WS -- Stands for Java API for XML Web Services
XSLT -- THE XML Stylesheet Language for Transformations JAXB -- THE Java Architecture for XML Binding JAX-RPC -- Java API for XML-base RPC RPC -- Romote Procedure Calls
JAXR -- THE Java API for XML Registries Java WSDP -- Java Web Services Developer Pack JAX-WS -- Stands for Java API for XML Web Services
正在阅读:
第8讲-Web Service基础03-01
2013继续教育03-27
岳坊镇开展严厉打击非法违法生产经营建设行为专项行动实施方案12-07
小概率事件原理及应用06-04
2020初中最动人毕业典礼老师致辞08-22
空压机03-31
江苏省苏州市2014–2015学年七年级第二学期期末语文模拟卷(1)12-03
2015-2016学年江苏苏州八年级英语上学期期末模拟试卷(带解析)05-08
食品生产许可证申请书(2011年)03-19
音乐鉴赏(1)05-31
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- Service
- 基础
- Web
- 2016-2021年中国有创心电监护仪市场运行格局及投资战略研究报告
- 世界各国高速动车组技术的发展现状 - 图文
- 电磁组-上海电力学院电自二队技术报告 - 图文
- 小学美术六年级上册第9课小小果壳箱教案设计
- 浙江省中小学教师录用考试小学数学考试大纲
- 国家安监局关于煤矿防突规定
- 18学年高中物理第2章能的转化与守恒第3节能量守恒定律课下作业(
- 汽车售后服务顾问接待话术
- 思修习题总汇
- 东营市物业管理办法
- 微观经济学计算题及答案
- 钢筋连接试验报告汇总表(DOC)
- 课本23题二次函数
- 广东省产科重大疾病重点
- 恒大集团战略管理分析 - 图文
- 520浪漫祝福语短信
- (目录)2017-2022年海南省港口业发展预测及投资咨询报告行业发
- 29C系列存储器串行扩展接口的设计
- 11种子植物组织培养试题及答案总结
- 1、浅谈加强房地产开发企业财务预算管理