HATS 对移动设备支持的简介

使用 Rational Host Access Transformation Services 向移动设备交付绿屏程序

本文总结了 IBM® Rational® Host Access Transformation Services(HATS)所提供的支持功能,该功能允许您从移动设备端访问基于字符的 3270 及 5250 主机程序,例如手机,数据收集终端,以及个人数字助理(PDA)。作者假设读者拥有 HATS 功能及程序开发任务的工作经验。

Rick Hardison, 咨询师, IBM

http://www.ibm.com/developerworks/i/p-rhardison.jpgRick Hardison 于 1970 年在北加利福尼亚 Raleigh 加入 IBM,是一名初级编程人员。在 1992 年,他转到技术市场,提供支持 IBM 通信客户端和服务器,Host On-Demand,以及 Host Access Transformation Services。Rick 于 2005 年从 IBM 退休,之后一直提供咨询服务,包括在 Systems Documentation 公司(SDI)进行技术撰写。



2011 年 5 月 05 日

概述

有了 IBM® Rational® Host Access Transformation Services(HATS),对主机程序的访问就可以得到更新,并提交给用户,而不再需要影响已存在的主机程序了。通过动态地转化并交换在 IBM® System z® 平台上的 3270 程序,及在 IBM® i® 平台上运行的 5250 程序,到网络的,端口的,或者用户上,并展示关键的业务进程以及数据作为网络服务,来完成上述任务。

使用 HATS,您就可以创建网络程序以及多客户的程序,该程序提供了容易使用的图形化用户界面(GUI),以改进实用性,并增加 3270 及 5250 主机程序的再使用性。

您可以开发 HATS 网络程序,包括端口,有了匹配公司网络或者端口 GUI 标准的界面,用户就可以通过他们的网络浏览器来访问它们了。您还可以开发 HATS 网络程序,以提供从移动设备上访问主机程序的功能,这些移动设备包括手机,数据收集终端,以及个人数字助理。

移动设备支持

用户可以使用一个移动浏览器来访问网络程序。但是,移动设备拥有与传统工作站客户端设备差异很大的特征。这些特征对网络程序提出了不同的要求。

  • 一个传统的客户端设备拥有相对较大的屏幕尺寸,例如 1024 x 768 像素。但是,一个典型移动设备的屏幕尺寸相对较小,例如 320 x 240 像素。
  • 同样,一个传统的客户端设备一般会支持使用鼠标或者键盘,以与用户进行交流,而一个移动设备可能只在手机上提供了按键。
  • 最后,与移动设备相比,一个传统的设备一般会拥有更强大的处理功能,更多的内存,对因特网更快的链接速度。

有了 Rational HATS,您就可以开发一个网络程序,以提供从移动设备上访问 3270 和 5250 主机程序的功能。这个过程与开发 HATS 网络程序相类似,但是要考虑移动设备及其网络浏览器的不同特征。

HATS 包含了一些新的功能,以帮助您开发网络程序,从而满足您的需求。本文描述了这些需求,以及其他的 HATS 功能,并解释了您可以使用的两种方法,以从移动设备端访问 3270 及 5250 主机程序:

  • 对于第一种方法,您使用 HATS 来开发一个网络程序,该程序会动态地将主机界面转化为现代的图像化网络页面,这些页面能够满足移动设备的要求。
  • 对于第二种方法,您使用 HATS Integration Objects,来访问主机程序,并创建可定制的网络页面以提供从移动设备端进行的访问。

使用界面转化以支持移动设备

HATS 界面转化功能使您能够开发 HATS 网络程序,来支持移动设备。7.1 版本支持 Microsoft Internet Explorer Mobile 浏览器;而 7.5.1 则扩展至支持 iPhone OS Safari,这样一个 HATS 程序就可以使用一个 Apple iPhone 或者 Apple iPod touch 进行访问。

对于 HATS 程序来说,您可以通过创建一个 HATS 项目开始。

创建一个项目

在On the first page of the Create a Project 向导的第一页中,您可以选中 为移动设备优化选项 的复选框。

图 1. 为移动设备创建一个项目
Create a Project 向导

