IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  WebSphere  >

使用 IBM WebSphere 产品的端到端移动企业信息系统解决方案

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

Ray Tan (raytan@us.ibm.com), 高级解决方案设计师, IBM Pervasive Computing

2002 年 11 月 01 日

本文描述了使用 IBM WebSphere Everyplace Access、WebSphere Everyplace Wireless Gateway 和 WebSphere Edge Server 产品的移动 EIS 解决方案。本文还描述了 SAP Field Service Portlet 的开发以及如何使用 SAP 警告通知功能。

© Copyright International Business Machines Corporation 2002.All rights reserved.

引言

如今,许多企业都在评估和选择中间件供应商,以便为他们现有的企业信息系统(Enterprise Information Systems,EIS)应用程序提供移动解决方案。IBM® 了解企业的需求,并已开发出能提供安全的、可伸缩的端到端企业移动解决方案的产品。

企业移动解决方案最初的应用是让外出员工能够通过无线设备访问后端 EIS 应用程序。将 EIS 应用程序扩展到无线设备不应给企业增加巨大的开支。移动应用程序应易于开发,所需的新技能应尽可能地少。不管员工使用的是移动设备还是台式计算机,移动应用程序都应为他们提供熟悉的应用程序导航以及外观界面。

您需要注意到特定于无线设备的众多功能,这很重要。这些功能包括:警告通知、个人信息管理(Personal Information Management,PIM)应用程序、电子邮件、设备管理和基于位置的服务,这些功能在与应用程序集成时,对于外出员工来说是非常重要的功能。最后一点(而且重要的)是,企业移动解决方案需要有从无线网络到企业的高度安全的连接性,还需要有高度可伸缩的基础架构,以利于性能和将来的扩展。

IBM WebSphere 产品可以满足所有这些需求。本文描述了使用 IBM WebSphere® Everyplace™ Access、WebSphere Everyplace Wireless Gateway 和 WebSphere Edge Server 产品的移动 EIS 解决方案。在文中我们将描述一个针对 Pocket PC 设备的 SAP 移动解决方案作为贯穿全文的示例。本文还描述了 SAP Field Service Portlet 的开发以及如何使用 SAP 警告通知功能,还有其它一些内容。该解决方案体系结构通常适用于很多 EIS 应用程序,包括 Siebel、PeopleSoft、Oracle、JD Edwards 和许多其它应用程序。





回页首


移动解决方案体系结构

下面的图 1 描述了一个普通的移动 EIS 解决方案体系结构。这个 EIS 解决方案体系结构使用户能够从移动设备访问 EIS 应用程序,从而提供了重要的移动功能、安全的连接性和高度可伸缩的基础架构。通常,该体系结构支持任何一种后端服务器和多种移动设备,包括 PDA、WAP(Wireless Application Protocol,无线应用协议)电话以及膝上型计算机。


图 1. 一般的移动 EIS 解决方案体系结构

我们现在详细地看一看每个组件。

WebSphere Everyplace Access

IBM WebSphere Everyplace Access 中的技术使外出员工能够在几乎任何时间、任何地点访问生产数据和企业应用程序。它旨在让企业从小型无线应用程序功能开始,逐步扩展到更丰富的功能集;它的基础是一个可伸缩的基础架构,该基础架构符合企业将来的移动计算需求。Everyplace Access 建立在 WebSphere Portal 框架和 WebSphere Application Server 的基础之上。

由于 Everyplace Access 采用了已有的 WebSphere Application Server 技术,它为企业提供了一个可依赖的基础架构,当企业将来扩展其无线倡议时,这种基础架构也能相应扩展以满足企业需求。作为 J2EE 应用程序服务器,WebSphere Application Server 支持 J2EE 连接器体系结构(J2EE ConnectorArchitecture,JCA)。如今,您可以使用针对各种 EIS 的 WebSphere JCA 适配器;欲知详情,请参考 WebSphere Adapters 页。在将来的发行版中,Web Application Server 会集成其它更多的 JCA 适配器,将来的 Everyplace Access 发行版也可以利用它来访问 EIS 应用程序。

