61294大型主机应用上的开放系统和中间件20xx年度教育部-ibm精内容摘要:

 当所有的数据被写到 TS Queue以后, Analyzer Program被调用来建立Alias Transaction, User Program会在 Alias Transaction下执行。  如果请求数据没有包含 “ Connection: KeepAlive”的头部, CWXN在调用完 Analyzer后就被中止执行。  如果 HTTP的会话是长连接的, CWXN会被暂时挂起,直到 Alias Transaction执行完以后,再被重新执行。  这时它会重新进行内部的 Web Receive Call看看是否有更多的请求数据从 Socket发过来。 2. Alias Transaction CWBA  用户的 Web请求最终在 CICS被执行需要通过 Alias Transaction。  一个 Alias Transaction只能执行单一的请求,但是 CWXN可以同时启动多个 Alias Transaction,每一个对应处理一个请求。  CWBA是系统默认的 Alias Transaction ID,它会调用系统程序 DFHWBA。  Transaction ID可以被用户在 Analyzer中更改,但是初始调用的程序总会是 DFHWBA。  DFHWBA会调用 BLI程序 DFHWBBLI。 DFHWBBLI会调用 Converter 和 User Program来完成 Web请求的处理。 CICS Web Support Analyzer  Analyzer是一个 UserReplaceable( URM) Program,它负责解析每一个从浏览器到来的请求,它会决定: – CICS中是否被处理; – CICS资源来处理 HTTP请求; – HTTP的处理流程。  Analyzer可以指定处理 HTTP请求的 CICS应用程序的名字, Converter的名字, Alias Transaction ID,执行 Alias Transaction的 USER ID,Code Page的转换。  Analyzer在 TCPIPSERVICE的 URM参数中指定。  因为 Analyzer是系统调用的,在定义 Analyzer时需要指定 ExecKey为CICS。  Analyzer在 CWXN收到 Listener Transaction的请求数据后被调用。  Analyzer按照如下的格式解析 HTTP请求的 URL:  所有的数据域在解析的时候都被转为大写。 –。 指明了处理请求的 Converter的名字,最多 8个字符。 如果设定 Converter的名称为 “ CICS”,则说明没有 Converter将被调用。 –。 指定 Alias Transaction的名字,最多 4个字符。 –。 指定了处理请求的 CICS应用程序的名字,最多 8个字符。 –。 这部分数据域被 Analyzer忽略,但是可以被Converter来使用。 –。 前 8个字节被作为 User Token传递给 Converter,随后的字节被 Analyzer所忽略,但是可以被 Converter或者 User Program所使用。 基于 HTTP处理请求的实现  这里将给出一个具体的应用,此应用说明了如何利用 CWS实现一个基于HTML的 Web应用程序,以浏览器访问的方式调用 CICS中的应用。 1 . 应用程序架构及运行环境  此应用程序是一个基于 HTML Web页面的应用程序。  用户可以实现登录、注册和编辑自己的注册信息的功能。  Analyzer通过解析用户从浏览器输入的 URL地址,调用相应的 WebAware User Program来处理 HTTP的请求与响应。  同时还加入了图片处理的功能,利用 Converter处理图片的显示。  同时还考虑了图片处理与消息处理的负载分配,用两个 CICS Region分别处理图片和文本消息。  应用程序架构如下图 75所示: 图 75:应用程序架构  应用程序运行环境如下图 76所示:  在 Web浏览器中键入如下格式的 URL来调用 CICS的 Program: 其中: – ( 1) 是应用程序运行的主机名或 IP地址; – ( 2) 20203是 TCPIPSERVICE中定义的端口号; – ( 3) CICS是 Converter的名字,这里用 CICS表示不需要 Converter; – ( 4) CWBA是 Alias Transaction的名字; – ( 5) CWIINDEX是 Webaware Program的名字。 2. 应用中的 CICS Web Support资源 – ( 1) TCPIPSERVICE – ( 2) Analyzer – ( 3) User Program – ( 4) HTML DOCUMENT Template  DOCUMENT Template在 CICS中可以以 RDO的方式来定义, CICS中用专门的 DOCUMENT Handler Domain来管理 DOCUMENT Template。  DOCUMENT Template可以存放在 VSAM、 TS Queue、 TD Queue、 DFHRPL的Load Library、 PDS数据集或者内存中。 为了便于管理,对于较大的DOCUMENT Template一般都存放在 PDS数据集中。  对于用 PDS数据集来存放 DOCMENT Template,需要在 CICS Startup JCL中指定 DD语句来指定 PDS数据集的位置,例如可以用如下的 DD语句指定DOCUMENT Template的 PDS数据集:  需要说明的是对于定义 DOCUMENT Template存放的形式,上面的说到的File、 TS Queue等是互斥的,也就是说只能用它们中的一个来存放DOCUMENT Template。  在 CICS Web Support中用 DOCUMENT Template来存放 HTML页面的模板,此模板中包含了静态的 HTML页面代码和需要动态显示的符号列表,这些符号在 CWS构建 HTTP响应时被 Webaware程序动态地替换成 HTML文本。 3. 设计 Webaware程序结构  典型的 Webaware程序处理请求和响应的流程是:解析 TCP/IP请求,解析 HTTP请求,得到 HTTP Body中的数据,抽取 HTML Form中的数据,构建 HTML模板,替换模板中符号列表的符号值,构建相应的 HTML文本,对客户端做。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。