选中该选项,则会使用最适合移动设备的选项来初始化项目。有一些选项,例如打印,键盘,异步更新,以及其他内容,对于移动设备则不支持。因此,它们是禁止使用的。

当您在为移动设备优势化一个项目时,并没有提供选择项目主题的选项。在这种情况之下,您可以将移动设备选项想象成主题。

同样,对于项目的使用,可以使用为移动设备优化的模板(见于图 2)。

图 2. 默认模板
Default Template 窗格

默认项目设置

默认的赋

在您创建一个为移动设备所优化的项目之后,您将会注意到一些与典型的网络程序所不同的地方。例如,在项目设置之中,第二个赋值集合,叫做 compact,会得到创建并设置为默认值(图 3),而 Use compact rendering 选项也被选中了。

图 3. 默认赋
项目设置,Default Rendering 窗格

图 3 的大图

通常来说,默认的复制集合会保持原始的主机界面结构,同时通过自动添加 GUI 控件(例如链接,按钮及表格)以改进用户效率,来扩展功能。但是,主机界面的默认赋值就可以显示在移动设备之上了,而 Use compact rendering 选项会提供给用户,以支持进行一定程度的压缩。这意味着 HTML 及空白空间的数量降低了,它将会显示原始主机界面的不同结构。

compact 赋值设置之中,您会注意到下拉(选择)工具,而不是 Link 工具,会在选择列表的默认赋值中使用。这可以保持原本作为一个小屏幕移动设备的空间。例如,图 4 之中的主机界面上的选择列表会得到转化,默认条件下,会转化为下拉列表。

图 4. 主机界面之上的选择列表
i5/OS Main Menu host 界面

注意在图 5 之中选择列表中的下拉工具。

图 5. 选择列表的默认赋值作为一个下拉工具
iPhone 界面之上的下拉工具

当下拉工具被选中时,选择列表之中的项目会显示在下拉列表之中,如图 6 所示。

图 6. 下拉菜单选项的默认赋
iPhone 界面之上的下拉列表选项

同样,在 compact 赋值区域内,您会注意到对话框的认识和转化是激活的。在图 7 的主机界面中,模拟框中包含的区域会被当做一个对话框。

图 7. 主机界面对话框
Specify Collection 或者 Library i5/OS 主机界面

默认条件下,只有界面的对话框区域会被为设备上显示而转化。

图 8. 默认对话框转化
iPhone 界面上的默认对话框转化

程序按键

其他的选项会被添加到 Application Keypad 与 Host Keypad 设置之中。默认条件下,程序按键将会作为移动设备项目之中的图标显示(见于图 9 之中的下拉菜单)。

图 9. 程序按键设置
项目设置,程序按键窗格

图 10 显示了默认的程序按键,在右上角中作为一系列的图标显示。

图 10. 作为图标显示的默认程序按键
iPhone 界面之上的默认程序按键

主机按键

默认条件下,主机按键是作为下拉列表显示的。您可以选择显示什么按键。最少,它包含了默认转化及所有通用转化的 Enter 按键,因为按键支持在移动项目中处于关闭状态。

图 11. 主机按键设置
项目设置,Host Keypad 窗格

图 11 的大图

图 12 显示了默认的主机按键,显示为带有 Sumit 按钮的下拉列表。

图 12. 默认主机按键会显示为带有一个 Submit 按钮的下拉菜单
iPhone 界面之上的主机按键下拉工具

当您现在主机按键下拉列表工具时,您为默认转变所定义的主机键会显示在下拉列表之中,如下所示。

图 13. 主机按键下拉菜单
iPhone 界面之上的主机按键

工具设置

接下来,您会注意到 Field 工具的项目设置(图 14)。一个新的 Layout 设置支持两个选项:Table 或者 Separated

  • 选择 Table 以作为表格之中的输出,目标就是保持原始主机界面之中的布局。这就是没有为移动设备优化的网络程序的默认值。
  • 选择 Separated 以适应在线扩展标签来作为输出,以区分区域,目标就是降低 HTML 和空白区域的数量。这就是为移动设备优化的网络程序的默认值。
图 14. 区域工具
项目设置,区域工具窗格

另外,您可以使用设置,Enable cursor positioning option on input fields,来允许用户从数据输入模式切换至游标定位模式。当您处于数据输入模式时,用户可以将数据输入到输入区域内,如下面的 User 区域所示。