IBMWebSphere Portal框架通过使用 portlet 和 portlet 编程模型将内容传送到启用浏览器的设备上,这使得企业在定制时具有很大的灵活性。 WebSphere Studio Workbench集成开发环境(Integrated Development Environment)可以提高开发过程的效率。

要了解更多关于 WebSphere Everyplace Access 的信息,请访问 IBM Pervasive computing software Web 站点

WebSphere Everyplace Wireless Gateway

IBM WebSphere Everyplace Wireless Gateway for Multiplatforms 使企业能够让外出员工通过不同的无线网络使用已有的应用程序。它既能通过大范围的国际无线网络技术支持安全数据访问,又能通过局域网(Local Area Network,LAN)和广域网(Wide Area Network,WAN)有线网络支持安全数据访问。Everyplace Wireless Gateway 提供从设备直接到企业网络内的通道(tunnel),并支持多种加密算法。

Everyplace Wireless Gateway 提供消息传递网关功能,支持多种消息传递通道,包括短消息服务(Short Message Service,SMS)、WAP Push 和简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)。消息服务和 Push 工具箱能够使消息传递功能与任意的应用程序相集成。IBM 已经开发出了将消息传递功能无缝集成到 SAP 和 Siebel 应用程序的适配器,从而使员工能够直接从后端 SAP 和 Siebel 应用程序将警告通知消息发送到移动设备。

Everyplace Wireless Gateway 还支持在不断开应用程序的端到端 TCP 会话的情况下在物理网络间动态漫游。这使得外出员工可以保持与极其重要的应用程序之间的不间断的连接。举例来说,如果一个用户正在办公室使用 802.11b 适配器连接到网络下载应用程序,然后他不得不跳进出租车直奔机场,那么 Everyplace Wireless Gateway 就能够在不中断下载的情况下自动检测到从 802.11b 网络到 GPRS 网络的切换。

要了解更多关于 WebSphere Everyplace Wireless Gateway 的信息,请访问 IBM Pervasive computing software Web 站点

WebSphere Edge Server

IBM WebSphere Edge Server for Multiplatforms 把应用程序软件带到了网络的前沿。它提供用于应用程序卸载、内容分发,服务的事务质量、高速缓存以及负载平衡这些方面的功能。

WebSphere Edge Server Load Balancer 通过透明地群集前沿技术、Web 和应用程序服务器来帮助提高应用程序性能、可伸缩性和可用性。它还提供站点选择、工作量管理、会话亲缘性(session affinity)和透明故障转移。 定制顾问程序(Custom advisors)使得基于唯一应用程序和平台标准的负载平衡成为可能。

要了解更多关于 WebSphere Edge Server 的信息,请访问 IBM WebSphere Edge Server 产品 Web 站点





回页首


SAP 移动应用程序开发

通过让 WebSphere 适配器(WebSphere Adapter)提供对 EIS 应用程序的访问,WebSphere Application Server 实现了 J2EE 连接器体系结构的连接、事务和安全性服务。Portlet 为移动应用程序提供了处理、浏览和更新 EIS 应用程序数据的用户界面,而且很容易开发和部署。

下面的图 2 描述了 JCA 的概况,还描述了 IBM 产品怎样适应以及如何满足每个 JCA 功能区域的需求。


图2. 实现 J2EE 连接器体系结构的 IBM 产品

WebSphere JCA Adapter for mySAP.com

IBM WebSphere JCA Adapter for mySAP.com 可以被 portlet 用来访问 SAP 系统。这种适配器需要安装到 WebSphere Application Server 上作为资源适配器。您需要创建一个连接工厂(Connection Factory),同时要指定其 JNDI 绑定路径。portlet 将用 JNDI 绑定路径选择到 SAP 系统的正确连接路径。您还应指定连接工厂的连接参数,以提供后端 SAP 系统的信息。参见下面的图 3 和图 4。


