基于 SAP 企业级移动应用的研究与开发
文/汪海博
移动应用已经逐渐扩展到企业级应用,变成企业工作流程中的一部分。企业期望充分利用移动应用提高生产力、改善业务流程、降低运营成本。通过移动应用员工可在任何时间,任何地点都可以与SAP系统相连,实时更新信息,对需求做出响应,大大提高了工作效率。本文将针对SAP的企业级移动应用进行研究与开发,实现SAP在智能移动终端上的应用。
【关键词】SAP 移动应用 Web Service REST
企业要提高竞争力,企业信息化建设是必由之路。信息化建设是生产、销售、服务各环节的核心支撑平台,并随着信息技术在企业中的应用的不断深入。企业资源计划ERP(Enterprise Resources Planning)为企业的信息化建设提供了全面的解决方案。SAP是目前全世界排名第一的ERP软件,SAP的移动战略很早就已经在提。随着第三代移动通信技术(3G)的大力推广,手机上网的速度已经接近或达到 PC 机上网的水平,手机上网成为越来越多人的第一选择。今天,越来越多的工作人员早就不是以PC 作为跟企业互动的工具,通过移动应用可在任何时间,任何地点都可以与SAP系统相连,实时更新信息,对需求做出响应,大大提高了工作效率,实现了为新时代的移动员工提供更多实用信息和流程,增强他们处理业务的能力。
1 SAP移动应用现状分析
SAP 从 2005 年即基于 Net Weaver 推出了移动解决方案。在早期的 Netweaver Mobile 解决方案中包含了:
(1)移动基础架构MI(Mobile infrastructure)和基于MI开发的多种应用;
(2)(2)SAP CRM的移动客户端技术和基于此开发的CRM移动销售和移动服务;
(3)移动Webdynpro技术和移动浏览终端及基于此开发的MSOn (Mobile Sales Online with CRM)。
从应用角度来看,这些移动应用无疑也是客户所亟待的应用。但技术上和用户体验上,上述方案都有缺陷,所以至今都没有得以大规模推广。
2 SAP移动应用的特点
SAP 移动应用最大是特点就是“任何环境”、“任何设备”和“任何开发商”,即客户可以在确保一致性的前提下,从任何环境和任何设备上访问并连接 SAP 应用程序,从SAP NetWaver 技术平台的各个方面保持互通性和协作一致性
3 SAP企业级移动应用的研究与开发
3.1 服务端设计
利用 SAP 标准差旅管理系统使用相同的数据库,透过 BAPI 实现业务处理, 实现Android 移动终端的连接,在 SAP 系统中通过REST 架构风格创建 WEB Service,创建的处理程序类通过实例化 IF_HTTP_EXTENSION 接口。
资源是 REST的核心抽象,客户端通过对资源的请求来获取所关注的资源状态。URI 是表示资源的唯一标识符,在发布REST Web 服务时,由于需要暴露资源较多,本系统采用 URI 模板的方式通过 URI 模板和路径变量来标识不同的资源,对 URI 模板的设计采用主机名:端口号 / 上下文 / 应用名 /路径变量的命名规则。
3.2 Android客户端设计
主要功能包过差旅申请审批,差旅计划与预订,差旅费用结算。主要流程包括出差前审批流程和出差后费用结算流程。REST 架构风格要求把所有用户需求都抽象为资源,这在实际开发中比较难以做到,因为并不是所有用户的需求都能够抽象为资源,因此在 Android 客户端设计参考了 MVC 架构模式,混合使用 REST 和 MVC,并将应用程序的各个层次进行分离。本文也将系统客户端的设计分为界面设计、组件控制和管理设计。用户界面相当于 MVC 模型的视图层,界面的设计通过在 XML 配置文件中指定相应的布局方式,并按照该布局方式的特点布置相应的控件,通过在 Activity调用setContentView()方法设置要显示的布局及控件资源。控制器在程序应用中主要起着功能指派和结果反馈的作用。利用 Android Manifest.Xml 配置文件对每个应用组件进行控制,通过Shared Preferences来支持对资源状态的缓存。
4 SAP服务端的实现、Android客户端的实现
4.1 服务端实现
由 IF_HTTP_EXTENSION 接口来实现所有 HTTP 请求处理程序,该接口的唯一方法是 HANDLE_REQUEST()。IF_HTTP_SERVER 将会作为参数,在其生存期内的 HTTP 请求处理程序的行为由属性 IF_HTTP_EXTENSION ~ LIFETIME_RC。HTTP 请求处理程序本身可以指定哪些其他 HTTP 请求处理程序来下一步,为此,它使用属性 IF_HTTP_EXTENSION ~ FLOW_RC。
4.2 客户端实现
客户端的开发使用的 Eclipse 集成开发环境,添加相关插件并对环境进行配置以加入对Android的支持。添 加 IDE 对 ADT 的 支 持, 加 入 对Android SDK的支持,使用Android 模拟器。
5 结论
在技术方面差旅管理系统主要利用Android 系统完成界面设计,通过 REST 框架设计搭建 SAP 系统与移动终端的交互平台,通过BAPI完成SAP端的业务工作流程。为通过 Web Service 技术实现 SAP 企业级移动应用提供一种新的思路。利用这些技术的具体应用完成SAP服务端和Android客户端的设计。
参考文献
[1] 黄佳 . SAP 高级应用开发:RFC, BAPI, ALE, Workflow, SAP 连接器,Web Dynpro及BSP [M]北京:人民邮电出版社,2008.
[2] 黄锦川,金炜东 . 基于 Android 平台Web服务的应用研究[J], 计算机应用,2010,19: 1005-8451.
[3]Yao Gang.A Research on Semantic Geospatial Web Service Based REST [C], 2009 International Forum on Computer Science-Technology and Applications:IEEE,2009:208.210.
作者单位
中国北车集团大连机车车辆有限公司 辽宁省大连市 116021