图 15. 数据输入模式
用户 ID 输入区域与 MYIDBAD 的用户 ID

为了切换至游标定位模式,用户可以激活链接,由星号(*)标示,接下来就是输入区域。

图 16. 切换至游标定位模式
User ID 区域与选择的星号

当您处于游标定位模式时,用户可以切换,或者定位游标到输入区域的任何一个字符之上。图 17 显示了游标定位在 MYIDBAD 用户 ID 的字母 B 上。

图 17. 游标定位模式
User ID 区域与 MYIDBAD 之中的 B

为了切换回数据输入模式,用户可以激活链接,它由输入区域之内的星号(*)指示。

图 18. 切换至数据输入模式
User ID 区域与选择的星号

图 19,显示了切换回数据输入模式之后的输入区域。

图 19. 数据输入模式
数据输入模式之中的 User ID 区域

现在,如果用户提交了一个 Field 推出键,例如,从游标位置到区域末尾的数据被删除掉了,而游标被移动到下一个区域之中,如图 20 和图 21 所示。

图 20. 从主机按键中退出的 Submit Field
选择的主机按键与 Field
图 21. 退出到下一个输入区域的 Field
User ID 区域与 MYID,选择的密码区域

该设置对没有其他游标定位功能的移动设备非常重要。您可以使用 Field,Popup,Subfile(复选框),Subfile(下拉),Subfile(弹出),Table 以及 Text 输入工具。

为了在移动设备之上显示表格数据,Rational HATS 为 Table,Subfile(复选框),Subfile(下拉),Subfile(弹出)工具提供了 Columns placement 功能。该功能支持从显示屏中安排和排除列,并支持可扩展的具体列,这样表格就可以适应更小的水平空间。

具体的列,在扩展时,会直接显示在行的下面,该行包含了数据的主列。当用户扩展一个特定的行时,具体列会按照向下,而不是向右的格式显示出来。这就使得用户可以在小型的显示器上查看任意数量的列了,而不用再去水平拖动了。

图 22. 列的位置
列的位置

项目设置,Table 工具窗格

例如,在图 23 之中,注意在主机界面之上有带有四个列的表格:

  • PART_NUMBER
  • PART_NAME
  • SALES_PRICE
  • PRODUCT_CATEGORY
图 23. 主机列数据
带有四列数据的主机界面

如图 24 所示,当项目对移动设备进行优化时,Table 工具只会显示前两列作为主列。

图24. 主列
Table 工具显示了数据的前两列

当用户展开列以显示具体的列内容(图 25)时,它们会垂直显示在主列的下面。

图 25. 具体的列
表格工具在主要内容之下显示了具体的列

您还可以选择选项以 在服务器上保持具体的列 。这就支持降低迁移数据的数量,因为预期之外的具体数据不会通过 HTTP 发送给末端设备。只有用户所请求的内容会获取并发送至浏览器。

界面定制以及转化

HATS 界面定制及转化功能能够帮助您为移动设备创建一个真实可用并可定制的程序。您可以创建一个容易使用的网络浏览器界面,该界面只会使需要的功能可见,并将其他的功能隐藏。您可以将类似于图 26 所示的主机界面,转化为更容易阅读和导航的界面,例如图 27 所示。

图 26. 复杂的主机界面
带有复杂界面的主机界面
图 27. 主机界面的网络转化
带有值的简单下拉列表

您可以限制显示什么信息,并从多个界面处收集结果,并将它们显示在单个的,可滚动的网络页面之上。有了 HATS,您就可以将复杂的界面从用户面前隐藏掉,只留下那些需要的区域,并支持有效值的下拉列表。您可以使用不同的 HTML 工具来显示结果,因此使得结果更容易阅读和理解。

Rational HATS 通过降低完成交易所需要的敲击键盘和工作流程步骤的数量,从而合并界面,跳过不需要的界面,输入信息,并为末端用户规范交易运行宏。这些带有图形化用户界面的规范交易,使得扩展使用主机程序功能到使用移动设备变得可能。

偏好

