Web Service技术在IT系统接口中的应用

所属栏目:计算机网络论文 发布日期:2011-04-16 20:45 热度:

  摘要:本文结合笔者的实际工作,从理论和应用两方面阐述WebService技术在IT系统接口中的应用。笔者于2006年开始参与某通信公司物资管理系统的开发和实施,该系统使用的是全球排名第一的德国著名ERP软件SAP,笔者主要负责系统间通信接口的设计、开发和维护工作,该系统与财务系统、项目管理、调度、客户关系管理等系统都有接口,全部使用WebService技术实现。
  
  关键词:Web,Service,ERP,SAP
  
  1.引言
  
   某通信公司于2006年起开始开发和实施物资管理系统,使用的是全球排名第一的德国著名ERP软件SAP,笔者有幸参与开发和实施工作,负责接口设计、开发工作。该物资系统与财务系统、项目管理、调度、客户关系管理等系统都有接口,全部使用WebService技术实现。本文就笔者工作的具体内容,从理论和应用两方面阐述一下WebService技术在IT系统接口中的应用。
  
  2.理论
  2.1WebService技术
  2.1.1WebService
  
  WebService是为实现“基于web无缝集成”的目标而提出的全新概念,希望通过WebService能够实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破软件应用、网站和各种设备之间格格不入的状态。
  
  WebService是一个应用程序,它向外界暴露一个能够通过Web进行调用的API,这就是说,能够用编程的方法通过web调用来实现某个功能的应用程序。
  
  WebService是一种新的Web应用程序分支,它们是自包含、自描述,模块化的应用,可以在网络中被描述、发布、查找以及通过Web调用。
  
  WebService平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,WebService平台必须提供一套标准的类型系统,用于沟通不同的平台、编程语言和组建模型中的不同类型系统。
  
  2.1.2XML和XSD
  
  可扩展性标记语言XML是WebService平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它基于平台无关,由于厂商无关。XML是由万维网协会(W3C)创建,W3C制定的XMLSchemaXSD定义了一套标准的数据类型,并给出了一种语言来拓展这套数据类型。
  
  WebService平台是用XSD来作为数据类型系统的。当用某种语言如VB.NET或C#来构造一个WebService是,为了符合WebService标准,所有使用的数据类型都必须被转换为XSD类型。如想让他使用在不同的平台和不同的软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如SOAP。
  
  2.1.3SOAP
  
  SOAP即简单对象访问协议(SimpleObjectAccessProtocol),它是用于交换XML编码信息的轻量级协议。SOAP可以运行在任何其他传输协议上。例如,可以使用SMTP,即因特网电子邮件协议来传递SOAP消息。
  
  SOAP包含3个主要方面的内容:
   XML-envelope为描述信息内容和如何处理内容定义了框架
   将程序对象编码为XML对象的规则
   执行远程过程调用(RPC)的约定
  
  2.1.4WSDL
  
  WebService描述语言(WSDL)是用计算机能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述WebService及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。
  
  2.1.5UDDI
  
  UDDI即统一描述、发现和集成(UniversalDescription,Discovery,andIntegration),其目的是为电子商务建立标准,UDDI是一套基于Web的、分布式、为WebService提供的、信息注册中心的实现标准规范,同时也包含一组是企业能将自身提供的WebService注册,可以使别的奇特能够发现访问间协议的实现标准。
  
  2.1.6远程过程调用RPC与消息传递
  
  WebService本身其实是在实现应用程序的通信。现在有两种应用程序通信的方法:RPC远程过程调用和信息传递。使用RPC的时候,客户端的概念是调用服务器上的远程过程,通常的方式为实例化一个远程对象并调用其方法和属性。RPC系统试图达到一种位置上的透明性:服务器暴露出远程对象的端口,而客户端就好像在本地使用这些对象的接口一样,这样就隐藏的底层的信息,客户端也就根本不需要知道对象是在哪台机器上。
  
  2.2SAP系统
  2.2.1系统简介
  
  SAP是一家通过业务工程成功地集成信息技术的公司,SAP(System,Applications,andProductsinDataProcessing,数据处理的系统、应用和产品)。SAP公司是ERP思想的倡导者,成立于1972年,总部设在德国南部的Walldorf。SAP的主打产品R/3是用于分布式客户机/服务器环境的标准ERP软件,主要功能模块包括:销售和分销、物料管理、生产计划、质量管理、工厂维修、人力资源、工业方案、办公室和通信、项目系统、资产管理、控制、财务会计。R/3支持的生产经营类型是:按定单生产、批量生产、合同生产、离散型、复杂设计生产、按库存生产、流程型,其用户主要分布在航空航天、汽车、化工、消费品、电器设备、电子,食品饮料等行业。
  
  SAPR/3的功能涵盖了企业管理业务的各个方面,这些功能模块服务于各个不同的企业管理领域。在每个管理领域,R/3又提供进一步细分的单一功能子模块,例如财务会计模块包括总账、应收账、应付账、财务控制、金融投资、报表合并、基金管理等子模块。SAP所提供的是一个有效的标准而又全面的ERP软件,同时软件模块化结构保证了数据单独处理的特殊方案需求。
  
  2.2.2SAPR/3系统
  
  SAPR/3是一个基于客户/服务机结构和开放系统的、集成的企业资源计划系统。其功能覆盖企业的财务、后勤(工程设计、采购、库存、生产销售和质量等)和人力资源管理、SAP业务工作流系统以及因特网应用链接功能等各个方面。  
  R/3采用模块化结构,它们既可以单独使用,也可以和其它解决方案相结合。从流程导向的角度而言,各应用间的整合程度越高,它们带来的好处就越多。
  
  2.2.3SAP开发语言ABAP4
  
  SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。经过不断的改进和修改以满足商业领域的需要。现在,ABAP/4已成为SAP开发所有自己的应用程序的仅有工具。
  
  SAP客户用ABAP/4进行其自身开发。这样的开发对R/3标准解决方案适应特殊问题非常重要。ABAP/4开发工作平台包含所有用于创建和维护ABAP/4程序的工具。
  
  ABAP/4的可解释特性使其易于生成、测试并运行程序的中级版本,以便将来生成最终版本。此过程也叫做早期原形处理,意味着您不必丢弃中级版本。
  
  ABAP/4是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。
  
  2.2.4SAP接口开发技术
  
  SAPR/3的接口方式主要有RFC、IDOC、BAPI三种,本文要介绍的是相对比较简单的RFC(RemoteFunctionCall,远程函数调用)。SAP系统RFC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。
  
  SAP的RFC调用是其接口技术中最简单和易用的一种方式,该方式开发比较简便,特别适合于外部报表开发,但对于大数据量的查询效率相对较低。
  
  3.应用
  3.1系统功能
  3.1.1功能描述
  
  本文以供应商模块为例,该模块完成将供应商主数据的创建、修改、删除功能,由其他系统发起,通过WebService传送给SAP系统,并在SAP系统中自动创建、修改、删除供应商主数据,其中主要字段包括:供应商标识、供应商状态、供应商税号、供应商名称、开户银行、公司帐号、帐户名称、是否跟供应商关联等。
  
  双方采用SOAP的方式进行对接,如下图所示:
  
  
  其中,提供SOAP服务的系统被称作“被调用系统”,而通过SOAP方式去调用别系统SOAP服务的系统被称作“发起调用系统”。这样的界定只在于同一个接口上,同一个业务系统可能会在某些接口中充当“被调用系统”,而在另外一些接口中充当“发起调用系统”。
  
  接口分为两种:
  
  一种是信息发送接口,由“发起调用系统”将业务信息发送给“被调用系统”,由“被调用系统”进行业务处理。对于信息发送接口,一般是采用按需发送方式,所以可以采用实时或者定时两种方式,一般建议将业务处理过程和接口发送过程分开,以免接口发送影响正常业务的性能和响应时间,甚至导致正常业务出错。对于这种接口,一般要求“发起调用系统”在发送失败的时候能够进行重发,保证不漏不重;而“被调用系统”需要对信息的有效性、完整性进行校验。
  
  另外一种是信息查询接口,由“发起调用系统”提供查询条件给“被调用系统”,“被调用系统”根据查询条件查询业务信息后返回给“发起调用系统”。
  
  对于一次接口过程中,应该保证事务的完整性,即如果出错的话,应该将业务相关处理完全回滚;另外一点,接口的结果必须是全部成功或者失败,不能部分进行业务处理。
  
  3.1.2Webservice流程图
  
  
  3.2WebService配置
  3.2.1配置
  
   在SAP系统中,使用事务代码SE80进入开发环境,在“EnterpriseService”中创建一个新的“ClientProgram”,选择“URL/HTTPDestination”,在“Package”、“前缀”框内填写相应内容,激活。
  
  3.2.2测试
  
  在SAP系统中,使用事务代码SE80进入开发环境,在“EnterpriseService”中选重刚才创建的ClientProxyObject,运行后,如果显示:ServiceProcessedWithoutError,则成功,否则不成功。
  
  4.总结与讨论
  
  随着Web应用的不断发展,人们发现Web应用和传统桌面(如企业ERP系统)应用之间存在着连接的鸿沟,人们不得不重复地将数据在Web应用和传统桌面应用之间迁移,这成为了阻碍Web应用进入主流工作流的一个巨大障碍。
  
  从1998年开发发展的XML技术及其相关技术已证明有可能解决这个问题。而近期开始蓬勃发展的WebService技术则正是基于XML的针对这一问题的最佳解决方案。XMLWebService是当今IT业界的焦点所在。WebService的主要目标就是在现有的各种异构平台的基础上构建一个通用的与平台无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。如果需要用一句话来概括WebService与传统Web应用技术的差异的话,那就是:传统Web应用技术解决的问题是如何让人来使用Web应用所提供的服务,而WebService则要解决如何让计算机系统来使用Web应用所提供的服务。
  
   就现状而言,一个企业仅仅是用一套集成的系统实现所有管理需求是不可能的,因此接口是必不可少的。使用WebService技术,某通信公司实现了SAP物资系统与财务、项目管理、调度、客户关系管理等系统的接口,尤其是与项目系统的接口多大六个,分别是供应商主数据、物料主数据、项目主数据、送货单、合同接口,以及一个项目执行情况查询接口。在开发和实施过程中,笔者切身体会到WebService作为一种统一标准,对接口开发带来的便利。
  
   WebService技术,在IT系统的接口开发中,必将发挥更大的作用!
  
  参考文献
   柴晓路、梁宇路,WebService技术、架构和应用,电子工业出版社,2003年1月

   王晓军、毛京丽,计算机通信网,北京邮电大学,2007年6月

文章标题:Web Service技术在IT系统接口中的应用

转载请注明来自:http://www.sofabiao.com/fblw/dianxin/wangluo/8327.html

相关问题解答

SCI服务

搜论文知识网的海量职称论文范文仅供广大读者免费阅读使用! 冀ICP备15021333号-3