第10章应用CICSWebService实现CICS程序的Web服务封装

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

大型主机应用上的开放系统和中间件第10章应用CICSWebService实现CICS程序的Web服务封装10.1课题背景10.1.1概述研究一下当前的应用程序开发,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的客户应用程序。这当然不是因为客户能够提供更好的用户界面,而是因为他能够避免花在桌面应用程序发布上的高成本。发布桌面应用程序的成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户和服务器之间通信的问题。传统的Windows富客户应用程序是使用DCOM来与服务器进行通信和调用远程对象。配置好DCOM使其在一个大型的网络中正常工作将是一个极富挑战的工作,同时也是许多IT工程师的噩梦。事实上许多IT工程师宁愿忍受浏览器所带来的功能限制,也不愿在局域网去运行一个DCOM。在许多IT工程师看来,结果就是一个发布交易,但却要开发难度大而且用户界面极其受限的应用程序。关于客户端与服务器的通信问题,一个完美的解决方法是使用HTTP协议来通信,这是因为任何运行Web浏览器的都在使用HTTP协议。同时,当前许多防火墙也配置只允许HTTP连接。如今很多的商用程序还面临着另一个问题,那就是与其他程序的互操作性。–如果所有的应用程序都是用COM或.NET预言编写,平且都运行在Windows平台上,那自然天下太平。–然而,事实上大多数的商业数据仍然在大型主机上以非关系文件(VSAM)的形式存放,并由COBOL语言编写的大型机程序访问。而且还有许多商用程序继续使用C++,Java和其他的各种各样的语言编写。–现在,除了最简单的程序之外,所有的程序都需要与运行在其他异构平台上的应用程序进行数据交换。在以前没有一个应用程序通讯标准是独立于平台,组件模型和编程语言的,只有通过Web服务,客户端和服务端才能够自由地用HTTP进行通信,无论两个程序的平台和编程语言是什么。CICS(CustomerInformationControlSystem),即客户信息控制系统,是为IBM和非IBM平台上一系列应用提供联机事务处理和事务管理的产品,其主要功能是为商业应用提供一个事务处理环境。该产品拥有近四十年的悠久历史,被广泛应用于银行金融业。但随着当前信息技术的迅猛发展,很多经典的事务处理应用面临着如何被扩展和重用,以求与其他平台应用相集成的问题。CICS作为IBM的重要产品,借鉴了SOA的主要思想,采用Web服务封装已有的应用,实现了CICS与其他平台应用的结合与互操作。10.1.2互连网发展状况及其应用随着互联网技术突飞猛进地发展,开发Web软件越来越复杂,程序开发人员应该对Web技术有系统的理解。首先,让我们回顾互联网技术的发展,从而深入分析Web编程的基本概念。–典型的Web模型将计算机网络分为若干个相关层。早在20世纪80年代,国际标准化组织(ISO)提出了OSI网络抽象模型,将互联网系统分为七层:最底层是物理层(Physical)和数据链路层(DataLink),其上依次是网络层(Network)、传送层(Transport)、会话层(Session)、表示层(Presentation)和应用层(Application),每一层都代表特定的功能组合。底层功能通过提供服务接口支持上层功能。–物理层主要描述网络中通信机制的信号和连接特性,数据链路层定义在物理层之上的数据传送状态,网络层定义了在由数据链路组成的互联网中怎样查找和分发数据,传送层用于保证数据在网络中正确传递,会话层定义数据包在传递时的相互组织关系,表示层描述数据类型在网络传递时的格式,应用层定义用户使用的互联网功能(如Telnet,FTP,E-Mail)。互联网发展的过程伴随着标准化的过程,在各个功能层都需要定义标准化的网络协议(Protocol)。–例如在网络层,每个网络主机都要设置一个IP地址并以互联网协议规定数据从它的始发地到目的地选择的路径方式;在传送层,TCP规定了允许不同计算机共享一个网络上的信息的通信协议;在应用层,HTTP定义了在上的文档传递协议。在20世纪90年代被迅速推广的HTTP和HTML真正实现了互联网的广泛应用,用户不必掌握Telnet或FTP的操作命令就可以轻松地访问网页。基于互联网的电子商务因此成为IT行业的热点而带动了全球经济的发展。处理和产生HTML的技术(如JSP,ASP,CGI等)成为主要的Web编程语言。在最近几年,Web服务(WebService)成为下一代的互联网功能层次,它定义了如何在HTTP之上利用XML语言和SOAP,UDDI等网络服务协议集成和查找互联网上的服务程序。纵观互联网的发展过程,我们可以发现:底层功能的完善会优化上层功能,上层功能的推广又对底层功能提出更高要求。当Web硬件能提供高速度和带宽时,软件公司才可能开发出满足用户需要的程序。Web系统被大量使用往往使现有系统不能满足需求,这就要求开发出新的硬件和软件系统。–例如,在HTTP协议上,最先只有HTML作为文档编辑语言,当Web浏览器(IE,Netscape等)成为计算机必不可少的上网工具时,动态的Web设计语言(如JavaServlet/JSP,ASP,CGI等)应运而生,其后由于这些语言需要占用系统计算资源,高速的Web应用服务器软件和主机成为大型网站必不可少的配置。–Java技术提供的Web编程技术就是在这样的发展背景下被开发和广泛使用的,这些技术主要基于传送层和应用层的协议和程序接口,从而提供了高效、可靠、实用的Web程序平台。10.1.3本章研究内容的意义主机(Mainframe)上的CICS服务由于其历史的悠久,存在着很多对于事务处理的经典应用。如何将这些应用重用,并通过封装与其他平台的服务进行交互是本章的主要内容。下一章我们通过一个CICS提供的样例应用程序封装成Web服务的提供者(Provider)接受其他应用程序的访问。对Web服务接口在COBOL程序中如何实现,Web服务相关参数,CICSTS3.1如何定义Web服务以及Web服务在其他平台上如何部署做了全面的探讨。Web服务可以用真正与平台无关的方式来描述任何数据,以跨系统交换数据,因此转向了松耦合应用程序。而且,在Web服务层面上工作,较抽象层面可以按照需要动态地重新评估、修改或处理数据类型。所以,从技术层面上讲,Web服务可以更方便地处理数据,并且允许软件更自由地进行通信。从更高的概念层面上讲,我们可以将Web服务视为一些工作单元,每个单元处理特定的功能任务。再往上一步,可以将这些任务组合成面向业务的任务,以处理特定的业务操作任务,从而使非技术人员可以考虑一些应用程序,这些应用程序能够在Web服务应用程序工作流中一起处理业务问题。10.2SOA与Web服务10.2.1SOA简介面向服务的体系架构(Service-OrientedArchitecture,简称SOA)是一种IT体系结构风格,支持将业务转换为一组相互链接的服务或可重复业务任务,可在需要时通过网络访问这些服务和任务。这个网络可以是本地网络、Internet,也可以分散于各地且采用不同的技术。通过对来自各地的服务进行组合,可让最终用户感觉似乎这些服务就安装在本地桌面上一样。可以对这些服务进行组合,以完成特定的业务任务,从而让业务快速适应不断变化的客观条件和需求。10.2.1.1SOA定义SOA即Service-OrientedArchitecture,就是面向服务的架构,是一种以通用为目的、可扩展、具有联合协作性的架构。SOA中所有的流程都被定义为服务,服务通过基于类封装的服务接口委托给服务提供者。服务接口根据可扩展标识符、格式和协议单独描述。SOA提供了一种构建信息系统的标准和方法,并通过建立可重用的服务体系来减少IT业务冗余并加快项目开发的进程,使得开发部门效率更高,开发周期更短,项目分发更快。与传统软件相比,SOA非常强调“使用者”为中心。–以往的信息系统是人围着技术转,比如服务器,数据库,做大量的二次开发和维护工作。而SOA架构下的信息系统则如同餐馆服务员围着食客转,对使用者而言,服务(即业务所需要的功能)是一个屏蔽了复杂技术的黑盒子,使用者不必了解内情,只管调用就行。而且这些业务功能是完好封装的,可以在不同业务流程中通过标准接口多次调用。SOA体系架构的概览图如下图10-1所示:SOA架构将每一个资源或应用看成一个服务,每个服务执行一组方法实现一组功能。服务之间的交互通过EnterpriseServiceBus(ESB)以一种特殊的信息结构——消息或文档来实现。10.2.1.2SOA特点在SOA中,围绕服务的所有模式都是基于标准的技术实现的,服务既可以定义为功能,又可以同时对外定义为对象应用等等,这使得SOA可适应于任何现有的系统。SOA有以下几大特点:1.松散耦合。服务请求者到服务提供者的绑定与服务之间是松耦合的。SOA将服务使用者和服务提供者在服务实现和客户如何使用服务方面隔离开来。服务请求者不需要知道提供者实现的技术细节比如设计语言,部署平台等等。服务请求者往往通过消息调用操作,请求消息和响应而不是通过使用API和文件格式,这使得服务能够在完全不影响使用者的情况下进行修改。大多数松散耦合方法都依靠于服务接口的消息,基于消息能够兼容的多种传输方式(如HTTP,TCP/IP,JMS等)。基于消息的接口可以采取同步或异步协议实现。Web服务对于SOA服务接口来说是一个重要标准。当使用者调用一个Web服务时,被调用的对象可以是CICS事务,DCOM或CORBA对象,但这与使用者无关,底层实现并不重要。消息类Web服务通常是松散耦合和文档驱动的,当用户调用消息类Web服务时,用户通常会发送一个完整的文档(如订购单),而非一组离散的参数。2.粗粒度服务接口。粗粒度服务提供一项特定的业务功能,而细粒度服务代表了技术组件方法。举个例子说明,向计费系统中添加一个客户是典型的粗粒度服务,可以使用几个细粒度服务实现同样的功能,如:将客户名加入到计费系统中,添加详细的客户联系方式,添加计费信息等等。采用粗粒度接口的优点在于使用者和服务层之间不必再进行多次往复。Internet环境中的TCP/IP会话已不再占据主导,建立连接的成本也过高,因此在该环境中进行应用开发时粗粒度服务的接口的优点更为明显。3.可重用的服务。服务的可重用性设计显著降低了成本。为了实现可重用性,服务只工作在特定处理过程的上下文中,而独立于底层实现和客户需求的变更。可重用服务采用通用格式提供重要的业务功能,为开发人员节约了大量的时间。4.标准化接口。XML和Web服务在电子商务中的广泛应用和深入发展将SOA推向更高的层面,并大大提升了SOA的价值,XML和Web服务标准化的开放性使企业能够在所部署的所有技术和应用中采用SOA。Web服务使应用功能得以通过标准化接口(WSDL)提供,并基于标准化传输方式(HTTP和JMS),采用标准化协议(SOAP)进行调用。例如,开发人员可以采用最适于门户开发的工具轻松创建一个新的门户应用,并可以重用ERP系统和定制化J2EE应用中的现有服务,而完全无须了解这些应用的内部工作原理。采用XML,门户开发人员无须了解特定的数据表示格式,便能够在这些应用间轻松地交换数据。5.可从企业外部访问。基于业务目的交换业务信息,外部用户可以访问以Web服务方式提供的企业服务。10.2.1.3SOA的发展史SOA的概念最初由Gartner公司提出的,由于当时的技术水平和市场环境尚不具备真实的实施SOA的条件,因此当时SOA并未引起人们的广泛关注。SOA在沉寂了一段时间后,伴随着互联网的浪潮,越来越多的企业将业务转移到互联网的领域,带动了电子商务的蓬勃发展。为了能够将公司的业务打包成独立的、具有很强伸缩性的、基于互联网的服务,人们提出了Web服务的概念,这可以说是SOA的发端。回顾SOA的发展历程,从某种角度上说就是应用程序互相之间连通性的

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功