当您收藏在网络项目之中创建一个空白的界面转化时,HATS 可能会,也可能不会在交易之中包含一个空白的布局表。默认条件下,如果项目为移动设备进行了优化,那么 HATS 就不会包含一个空白的布局表。该选项在 HATS 工具集偏好中是可选择的。

您可以通过选择 Window > Preferences 来从 Rational 菜单栏中访问偏好。其中一个偏好允许您指定,您在网络项目中所创建的每一个空白交易中,是否包含一个空白的布局表。默认条件下,如果项目为移动设备进行了优化,那么 HATS 会使用 项目对移动设备优化时例外 选项来跳过该选项。

图 28. 偏好视图
Preferences,HATS Transformation 窗格

使用集成对象来支持移动设备

您可以使用功能强大的 HATS 宏与 Integration Object 功能,以为用户构建预定义的交易。使用 Model 1,Struts,JavaServer Faces(JSF)网络页面,或者网络服务作为界面,这些预定义的交易可以催促用户进行输入,例如账户号码或者端口号码。然后,为了用户的利益考虑,HATS 会催促主机程序完成交易。该功能支持信息外部化,以便移动设备访问,但是它控制了允许用户看到的内容以及做什么。您还可以使用它,来为支持网络浏览器而不是 HATS 界面转化功能支持的浏览器开发 HATS 程序。

如果一个交易是由多个主机程序执行的,HATS 可以通过单个的网络界面,将交易与所有的界面合并起来。例如,您可能拥有一个主机程序,该程序会处理新的订单信息,而其他的程序会处理客户账户或者历史信息。有了 HATS,您就可以通过单个的网络页面,提供两个程序之间的交易。用户不会知道他们正在使用的是两个不同的程序。

按照下面的步骤来实施一个 HATS 网络驱动的主机交易:

  1. 创建一个 HATS 宏,以通过组成主机交易的主机界面来提供编程的导航。
  2. 接下来,您可以从该宏中生成一个 HATS Integration Object(IO),它是一个封装和提供编程界面的 Java bean 以执行宏。
  3. 然后生成网络页面,通过该页面用户可以从它们的移动设备中调用 IO。

创建 HATS 宏

您可以使用 HATS Toolkit 来轻松创建宏。您使用 Host Terminal 向导来记录一个宏,使用一个动态主机连接在主机界面之间导航。通过使用宏,您可以编程 HATS,以催促用户在一个主机界面输入区域中进行输入,在其他的界面之间进行导航,并从界面中提取数据,以返回至用户的移动浏览器之中。

图 29. 使用主机终端来记录一个 HATS 宏
Host Terminal 与 Macro Navigator 和主机界面

在记录之后,您就可以使用相同的 Host Terminal 向导或者使用 Macro Editor 或 HATS 工具所提供的 Advanced Macro Editor,来编辑您的宏。

HATS 还包含了一个 Visual Macro Editor(VME)。所谓的 VME 就是一个工具,用来开发 HATS 宏,因此可以让您更轻松地构建宏,并在开发时更轻松地从宏中找到逻辑问题(见于图 30 之中的图表)。它包含了 HATS Host Terminal,Macro Editor,以及 Advanced Macro Editor 的许多特性,这些特性整合到一个工具之中,并支持宏的在线开发。在主机终端记录一个宏时,它提供了可选的,自动化的屏幕截图功能。它还支持在宏间复制流程,并为添加新界面提供了拖拉操作的支持功能。

图 30. 为宏开发使用 Visual Macro Editor
主机界面及流程的 Visual Macro Editor 视图

图 30 的大图

创建 Integration Objects

为一个宏创建一个 IO,创建一个 Java 编程界面,以运行宏,该宏会接受宏所期望的输入,确定宏,并返回宏所提供的输出。当您创建一个宏时,很容易通过在 HATS Projects 视图中简单右击宏,并选择 Create Integration Object,来创建一个 IO。在 HATS 偏好之中,您可以指定保存相同的宏时,IO 会得到自动的创建。

图 31. 从一个宏创建一个 Integration Object
Project 视图,Create Integration Object 菜单项

创建网络页面