图 3. 配置 WebSphere JCA Adapter for mySAP.com JNDI 绑定路经


图 4. 配置 WebSphere JCA Adapter for mySAP.com 连接

使用 SAP 标记库创建 portlet

为了减轻开发 SAP portlet 的工作量,已经在 WebSphere Portal 框架上做了大量的开发工作。您可以在 Portlet 目录站点上找到几个 SAP portlet,它们可以由 portlet 开发人员作为示例使用或引用。

开发 SAP Portlet 标记库是为了实现众多的常用功能,如 SAP RFC 事务。有了标记库,很多情况下我们只需掌握 JSP 技术即可开发 portlet。设计与开发 SAP portlet 时也需要懂得 SAP 功能模块。

下面的代码片断摘自 SAP Portlet 标记库描述符文件 sapportlet.tld ;它定义了 SAP Portlet JSP 用来调用 RFC 请求以访问 SAP 功能模块的请求标记和参数标记。

清单 1. 摘自 SAP Portlet 标记库描述符文件的代码片断 sapportlet.tld

<taglib>
...
   <tag>
      <name>request</name>
      <tagclass>com.ibm.wps.portlets.sap.taglib.RfcRequestTag</tagclass>
      <teiclass>com.ibm.wps.portlets.sap.taglib.RfcRequestTEI</teiclass>
      <bodycontent>JSP</bodycontent>
      <info>Create an SAP Rfc Request</info>
      <attribute>
         <name>name</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
      </attribute>
      <attribute>
         <name>id</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
      </attribute>
      <attribute>
         <name>output</name>
         <required>false</required>
         </attribute>
      <attribute>
         <name>config</name>
         <required>false</required>
      </attribute>
   </tag>
   <tag>
      <name>parameter</name>
      <tagclass>com.ibm.wps.portlets.sap.taglib.RfcParameterTag</tagclass>
      <bodycontent>JSP</bodycontent>
      <info>Create a request parameter</info>
      <attribute>
         <name>name</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
      </attribute>
   </tag>
...
</taglib>
    

以下摘录的 JSP 代码片断表明,在使用请求与参数标记调用 SAP IWWO_SERVORDER_OPERATION_LIST 功能模块时,SAP Field Service Portlet 访问服务订单列表,这些订单按照员工号 employeeno 分配给员工。

清单 2. 使用请求与参数标记调用 SAP IWWO_SERVORDER_OPERATION_LIST 功能模块

<% String employee = (String)session.getAttribute("employeeno");
   if(request.getAttribute("sapcfg") == null)
      return;
   if(employeeno == null)
      return; %>
