Sybase得以在移动应用市场做出不俗的表现,过去来说是得益于iAnywhere,现在来说要仰仗于Sybase Unwired Platform(以下简称SUP)。
如前文所述,企业移动应用的复杂性对移动应用平台提出了从前端设备到后端系统、从性能到安全性等诸多要求。而SUP则是目前为止在业界唯一能否满足所有这些复杂需求的成型的移动应用平台。
Sybase Unwired Platform是 Sybase 新一代支持企业实现应用程序移动化的体系架构。它提供一系列全面的服务,帮助企业将适当的数据和业务流程移动化到任何移动设备上。Sybase Unwired Platform利用一个综合平台,将4GL工具和标准开发环境集成而支持的快速开发、异构设备部署和市场领先的设备管理技术结合起来,从而满足企业的所有移动应用需求。而且,它通过推动企业战略化的移动部署,而非采用小规模或局部移动应用的方法,从而极大地降低了企业的总拥有成本。
企业对移动应用的要求日益变得复杂,从以个人设备为目标的单一应用发展到利用各种后端系统实现信息移动化的综合应用。构建在当今成千上万家企业广泛应用的成熟可靠且行业领先的技术之上,SybaseUnwired Platform提供了一个灵活、开放和基于标准的基础架构,支持企业创造信息优势:优化和增强它们已有的基础架构,有机融合高附加值的数据资源,随时随地安全传输信息。
Sybase Unwired Platform充分吸收和利用Sybase iAnywhere积累的大量经验,在过去20年里,SybaseiAnywhere在为数以十万计的客户和用户提供移动应用解决方案方面一直是事实上的领导者。该平台建立在Sybase丰富的应用程序集成经验之上,其能与SAP、Remedy这类企业后端应用或所有其它利用数据库或面向服务的架构 (SOA)的应用实现完美集成。此外,Sybase还利用自己在开发工具(比如PowerBuilder和PowerDesigner)方面的经验,为开发人员提供4GL工具,使他们能够提高工作效率并轻松开发移动应用程序。
目前支持的设备有:
■ iPad
■ iPhone
■ Android
■ BlackBerry 5/6
■ Windows tablets
未来一到一年半逐步支持:
■ Windows Phone 7
■ HTML 5
■ Linux Based
目前基于SUP的SAP应用有:
SAP移动销售(Sybase Mobile Sales for SAP CRM),SAP移动工作流(Sybase Mobile Workflow for SAP Business Suite),未来将尽快提供更多的解决方案,比如SAP移动服务(Sybase Mobile Service for SAP CRM)以及为不同行业打造的行业移动解决方案。
SUP的主要特点
• 简化开发和部署过程-Sybase Unwired Platform包含一个4GL 工具环境,它极大简化了移动应用程序的开发。它与主流开发环境Eclipse集成,从而使开发者能够充分利用现有的工具和专业知识。它还为一系列的移动设备类型、型号和操作系统(包括Windows Mobile、Windows32(笔记本/平板电脑)和RIM BlackBerry)提供”一次设计、随处部署”的功能。
• 简化后端的集成-Sybase Unwired Platform为不同的企业应用提供了”开箱即得”的集成功能,包括SAP和Remedy,或其他利用数据库或面向服务架构 (SOA) 的应用。
• 简化管理和安全性-Sybase Unwired Platform与Sybase业界领先的设备管理和安全性解决方案完全整合,其提供单一的管理控制台,以便集中管理、保护和部署移动数据、应用程序与设备。
SUP的体系结构
SUP的组件
SUP平台的基本组件为:
• 数据服务,提供统一方式访问异构数据源,从结构化和非结构化数据一直延伸至预打包的应用。
• 移动中间件服务,在多样化开发和部署环境中的企业数据和移动设备间架设起桥梁。
• 消息服务,支持使用SMS/MMS服务进行提醒、消息传送和数据传输。
• 设备服务,为开发和部署跨设备平台的应用提供统一接口。
• 统一的4GL开发工具,为开发与企业数据源和流程有关联的移动应用提供一致、集成的环境。
• 管理控制台,提供单一视图来管理、保护和部署移动数据应用与设备。
数据服务
• 使企业实现了对SAP和Remedy即装即用的连接,以及全面支持与Web服务、数据库和定制应用集成的连接器架构
• 全面支持JDBC/ODBC访问数据库
• 支持文档(PDF、Word、Excel、PowerPoint)和二进制内容,例如Flash、图片、影像(所有的常见格式)、视频和音频(多媒体格式)
移动中间件服务器
• 提供可扩展的服务器体系结构,支持”一次设计,随处部署”模式的移动平台
• 集成的安全性(身份验证和授权),通过单点登录的移动应用,即可访问企业打包应用程序、Web服务和数据库。支持包括企业LDAP和Active Directory在内的储存库的使用
• 支持服务器启动”PUSH”(推送)解决方案,向设备主动发送数据
• 提供中间件API,支持在服务器端自定义处理数据和事务的编码
• 支持移动应用程序配置和对多种设备的平台管理消息传递服务
• 支持使用SMS/MMS服务进行提醒和传送消息
设备服务
• 为所有主要设备平台抽象化了访问本地数据储存的通用数据持久化API
• 通过使用面向对象的技术和概念,提供一个对象层以简化移动应用程序开发
• 为BlackBerry设备上的应用程序开发提供复合构件库
• 支持设备和软件管理功能
应用程序开发
• 使用丰富易用的4GL工具提供强大的移动应用程序开发功能
• 基于Eclipse (早期1.2版本还支持Visual Studio,以后看来不会支持了。)
• 支持开发面向对象和面向服务的富/厚客户端移动应用
基于Sybase Unwired Platform快速开发移动应用
Sybase Unwired Platform提供了开发和部署平台,通过连接、创建、使用和控制四步实现企业移动应用。
为了支持异构的多种数据源和多种移动设备,SUP将业务逻辑和数据封装起来,组成可重用的单元,称作移动业务对象(Mobile Business Objects – MBO)。然后通过一系列的界面描述来调用MBO的业务逻辑,并将MBO中的数据展现出来。这些界面描述可以针对不同的移动应用平台将生成对应的设备相关的源生代码(目前直接生成Windows Mobile和Blackberry设备相关代码)。
SUP的开发有两种基本方式:
简单工作流,无需复杂美观的用户界面,无需设备特定功能应用,则可以通过SUP的开发工具建立数据层(MBO)和应用界面,随后生成MBO包并同时(或随后)将MBO部署到SUP服务器,以及生成设备应用程序并同时(或随后)部署到移动设备或设备模拟器。这种开发模式在Visual Studio开发环境中直接支持Windows Mobile的移动应用开发,在Eclipse开发环境中直接支持Blackberry的移动应用开发。
复杂应用或有进一步特定设备应用需要的移动应用,则可以通过SUP的开发工具建立MBO和应用界面,随后生成MBO包并部署到SUP服务器,以及生成设备相关代码。随后将生成的设备相关代码导入到特定设备的开发平台进行进一步开发和优化,比如将Windows Mobile的应用解决方案(.slo)导入到Visual Studio。对于iPhone应用,则可以通过iPhone的xCode开发环境调用生成的MBO API。
开发环境
SUP的开发环境为Sybase Unwired Workspace,作为eclipse的插件发布,安装SUP的开发版将自动完成包括eclipse的开发环境的安装。
下图展示了集成在Eclipse中的开发环境,可以看到其继承了eclipse 标准项目开发的关键元素和使用体验。除了完成MBO的开发和移动应用模型的开发外,在eclipse开发环境中还可以无缝集成Blackberry和 Windows Mobile的直接开发和部署,或者通过安装Blackberry和Windows Mobile的模拟器来进行部署前的模拟测试。
关键开发过程
在SUP Unwired Workspace中典型的移动应用开发过程包括连接数据源、建立MBO生成服务器端代码、创建设备端应用,这一过程适用于任何数据源和任何客户端。
1) 建立数据连接和到SUP服务器的连接
2) 建立移动应用项目(其中包含MBO、业务逻辑、工作流、设备应用、部署包)
3) 通过拖拽数据源建立MBO
4) 部署MBO到SUP服务器
5) 建立设备应用程序
6) 部署设备应用程序
1. 数据连接
通过SUP workspace的Enterprise Explorer,可以建立和管理到多种后端的连接,包括通过Jco连接SAP系统,连接Rest和非Rest的Webservice,连接本地或者远程的数据库,以及与SUP服务器的连接。
在设计时的数据连接上,可以通过多种向导进行设置。通过在相应类型连接的节点右键点击启动创建向导。其中,可以通过JDBC、ODBC、OLE创建数据 库连接 ,或者通过WSDL连接直接创建Web Service连接,并通过Server Explorer看具体连接的信息。
•2. 建立MBO
数据连接建立以后,则可以建立移动业务对象(Mobile Business Objects – MBO),并通过移动应用关系图工具(Mobile Application Diagram)建立图形化的数据模型。
在移动应用关系图工具 (Mobile Application Diagram) 中可以通过向导来创建包含操作和属性的移动业务对象(MBO)并将MBO与准备好的数据源进行绑定,也可以拖拽数据源来直接创建MBO,并与数据源立即绑定。或者也可以定义移动业务对象(MBO)的属性和操作,无需立即绑定至数据源,或从数据源定义并进行绑定。
•3. 生成和部署MBO
MBO作为SUP平台开发最关键的一环,封装了移动应用程序对本地和远程数据的访问,极大程度上简化了移动应用开发。我们可以针对不同的移动应用设备开发平台生成MBO对象库,将其导入到特定开发平台,利用MBO的API来提高在各移动应用开发平台开发的效率。
如下图架构所示,MBO通过SUP提供的自有类库和生成的代码来访问移动设备上的数据库,其中封装了数据持久层代码,封装了对Ultralite或 UltraliteJ的数据库访问,封装了对Afaria的API支持,从而封装了移动应用对SUP运行平台的所有运行时关系。这样在移动应用程序本身开发时,可以关注于应用本身的界面开发,调用MBO的API即可以实现所有的数据访问、错误和日志、与服务器同步、安全控制等等。
MBO 生成设备代码库包含了固有类库和设备代码,其中固有类库通过jar文件面向Blackberry提供支持,通过Dll文件为Windows mobile提供支持。生成MBO代码过程及结果如下图所示。目前,可以支持基于Java SE的Java应用、基于.net的c#应用、基于iPhone的Objective C的应用。
同时,我们还要将所需要的MBO通过项目直接部署(Deploy Project)或者通过项目生成的部署包(Create Mobile Deployment Package)来部署到SUP服务器上,为客户端应用提供服务端访问。
•4. 创建设备应用
MBO和数据连接建立好之后,即可以进行移动应用程序的开发,在SUP Unwired Workspace中有两种开发类型:工作流设计开发和设备应用开发。
设备应用程序是运行在移动设备上的软件应用程序。在SUP开发平台中,可以使用设备应用程序设计器(Device Application Designer)或平台的对象API框架来创建设备应用程序。这些移动应用程序能参照一个或多个MBO,且这些应用程序中还能包含同步键、个性化和错误处理。 在基于Eclipse的SUP WorkSpace工具中通过设备应用程序设计其来创建移动应用的流程为:
1. 使用设备应用程序设计器中的流程设计(Flow Design)页面来创建自定义应用程序屏幕的流程设计。
2. 使用流程设计页面添加并连接至设计的屏幕,也包括自定义的常规页面。
3. “开始”(Start)图标在流程设计页面上显示,它的连接被附着在流程设计中添加的第一个屏幕上。可以将其改变至流程设计中的任何屏幕。
4. 选择设备,在屏幕设计(Screen Design)页面中显示空背景,为该设备格式化。
5. 使用屏幕设计面板来在设备应用程序屏幕中添加控件。
6. 连接MBO获取数据源并把数据赋值给相应界面元素
7. 使用生成设备应用程序(Generate Device Application)向导来生成设备应用程序代码。
8. 使用移动设备模拟器进行测试。
•5. 使用
MBO和移动应用程序开发好之后,即可以将MBO和本地程序打包生成为可部署的包。不同的应用通过不同的方式部署到移动终端上进行使用。
•6. 控制
基本的控制可以通过SUP的SCC进行管理,比如设备、用户、工作流应用等。而复杂的控制则可以通过独立安装的Afaria来进行(关于Afaria请另见后文。)
总体开发开发流程
1) 连接到后台的数据源和SUP服务器
2) 创建一个SUP应用项目
3) 创建MBO或者将MBO的相关参数映射到后台信息源
4) 将MBO部署到SUP服务器
5) 依据MBO定义生成特定的应用程序代码
6) 利用工作流设计器和设备应用设计器来开发设备应用程序
7) 生成和增强设备源生代码
执行、测试或者调试应用程序
下图对开发流程、开发工具和环境进行了总结。
SAP的移动战略很早就已经在提,在收购Sybase之后得以真正完善成形,其重要性也更加增强。
SAP移动化动因
iPhone和iPad的出现革新了用户对移动应用和网络应用的认识和接受。用户更加愿意接受和使用移动设备及其应用,包括企业应用。同时,移动硬件和网络技术的革新也允许我们将更多的应用植根于移动设备。由此,移动设备厂商、移动应用厂商等都在不遗余力的展开移动竞赛。更快的革新步伐,更好的平台,更易的用户体验,更多的应用正在不断涌现。
目前,应用SAP软件的终端用户数量约为4000万,而SAP希望到2015年使这一数字达到10亿,实现惊人增长的途径正是基于企业管理移动应用市场的快速发展。
移动应用技术的发展为SAP带来了两大商机:一是将SAP现有的企业管理技术全部实现移动化应用;另一个是运用在移动应用领域的新技术,开发出全新的移动应用解决方案。Sybase移动平台技术的加入恰好为SAP实现在移动应用领域这两大战略市场目标提供了技术保障。
SAP移动目标
为10亿用户提供迅值服务(Instant Value)!
– 通过移动消费将SAP应用拓展到所有的设备和所有用户;
– 为企业用户提供端到端的移动解决方案;
– 为移动用户提供领先的消息基础架构和移动分析;
SAP移动应用的过去
SAP从2005年即基于Netweaver推出了移动解决方案。随着NW 2004一起推出的Webdynpro(SAP的主流界面技术)即是基于模型的面向多种平台的界面技术,原则上能够为移动设备和PC终端提供相似的用户体验。在早期的Netweaver Mobile解决方案中包含了:
– 移动基础架构MI(Mobile infrastructure)和基于MI开发的多种应用。诸如移动资产管理(Mobile Asset Management -MAM),能源行业移动资产管理(Mobile Asset Management for Utilities – MAU),移动销售和移动服务(Mobile Sales for Handheld, Mobile Service for Handheld-ERP, CRM),移动直销(Mobile Direct Store Delivery – DSD)移动时间和差旅(Mobile Time and Travel),移动采购(Mobile Procurement)等一大批应用。这些应用由NWDS基于Java开发,利用NW MI的特性,这些应用能够同时支持在线和离线应用,客户端存储部分需要的应用数据,在连线时进行与后端系统的同步。支持Windows Mobile。
– SAP CRM的移动客户端技术和基于此开发的CRM移动销售和移动服务。这两个应用由Visual Studio开发,完好的支持SAP CRM全应用,但也仅适用于SAP CRM,内嵌了复杂的同步机制。一般应用于PC。
– 移动Webdynpro技术和移动浏览终端及基于此开发的MSOn (Mobile Sales Online with CRM)。适用于一直在线的应用场景,在客户端没有缓存,也无需与后台同步。支持Black Berry。
从应用角度来看,这些移动应用无疑也是客户所亟待的应用。但技术上和用户体验上,上述方案都有缺陷,所以至今都没有得以大规模推广。这些应用将由后文所述基于SUP和Gateway的应用取代,而不再进行新的产品开发。SAP将提供技术支持直到其维护期结束。
SAP移动应用的现在
如今,通过Sybase Unwired Platform(更名为SAP Unwired Platform,简称SUP)和Project Gateway(SAP统一业务服务),SAP将统一企业移动应用。虽然现在还在进行中,但是基于SUP的两项SAP应用为这一进程树立了了良好的开端,同时基于第一版的Project Gateway的迅值移动应用也进入Gamma Release阶段。
通过下图综览我们可以看到,在访问架构上SUP、Project Gateway、NWMI协同工作;在产品线上,SAP移动应用在ERP、CRM、BI等多方面提供。
SUP 为主要的移动平台:
– SUP通过SAP NW MI 7.1 + DOE (Data Orchestration Engine, 数据协调引擎) + Gateway 1.0 (注:此处Gateway并非Project Gateway)连接后台的SAP商务套件。
– SUP可以通过JCA访问SAP商务套件(透过BAPI)
– SUP可以通过WebService访问SAP商务套件和第三方应用
– SUP”将”可以通过Project Gateway访问SAP商务套件发布的WebService
在应用上:
– 基于SUP,SAP和Sybase一起开发了移动销售和移动工作流两个重要的应用,运行在SAP商务套件基础上
– 基于SUP,企业客户和合作伙伴可以自定义开发应用程序,比如已经发布的Momentum公司的基于SAP的MAM产品
– 此外,SAP在商务智能方面也发布了SAP BusinessObjects Mobile BI XI产品,用户可以在多种平台上运行SAP的商务智能终端,以及运行在iPhone和iPad上的免费SAP Business Objects Explorer
– SAP的面向中小企业的Business ByDesign产品也发布了特定的移动终端,面向小型企业的Business One也有其iPhone的终端
在设备上:
– 基于SUP的企业应用可以运行在多种移动设备平台上,包括最近发布的IOS4 和Android 2.2 (各应用所支持设备不尽相同)
– Afaria则提供了业界领先的移动设备安全管理,管理企业多种移动设备
SAP移动应用的将来
SAP和Sybase正在不断创新,致力于在移动应用的各个方面提供优秀的产品,将为客户提供全程的无线企业应用。这些应用主要包括两个方面:
主要基于SUP平台的关键业务应用(Mission Critical Application)(SUP将另文介绍)
除了现有的基于SUP平台的移动销售和移动工作流,SAP还将在2011年发布更多的移动应用,比如同样面向CRM的移动服务、移动市场等,还将针对行业推出行业特定的移动应用组件。
主要基于Gateway的迅值应用(Most Instant Value Application)(Gateway将另文介绍)
小型的但是高效的创新工具往往能起到在复杂业务应用环境中起到出其不意的重要作用。SAP将和合作伙伴一起寻找最适合SAP企业用户的短小精悍的应用。这类应用包括诸如刚刚和Project Gateway 1.0 一起推出试验版的Employee Lookup, ERP Sales Order Lookup, Streamwork, Travel Expense Capture等。
注:SAP StreamWork mobile将SAP的SAP StreamWork应用拓展到手机上,用户可以良好的用户界面实时通过手机进行协作和内容创建。Employee lookup 使得用户可以随时通过手机访问SAP HCM后端系统中的员工数据。用户可以通过独立的搜索功能或者黑莓手机内嵌的邮件应用中进行访问。
通过组合上述SAP移动应用,SAP和Sybase将现有企业应用的方方面面扩展到移动平台上,实现前后台的无缝集成,实现客户和员工的集成,实现业务和分析的集成,实现共同的”无线企业”的目标。在未来的无线企业中,移动设备将在企业运作的方方面面发挥作用,比如:
– 仓库管理员通过移动设备确认收到原始物料并将其转移至公司内制造场所
– 工场操作员通过移动设备管理工单、配件库存、设备维修等日常事务,提高工作效率
– 现场销售人员通过手机管理其销售区域、客户、机会管道和产品订单
– 市场人员通过手机执行产品活动和推广
– 企业的合同员工可以通过移动小工具提交工时单
– 经理则随时可以通过智能手机批准出差和休假申请以及报销单
– 业务线领导通过智能手机查看和分析销售业绩报告并自动接收按规则发出的警报信息
– 现场服务人员通过移动设备接收分派,去往产品所在地进行维修和服务工作,并由客户确认
– 零售商通过手机下达产品订单、检查订单状态、库存及请求服务
– 消费者手机收到优惠券并链接到移动网站来下单及查看购买历史