为移动设备开发 IO 程序的下一步,就是创建网络页面,该页面允许移动设备用户提交输入,并通过驱动 IO 来接受来自主机程序的输出,并最终驱动宏。为了实现这一点,您可以简单地右击 Integration Object(见于图 32),并从下列的选项中作一个选择:Create Model 1 Web PagesCreate Struts Web,Pages,或者 Create JSF Web Pages

图 32. 创建一个网络页面以驱动一个 Integration Object
Project 视图,创建网络页面菜单项

在 Create Web Pages 向导之中,您可以指定输入属性,以决定网络页面上的显示内容以及使用的输入控件。您还可以指定显示什么输出属性,包括输出控件。

图 33. 定义在网络页面上显示的输入属性
定义输入属性窗格

因为 3270 与 5250 主机程序是联系型的,所以您可能想要使用联系汇,结合 Connect 和 Disconnect 宏,来在运行 IO 时优化性能和响应时间。当您在程序中指定联系汇并指定该 HATS 使用 Connect 与 Disconnect 宏时,HATS 会维持一个已经出现的主机联系汇,并准备就请求运行 IO。使用这种技术可以消除运行 IO 时主机系统的限制性因素。

在您部署程序之后,用户就可以简单地使用他们的移动设备浏览器,来访问网络页面的 URL,并输入您想要的内容。

图 34. 驱动 HATS Integration Object 的网络页面
iPhone 上 Integration Object 的网络页面

当用户在网络页面上提交输入(图 34)时,它会从联系汇处分配一个联系,并驱动 IO,这又反过来驱动宏以及主机程序。

图 35. 使用用户提交输入驱动的主机宏
主机界面显示了用户提交的输入

使用用户所提供的输入,宏会切换至主机程序并获取需要的输出。

图 36. 返回至用户的提取数据
主机界面显示了用户请求的结果

IO 然后将提取的输出返回至用户的移动网络浏览器,而连接会返回至连接汇处,等待另一个输入请求。

图 37. 返回至移动设备网络浏览器的主机数据
显示 iPhone 中结果的网络页面

迁移和测试移动项目

迁移

当您开始更新对 3270 和 5250 主机程序访问时,您可以拥有传统网络浏览器用户,而不是移动浏览器用户的不同 HATS 程序。但是,如果您为传统的用户开发了一个 HATS 网络程序,并且想为一个移动用户或者相似者开发一个 HATS 网络程序,您必须手动为移动设备开发一个分开的 HATS 项目。

为移动设备创建 HATS 网络程序,类似于一个已存在的传统 HATS 网络程序的一个方法,,如下所示:

  1. 创建一个新的 HATS 项目并选择该选项:为移动设备优化选项
  2. 将所有的屏幕截图,屏幕定制,以及宏从已存在的项目复制到新的移动设备之上。
  3. 在移动项目中创建新的界面转化,以支持移动设备的需求。
  4. 编辑界面功能,以应用适当的新转化。
  5. 如果您使用 Integration Objects(IOs),从复制的宏中重新生成 IOs,并重新创建驱动 IOs 的网络页面,以支持移动设备的需求。

测试

您可以使用 Rational SDP 所提供的内部测试服务器,按照您测试传统 HATS 网络程序的相同方式,来测试您的 HATS 移动设备程序。您可以使用提供的内部网络浏览器或者外部网络浏览器。您最好也使用移动设备模拟器,来促进一个更现实的移动设备测试环境。确定您使用真实的移动设备进行了测试。


总结

有了 Rational HATS,现在您可以更轻松地开发 HATS 网络程序,该程序从移动设备向 3270 和 5250 主机程序提供了界面转化访问功能,这些移动设备有手机,数据收集终端,以及个人电子助理(PDA)。另外,您可以使用 HATS 宏及 Integration Object 支持功能,来提供访问,以预定义从移动设备而来的主机交易。通过使用这些功能,您就可以改进移动工作区的效率,扩展编辑器的基础,并改进服务的层次。

参考资料

学习

获得产品和技术

讨论

  • 加入 HATS HotSpot developerWorks,分组讨论,文档以及博客。
  • 加入 developerWorks 中文社区。与其他 developerWorks 用户沟通,关注开发驱动的博客,讨论区,例如 Rational Café 和 Rational 维基。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=657017
ArticleTitle=HATS 对移动设备支持的简介
publish-date=05052011