<% if(session.getAttribute("orderlist") == null { %>
<sap:request name="IWWO_SERVORDER_OPERATION_LIST" id="orderlist" 
   config="sapcfg">
   <sap:parameter name="EMPLOYEENO">
      <sap:simple><%=employeeno%></sap:simple>
   </sap:parameter>
</sap:request>
<%session.setAttribute("orderlist", 
   pageContext.getAttribute("orderlist")); } %>
...
<table width="500px" border="0" cellpadding="4" cellspacing="0">
<sap:result id="order list">
<sap:tableparam name="OPERATIONLIST">
<% cnt++; %>
<sap:simplefield name="ORDERID" id="orderid" visible="no" />
<% if(orderid !=null) {
   hasResult = true; %>
<tr>
<sap:simplefield name="STREET" id="street" visible="no"/>
        
<sap:simplefield name="CITY" id="city" visible="no"/>
<sap:simplefield name="TEL 1_NUMBR" id="tel1_numbr" visible="no"/>
<% StringBuffer servorderDesc = new StringBuffer();
   if(!orderid.trim().equals(""))
      servorderDesc.append("order # " + orderid.trim() + " ");
   if(!street.trim()Equals("") && !servorderDesc.equals("")) {
      servorderDesc.append(", "); }
   servorderDesc.append(street.trim());
   if(!city.trim()Equals("") && !servorderDesc.equals("")) {
      servorderDesc.append(", "); }
   servorderDesc.append(city.trim());
   if(!tel1_numbr.trim()Equals("") && !servorderDesc.equals("")) {
      servorderDesc.append(", "); }
   servorderDesc.append(tel1_numbr.trim()); %>
<td>
<a href="<portlet:createURI><portlet:URIAction name="enter_detail"/>
   <portlet:URIParameter name="seqno" value='<%="" + cnt%>'/>
   </portlet:createURI>"><util:HTMLEncode><sap:simplefield name="ORDERID" />
   </util:HTMLEncode></a>&nbsp;<util:HTMLEncode>
<%=servorderDesc %>
</util:HTMLEncode>
</td>
</tr>
<% } %>
</table>
    
      

开发人员应注意 Pocket Internet Explore 不支持级联样式表(Cascading Style Sheet,CSS),它对 Java 脚本(JavaScript)的支持也非常有限。因此,应避免在 portlet JSP 中使用 CSS 与 JavaScript。要了解关于如何开发特定于设备的 portlet 应用程序的详细信息,请参阅 Michael Wanderski 撰写的文章 WebSphere Portal 编程:普遍深入的 Portlet 开发,这篇文章发表于 2002 年 7 月号的 WebSphere Developer 技术期刊。

完成这些步骤之后,您便可以把 Field Service Portlet 部署到 WebSphere Everyplace Access 了。WebSphere Portal 框架灵活的设计允许在不重新启动应用程序服务器的情况下部署与激活 portlet。下面的图 5 和图 6 显示了 Field Service Portlet 在 Pocket Internet Explore 浏览器上的外观。指定的客户服务订单列表与订单号、客户地址、以及电话号码显示在一起。


图 5. SAP Field Service 应用程序


图 6. 服务订单列表

如果单击订单号 500233 的超级链接,服务订单的详细信息将显示如下:


图 7. SAP Field Service 应用程序


图 8. 订单 #500233 的详细信息

凭证库与 SAP 用户映射

要访问后端 SAP 应用程序并获取关于各员工的正确数据,portlet 需要提供用户认证信息。为了在门户网站范围之外访问应用程序,WebSphere Portal 框架提供了凭证库服务,portlet 可以使用它存储用户登录应用程序所用的用户标识和密码(或其它凭证)。外出用户可以编辑 SAP Portlet,选择一个预先定义的凭证库并指定 SAP 用户名和密码(参见下面的图 9)。Portlet 将代表该用户访问后端 SAP 系统。


图 9. 在 portlet 中映射到用户

脱机访问 SAP 应用程序数据

WebSphere Everyplace Access 支持脱机浏览应用程序数据。外出员工可以脱机浏览应用程序内容,并在设备没有连接时访问重要的应用程序。这不需要额外的编程。外出员工只需要将特定的 SAP Portlet 添加到脱机 Portlet 页,然后使其与移动设备同步即可。


图 10 与图 11. 脱机 portlet 的同步与浏览

WebSphere Everyplace Client for Pocket PC 提供了脱机门户网站浏览功能,还可以用来同步应用程序 portlet 以进行脱机查看。图 10 和图 11 分别显示 Everyplace Client 如何完成脱机 portlet 的同步以及脱机浏览 portlet 页面的情况。

图 12 与图 13 显示了 Field Service Portlet 脱机浏览时的外观。需要再次指出的是,外出员工可以访问指定的服务订单列表,也可以访问每一份订单的详细信息。


图 12. 脱机浏览服务订单列表


图 13. 订单 #50023 的详细信息

脱机表单填写

脱机表单填写功能是为 WebSphere Everyplace Access 的下一发行版设计的。它扩展了脱机浏览功能,不但允许外出员工脱机浏览静态内容,还允许他们在断开连接时提交“张贴”操作表单,然后这些表单会在下一次同步中被张贴到合适的 portlet。

有了 Everyplace Access,就无需为提供断线后的脱机移动应用而进行额外的特定于设备的开发。从设备到服务器,Everyplace Access 的集成框架允许企业以最小的花费更快地进入移动空间。





回页首


连接性与安全性

确保移动设备与企业网络间安全地连接非常重要。现代科技已经足够先进,企业不需要为了移动访问而牺牲安全。WebSphere Everyplace Wireless Gateway 是解决移动设备的连接性和安全性问题的理想方案。

举例来说,Pocket PC 用户可以安装 IBM Wireless Client。Wireless Client 与 Wireless Gateway Server 联手,提供了完全的连接性与安全性支持。它提供强大的认证功能,支持 ESA 安全标识符。企业可以从一个包括 DES、Triple DES、RC5 和最终的 AES 的内容繁多的密码库进行选择,通过无线网络提供从无线网关服务器到无线设备的所有数据的端到端加密。Everyplace Wireless Gateway 正在接受联邦信息处理标准(Federal Information Processing Standards,FIPS)140 认证考察,以达到美国政府最严格的安全标准。

这就是 Pocket PC 设备上的 Wireless Client 图标: Pocket PC 上 Wireless Client 图标的抓屏外出员工可以选择与服务器配置相匹配的加密算法,也可以输入用户标识和密码登录 Wireless Gateway,如图 14 和图 15 所示。


图 14 和图 15. Wireless Gateway 客户机配置

外出员工可以把 Pocket PC 配置成打开电源时自动登录到 Wireless Gateway 服务器,或者手工启动连接性。





回页首


可伸缩性和性能

WebSphere Edge Server 负载平衡器

WebSphere Edge Server 负载平衡器(WebSphere Edge Server Load Balancer)将工作负载分配给多个应用程序实例;它提高性能,支持容错。它提供唯一的定制顾问程序,使运行 Everyplace Access 服务器的 Web Application Server 达到负载平衡。有了 Edge Server Load Balancer,多个服务器在网络上看起来就好象是一个服务器一样。随着工作负载的增加,工作会被分散到群集中可用的服务器上。假如某一个服务器发生了故障,在对其进行脱机维护期间,工作负载将被分配到其它服务器。下面的图表显示了使用 Edge Server 把流量平衡分配到多个 WebSphere Application Server 服务器的配置。WebSphere Everyplace Access 的一个早期发行版是在一个单服务器配置上测试的,在将来的发行版中,它将会支持可伸缩性更强的配置。


图 16. 使用 Edge Server 平衡分配负载

早期的 WebSphere Everyplace Access 发行版鼓励企业客户在开始时从小和快做起,它们支持单服务器配置和针对某些组件的有限的多服务器配置。预计未来的发行版将支持可伸缩性更好的配置,从而充分利用 WebSphere Edge Server 和 WebSphere Application Server 框架的优势。

Everyplace Wireless Gateway 群集

Everyplace Wireless Gateway 支持配置群集,以利于可伸缩性和性能。群集管理器执行动态负载平衡功能,并提高了在几个 Wireless Gateway 安装之间的可用性。Wireless Gateway 能够被分布到多个站点以适应企业的需要。此外,Wireless Gateway 还支持高可用性群集多重处理(High Availability Cluster Multiprocessing,HACMP),提供每周七天,每天二十四小时的可靠性,并能够支持一百万个移动用户,同时保持 99.999% 的上线时间。

图 17 是 Wireless Gateway 的一个容错配置示例。


图 17. Wireless Gateway 高可用性群集

Wireless Gateway 还可以减少在无线网络上传输数据的开支。它提供有效的数据压缩与连接性管理,并优化基于 IP 的无线网络(包括 2.5G 和 3G 网络)上的会话传输。它还能在非 IP 无线数据包网络上进行最优化的 IP 传输,并提高速度、可靠性,还能增长移动用户的经验。





回页首


移动功能

通知

IBM SAP Notification Adapter 提供了从 SAP 应用程序向普及设备传递警告通知的集成解决方案。Notification Adapter 使用 Everyplace Wireless Gateway 作为消息传递网关,使得诸如客户服务订单、字段维护记录应用程序这样的 SAP 应用程序能够向外出员工的普及设备发送通知。下面的图表显示了 Notification Adapter 的体系结构视图:


图 18. 经由 IBM Adapter 和 Wireless Gateway 的 SAP 通知

例如,服务代表可以从直接访问后端 SAP 系统的 SAPGUI 创建服务订单。服务代表可以从服务订单创建屏幕上按“传呼(paging)”按钮向现场工程师的移动设备发送通知消息。该消息由 SAP 应用程序自动生成,在这个过程中,您可以预先定义并选择该现场工程师的移动设备号码。


图 19. 创建服务订单


图 20. 发出警告通知

外出员工在其 Pocket PC 设备(参见图 21)上接收消息,并能迅速处理紧急服务订单。


图 21. 接收服务订单通知

PIM 与电子邮件

WebSphere Everyplace Access 支持 PIM 和电子邮件。它与 Domino Server 和 Microsoft Exchange Server 完全集成在一起。该功能提高了外出员工的工作效率。外出员工能使用企业后端 Domino 或 Microsoft Exchange Server 同步电子邮件、通讯录、日历、待办事宜列表和备忘录,如图 22 所示。


图 22. WebSphere Everyplace Client 电子邮件与 PIM 应用程序

设备管理服务

完整的设备管理服务(Device Management Service)支持是为 WebSphere Everyplace Access 的下一个发行版设计的。设备管理服务具有软件分发、软件库存和设备配置功能。例如,企业的 IT 管理员可以自动将软件更新发送到外出员工的 Pocket PC 设备上。可以为外出员工提供安装或拒绝软件包这两种选择,也可以让他只能选择安装。下面的图 23 显示了 Pocket PC 正在接收来自设备管理服务器的更新软件的情况。


图 23. 在 Pocket PC 上接收更新的软件

将来的功能

语音与多模态功能使得外出员工能够使用多种方法(包括语音、小键盘、或指示笔)与应用程序进行交互。WebSphere Everyplace Access 将来的发行版以及其它 IBM WebSphere 普及产品将会具有这些功能。

基于位置的服务使移动应用程序能够根据外出员工的物理位置智能地选择内容。Everyplace Access 将来的发行版将使得基于位置的应用程序的开发成为可能。





回页首


结束语

IBM WebSphere 普及产品的设计旨在将 EIS 应用程序扩展到移动空间。这些产品在处理操作的连接性与断开连接性方式的同时提供了易于开发和部署移动应用程序的开发框架。这些产品还为各种各样的无线和有线网络提供了连接性、提高了 VPN 通道和数据加密的安全性,还通过数据压缩和群集改善了性能。这些产品还为 EIS 应用程序、PIM 和电子邮件提供了警告通知功能以及其它许多对外出员工有价值的功能。

IBM WebSphere 普及产品作为中间件的确提供了端到端的 EIS 移动解决方案。



关于作者

Ray Tan是德克萨斯州奥斯汀市的 IBM Pervasive Computing 部门的高级解决方案设计师。他曾在 IBM 不同的部门(包括 WebSphere Application Server development lab 和 IBM Global Services)担任过软件工程师、设计师和顾问。Ray 是一名通过了 SAP 认证的技术顾问。他在南密西西比大学获得了物理学硕士学位,还在休斯顿大学获得了计算机科学硕士学位。现在 Ray 正在奥斯汀的德克萨斯大学学习 Executive MBA Option II 课程。您可以通过 raytan@us.ibm.com与 Ray Tan 联系。




对本文的评价










回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款