基于Jdeveloper进行WebService开发及部署_第1页
基于Jdeveloper进行WebService开发及部署_第2页
基于Jdeveloper进行WebService开发及部署_第3页
基于Jdeveloper进行WebService开发及部署_第4页
基于Jdeveloper进行WebService开发及部署_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ORACLE实践JDEV11G发布WS 部署WEBLOGIC方案与实现Author: lazyCreation Date: 2016-Mar-14Last Updated: 2016-Mar-14Document Ref:Version: 1.0Approvals:顾焕Copy No. _Error! Reference source not found.File Ref: Jdev11g发布WS部署Weblogic 方案与实现.doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5Document Control 2Document ControlChange Record3Date Author Version Change Reference14-Mar-16 Lazy 1.0 No Previous DocumentReviewersName PositionDistributionCopy No. Name Location1 Library Master Project Library2 Project Manager34Note To Holders:If you receive an electronic copy of this document and print it out, please write your name on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the front cover, for document control purposes.Error! Reference source not found.File Ref: Jdev11g发布WS部署Weblogic 方案与实现.doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5Document Control 3ContentsDocument Control. ii总体说明 . 1文档目的 . 1内容 . 1环境介绍 . 1(一)实现方案 . 2(二)实现方式 . 3(三)环境间迁移 . 20(四)注意事项 . 21(五)高级应用 . 39(六)参考文档 . 40Open and Closed Issues for this Deliverable. 41Open Issues . 41Closed Issues. 41Error! Reference source not found.File Ref: Jdev11g发布WS部署Weblogic 方案与实现.doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5总体说明 1总体说明文档目的本文档针对目前项目上使用到的webservice开发方式进行一个方案和实现上的整理,涉及的相对比较浅显易懂的的实现方式。适用于:使用jdeveloper开发的发布于weblogic服务器上的webservice服务内容 Webservice简介 实现方案 实现方式 环境间迁移 注意事项 高级应用 参考文档环境介绍 JDeveloper Studio 11.1.1.2.0 Oracle Weblogic 10.3.6Error! Reference source not found.File Ref: Jdev11g发布WS部署Weblogic 方案与实现.doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5(一)Webservice简介 2(一)Webservice简介1.1 简介Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。1.2 xml web service1.3 主要支持技术Web services 要使用的主要支持技术有:XML和XSD可扩展的标记语言(标准通用标记语言下的一个子集)是Web Service 平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。XML是由万维网协会(W3C)创建,W3C制定的 XML SchemaXSD 定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。Web Service平台是用XSD 来作为数据类型系统的。当你用某种语言如VB. NET 或C# 来构造一个Web Service时,为了符合Web Service标准,所有你使用的数据类型都必须被转换为XSD类型。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如 SOAP。SOAPSOAP即 简单对象访问协议 (Simple Object Access Protocol),它是用于交换XML(标准通用标记语言下的一个子集)编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为 XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例Error! Reference source not found.File Ref: Jdev11g发布WS部署Weblogic 方案与实现.doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5(一)Webservice简介 3如,你可以使用 SMTP ,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负载保持相同。Web Service 希望实现不同的系统之间能够用“ 软件-软件对话 ”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成” 的目标。WSDLWeb Service 描述语言 WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于 XML(标准通用标记语言下的一个子集)的语言,用于描述 Web Service 及其函数、参数和返回值。因为是基于 XML 的,所以 WSDL 既是机器可阅读的,又是人可阅读的。UDDIUDDI 的目的是为电子商务建立标准; UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。调用RPC与消息传递Web Service本身其实是在实现应用程序间的通信。我们有两种应用程序通信的方法:RPC远程过程调用 和消息传递。使用RPC 的时候,客户端的概念是调用服务器上的远程过程,通常方式为实例化一个远程对象并调用其方法和属性。RPC系统试图达到一种位置上的透明性:服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。1.4 数据传输样式SOAP 规范中 style 与 use 这两个属性决定 SOAP 数据的编码样式。style 属性可是两个值中的一个: rpc 或 document 。当属性被设定为文档样式时,客户端使用 XML 模式调用约定;当属性设置成 RPC,客户端使用远程过程调用约定。1)RPC Stype指定包含Web服务调用的XML节点,该节点以 Web服务调用方法命名,XML节点依次包含方法调用的各个参数。2)Document Style指定内直接包含消息,该消息没有SOAP格式限制。服务器的应用层负责将XML文档映射成内存对象(参数、方法调用等等)。Use属性值决定消息的编码方式:可以是encoded或者是 literal。1)encoded值表示XML 的消息使用类型属性引用抽象数据类型,使用Section 5编码(SOAP 规范第五章定义的编码)进行xml 的序列化和反序列化。2) Literal值表示XML 的消息使用类型属性或者 Element元素引用具体的Schema 定义,也就是说,根据具体的Schema将内存对象序列化成XML消息。Error! Reference source not found.File Ref: Jdev11g发布WS部署Weblogic 方案与实现.doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5(一)Webservice简介 4Style和Use 的值进行组合, SOAP可以有四种编码样式,比较常用的如下:1) RPC/Encoded编码,使用SOAP编码,也称为 Section 5 编码,它由 SOAP 1.1 规范定义。2) Document/literal编码。3) RPC/literal编码,它使用 RPC 方法进行调用但使用 XML 自制的方法编入数据。第一种RPC/Encoded曾在JAVA开发中应用非常广泛;第二种编码样式是DOT NET开发社区使用的缺省编码方式;第三种编码样式是第一种和第二种编码方式的混合,使用RPC的方式传送文档型数据。Error! Reference source not found.File Ref: Jdev11g发布WS部署Weblogic 方案与实现.doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5(一)实现方案 5(一)实现方案1.1 总体方案说明对于SOA 方式发布的 Webservice,部署过程比较复杂,需要安装patch 等配置,最终还是决定尝试使用Weblogic发布Webservice服务。文档中约定如下:1. 对外提供服务的一方称为:服务方2调用其他系统提供服务的一方称为:消费方1.2 服务方通过Jdeveloper 将PL/SQL程序发布在Oracle Weblogic 服务器上对外提供服务。使用的方式主要有如下几种:1. 通过特定参数条件向外围系统提供数据实现的方案问题主要在出参上,通过何种方式返回需要的数据可以根据需要进行变通使用,主要通过PL/SQL编写Function,其中:入参:独立字段出参:CLOB 对象,其中 CLOB中可以与各系统约定具体使用何种方式,如:XML或者Json2. 接收外围系统传入的数据至接口表实现的方案问题主要在入参方式上,出参可统一返回样式:只要返回统一格式的成功标识及错误原因,入参的方式上主要有如下几种:方案一、入参:独立字段,每次只能接收一条数据方案二、入参:CLOB,CLOB中可以使用约定的样式进行参数的解析方案三、入参:table 类型变量3. 传入特定参数返回特定消息实现上根据实际情况传入相应的参数,程序中调用相应方法生成相应需要返回的信息1.3 消费方通过PL/SQL调用外围系统发布的Webservice服务。Error! Reference source not found.File Ref: Jdev11g发布WS部署Weblogic 方案与实现.doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5(二)实现方式 6(二)实现方式2.1 PL/SQL程序主要说明下入参是table 类型变量和 CLOB类型的使用。Table类型1. 定义样例1.1、单表样例TYPE type_pay_rec IS RECORD(source_code VARCHAR2(50),payment_number VARCHAR2(240),payment_created_person VARCHAR2(240);TYPE type_pay_tbl IS TABLE OF type_pay_rec INDEX BY BINARY_INTEGER;1.2、头行表样例行定义TYPE inv_apply_lines_rec_type IS RECORD(organization_id NUMBER,line_number NUMBER,item_number VARCHAR2(30),item_desc VARCHAR2(240);TYPE inv_apply_lines_tbl_type IS TABLE OF inv_apply_lines_rec_type INDEX BY BINARY_INTEGER;头定义TYPE inv_apply_header_rec_type IS RECORD(organization_id NUMBER,urgent_level VARCHAR2(240),doc_type_id NUMBER,line_tbl inv_apply_lines_tbl_type);TYPE inv_apply_header_tbl_type IS TABLE OF inv_apply_header_rec_type INDEX BY BINARY_INTEGER;2. 入参样例单表入参FUNCTION import_data(p_pay_tbl IN type_pay_tbl) RETURN CLOB头行表入参PROCEDURE inv_oa_apply(p_header_tbl IN inv_apply_header_tbl_type,x_result OUT CLOB);Error! Reference

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论