中国石油企业移动应用开发指南v0-1-8_第1页
中国石油企业移动应用开发指南v0-1-8_第2页
中国石油企业移动应用开发指南v0-1-8_第3页
中国石油企业移动应用开发指南v0-1-8_第4页
中国石油企业移动应用开发指南v0-1-8_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国石油企业移动应用开发指南(历史)中国石油企业移动应用平台项目组版权所有第页目录TOC\o"1-4"\h\z\u第1章 概述 1第2章 规范要求 22.1 移动应用设计 22.2 移动应用开发 22.2.1终端设备要求 22.2.2iOS应用发布证书要求 22.2.3支持单点登录 32.2.4命名规范(加图) 32.3 移动应用部署 42.3.1满足等保三级要求 42.3.2安全接入要求 6第3章 应用开发支持 73.1 跨平台开发支持 73.2 原生语言开发支持 73.2.1应用大厅单点登录接口 73.2.2本地数据加/解密 9 iOS本地数据加密 9 Android本地数据加密 93.3 提供开放接口 93.4 测试环境 10第4章 应用开发准备 114.1 组织机构和人员注册 114.2 iOS应用发布证书申请 124.3 安全端口申请 13第5章 应用发布 155.1 注册应用 155.2 发布应用 175.3 应用授权 18第6章 应用使用 206.1 注册设备 206.1.1注册终端 206.1.2注册加密机 216.2 下载大厅 216.3 安装证书 226.4 安全接入 246.5 应用下载 25附录 1名词解释 1表清单 1图清单 1中国石油企业移动应用开发指南概述为了支持各单位开发自己的移动应用,移动应用平台项目组提供《中国石油企业移动应用开发指南》供各单位参阅。本开发指南包括四大部分:应用规范要求、应用开发支持、应用开发准备和应用发布。其中:1)应用规范要求部分列出了各单位要开发移动应用需符合的一些规范;2)应用开发支持部分列出了移动应用平台项目组提供的一些支持;3)应用开发准备部分列出了在开发移动应用之前的一些准备工作;4)应用发布部分列出了发布移动应用的工作流程。规范要求移动应用设计为了移动应用有良好的用户体验,移动应用平台项目组建议各单位开发的移动应用满足如下要求:(1)整体风格一致的图标设计;(2)通用的手势操作;(3)支持终端的方向变化(手机版不要求);移动应用开发终端设备要求终端设备满足基本要求,iOS系统要求5.1及以上,Android系统4.0及以上;终端系统支持列表No操作系统版本备注1iOS5.1及以上iOS7正在测试阶段2Android4.0及以上iOS应用发布证书要求如果是iOS平台,使用自己的个人开发者证书进行开发调试,统一使用企业移动应用平台提供的发布证书进行打包发布,发布证书申请详见4.2小节。中国石油APPIDs为:PetroChina.*,应用ID规则原则上为Xcode项目名称(ProjectName),例如:PetroChina.ProjectName。如果不需要APNs服务,可以自行设置identifier为APPID。命名格式:PetroChina.ProjectName,如果需要APNs,请联系我方单独申请APPID。在应用打包时,设置Bundleidentifier为APPID,Summary里面Version设置为本次发布的版本号,版本号请设置成x.x.x,建议Build设置成跟Version相同。格式如下图所示。iOS应用打包发布界面在Xcode里面ProjectName-info.plist里面增加如下参数:URLidentifier,设置为APPID即:PetroChina.ProjectName,Item0为PetroChina.ProjectName,请将这两个参数设置为相同,即都是APPID。如下图所示。iOSXcodeplist参数设置界面说明:(1)红框的部分为必须设置的参数,否则无法在中国石油企业移动应用平台正常使用;(2)本证书为苹果公司提供给中国石油做企业内部iOS应用发布使用,请严格遵循苹果公司有关IDEP证书使用的相关规定;(3)Android平台不需要发布证书。支持单点登录移动应用平台项目组建议各单位开发的移动应用满足单点登录:(1)用户只需要在登录应用大厅时输入一次PIN码,即可访问单点登录的应用,不需要重复输入口令密码。(2)移动端不插入加密机禁止访问应用,支持单点登录的应用只能从应用大厅访问。(3)应用平台项目组已提供单点登录接口,详见3.1.2小节。命名规范(加图)应用版本号、应用名称要满足命名规范等。应用安装包里的版本号和注册应用时页面上填加的版本号必须保持一致,同时版本号应满足“XX.X.X”格式,如1.0.0;应用命名规范列表No属性说明例子备注1应用标识要满足唯一性petrochina.TestAppAndroid版为包名2唤醒路径只有iOS版需要petrochina.TestApp建议应用标识保持一致3版本号数字与“.”号混合10.9.9后两位不能超过10说明:(1)应用标识:即图2-1中的Bundleidentifier;(2)唤醒路径:即图2-2中的Item0;(3)版本号:即图2-1中的Version;移动应用部署满足等保三级要求满足安全等级保护三级要求,即系统部署分为三层:展示层、应用层和数据层,展示层部署在DMZ区。简略部署如下图。客户端安全接入后通过安全端口影射访问展示层接口,展示层负责调用应用层接口,应用层负责访问数据层的数据库。等保三级简略部署图说明:1)应用层接口负责向客户端提供各种业务数据;2)展示层部署在DMZ区,接口不需做业务处理,可以看成是一个代理,客户端访问它时,直接中转到应用层接口。下面以管控为例,用.Net实现:展示层接口部署:IIS站点,/MOC.SvcUsr/index.ashx//页面,需要经过端口映射为:8000/MOC.SvcUsr/index.ashx格式。应用层接口部署:IIS站点,/MOC.BizInterfaceSvc/PublicRequest.aspx//页面当客户端请求展示层接口时,传入请求方法名称和参数,为Json格式,例如,RequestName=GetAppList&RequestData={“DeviceSN”:”DXGJLGAG98E”,”KeyNO”:”6000000123”},那么请求链接为:/MOC.SvcUsr/index.ashx?RequestName=GetAppList&RequestData={“DeviceSN”:”DXGJLGAG98E”,”KeyNO”:”6000000123”}//客户端必须记住“DeviceSN”:”DXGJLGAG98E”,”KeyNO”:”6000000123”这个参数在数据库中。“/MOC.SvcUsr/index.ashx”这个路径是端口映射后不去处理的,所以这个路径映射后保留。展示层接口不做任何处理,直接把这些参数转到应用层接口去,即实际上客户端访问的是:/MOC.BizInterfaceSvc/PublicRequest.aspx?RequestName=GetAppList&RequestData={“DeviceSN”:”DXGJLGAG98E”,”KeyNO”:”6000000123”}展示层实现:(1)展示层首先从配置文件中取出应用层接口地址;//若应用层有多个服务器地址,可以从跳转层转给应用层的链接中用户访问参数值与配置文件中的多个应用层地址匹配,选出要去访问的那个应用服务器。(2)在index.ashx页面的ProcessRequest(HttpContextcontext)方法中调用下面方面获取数据;privatevoidGetBizData(HttpRequestrequest){stringinterfaceUrl=InterfaceDispatch.GetBizInterfaceUrl(request);//获取用户请求objectobj=InterfaceDispatch.DownloadObject(interfaceUrl,request.Form);//获取用户请求参数response.AddHeader("Content-Type","text/html");response.WriteObject(obj.ToString());response.End();}this.WriteObject(obj);}其中用到的主要方法如下:安全接入要求应用大厅中所有应用都是从外网访问,如果移动应用需要通过接口访问内网数据,就必须申请安全端口,把内网的接口地址映射到安全端口上,从外网安全接入访问内网数据。例如:地区公司的某个应用的接口地址为::8080/demo.asmx,申请的安全端口为:87,那么在客户端访问接口时,地址应用为::87/demo.asmx。即:8080映射成了:87。申请安全端口需要提交纸质申请表单,详细情况请联系移动应用平台项目组:杨杰,电话:186-1814-1022应用开发支持跨平台开发支持为了支持地区公司自己开发移动应用,移动应用平台项目组提供了一套跨平台移动应用开发框架(MCP,MobilityClientPlatform)。MCP采用HTML5+CSS3+JavaScript模式,支持Android、iOS和WindowsPhone三种操作系统,并且该框架集成了PhoneGap、jQureyMobile、iScroll等移动开发插件。基于该框架开发的移动应用有:移动门户、移动审批等应用。同时移动应用平台项目组也可以原生应用开发支持,包括iOS和Android。移动应用平台开发的应用大厅就是原生应用。MCP架构图如下所示:移动客户端开发架构图说明:1)客户端开发采用HTML5、CSS3和JavaScript技术;2)客户端通过PhoneGap将Web应用程序分别打包成适用于不同操作系统平台的应用文件,实现客户端的跨平台应用;3)客户端采用jQueryMobile、iScroll等客户端框架和组件,来提高开发效率。原生语言开发支持应用大厅单点登录接口1)iOS版:对于iOS终端,当用户点击桌面上的应用图标时,应唤醒应用大厅(应用大厅唤醒路径:EnterpriseHall://)。应用大厅会把“用户信息”传递给其他应用。各单位需要在自己开发的应用中处理“用户信息”。应用从大厅被唤醒后获取参数步骤:(1)导入BSMCPBaseUtils.framework(2)引入头文件:#import<BSMCPBaseUtils/BSMCPBaseUtils.h>(3)在应用AppDelegate.m文件的handleOpenURL方法中获取用户信息参数。现在大厅传递的参数如表3-1所列。-(BOOL)application:(UIApplication*)applicationhandleOpenURL:(NSURL*)url;(4)使用示例:url参数为:appRunURL://==wZuVmZxl3LyRHc9QUSul2ZvxkJ0NWdk9mcQ1jbvl2cyVmV-(BOOL)application:(UIApplication*)applicationhandleOpenURL:(NSURL*)url{ if(!url){ returnNO;}//获取Version如下 NSString*version=[BSMCPBaseUtilsgetParams:@"Version"fromeURLParams:[urlabsoluteString]];//获取Domain如下 NSString*domain=[BSMCPBaseUtilsgetParams:@"Domain"fromeURLParams:[urlabsoluteString]];//获取LoginID如下NSString*loginID=[BSMCPBaseUtilsgetParams:@"LoginID"fromeURLParams:[urlabsoluteString]];returnYES;}应用大厅传递的参数列表No参数参数名参数类型备注1Version大厅版本NSString做测试使用2Domain用户域NSString3LoginID用户账号NSString4LoginName用户姓名NSString暂时未提供解密后Version:Product;解密后Domain:ptr;解密后LoginID:yqfeng;2)Android版:对于Android终端,除应用大厅外的其它应用图标都已隐藏,所以用户只能从应用大厅中打开应用。应用大厅会把“用户信息”传递给其他应用。各单位需要在自己开发的应用中处理“用户信息”。(1)导入BSMCPBaseUtils.jar文件到你的工程libs目录;(2)在你的代码中调用BSMCPBaseUtils.handleOpenURL(Contextcontext),即可获取到解密后的参数url(参数params格式为:Version=XXX&LoginID=XXX&LoginName=XXX);(3)调用方法BSMCPBaseUtils.getParams("Version",Stringurl),获取Version的值;(4)调用方法BSMCPBaseUtils.getParams("LoginID",Stringurl),获取LoginID的值;(5)调用方法BSMCPBaseUtils.getParams("LoginName",Stringurl),获取Version的值;(6)调用方法BSMCPBaseUtils.getParams("Domain",Stringurl),获取Domain的值。隐藏应用图标的做法:在Androidmanifest文件中的activity里面intent-filter中注释或者删除下面的语句:<categoryandroid:name="ent.category.LAUNCHER"/>如下所示:本地数据加/解密移动平台项目组提供移动终端应用数据加/解密SDK,支持iOS和Android两种操作系统。iOS本地数据加密使用步骤:(1)导入libJNSecVPNLib.a库;(2)导入头文件SecAPIInterface.h,SecAPI.h,CryptInclude.h,SecCrypt.h,P11PublicFun.h;(3)导入Security.framework;(4)在OtherLinkFlags添加-lxml2。说明:(1)所有调用加解密静态库的Object-C文件扩展名改成.mm;(2)在需要调用加解密的文件中#include“SecAPI.h”,#include“P11PbublicFun”,#include“SecCrypt.h”;(3)具体调用见demo。Android本地数据加密说明;:(1)文件加解密依赖第三方jar包AndroidSM4SDK1.0.jar;(2)可参考jar包的文档说明和demo程序;提供开放接口为了满足各单位开发需求,移动平台项目组提供了27个关于移动管控平台的接口。这些接口分为6大部分,如下图所示。移动管控平台提供的开放接口说明:开放接口的详细请查看《企业移动管控平台开放接口框架规范》。测试环境各单位开发的移动应用可以上传到测试环境进行测试使用。测试环境地址为:pc/demo,应用大厅需要使用培训版应用大厅(下载地址:/demo),具体操作见第4、5、6章。注意:(1)提供的测试环境包括:测试的移动管控平台、测试的应用大厅和测试加密机;(1)各单位向移动应用平台项目组申请测试加密机;(2)在上传应用的时候选择“非公共应用”选项,然后对该应用进行授权;(3)虽然是测试环境,也需要申请安全端口;应用开发准备组织机构和人员注册各单位在组织机构下注册用户(如果是正式环境从统一身份平台进行注册),系统管理员登陆系统给该用户绑定“移动应用开发人员”角色、“移动应用管理员”角色、“移动终端管理员”角色和“移动安全管理员”角色。(1)生产环境地址:pc(2)注册两种用户:业务管理员和普通用户。业务管理员绑定业务管理角色,普通用户不需要绑定角色。在IAM那边注册完用户后,系统管理员登录移动应用平台,在系统用户管理页面给新增的用户绑定角色,如下图所示。用户管理页面点击“角色”图标按钮,弹出下图,然后点击“新增”按钮,按照角色类型给用户添加角色。如果是业务管理员建议全部选择。用户添加角色页面(3)资料地址:pc/portal培训资料下载界面iOS应用发布证书申请各单位统一向移动应用平台项目组申请统一发布证书,申请页面如下图。用具有“移动应用开发人员”角色的用户登录系统,提交申请后,等待移动平台项目组相关人员审核、上传证书,审核通过后可以在该页面下载发布证书。注:此步骤只限开发ios版应用。发布证书申请页面(1)点击“申请”按钮,弹出如下页面,提交申请信息。发布证书申请页面(2)安全端口申请各单位应向中国石油企业移动应用项目组申请开发应用所需要的安全端口,申请页面如下图。提交申请后,等待移动平台项目组相关人员进行审核、分配端口,审核通过后可以在该页面看见对应的安全端口。安全端口申请页面(1)点击“安全端口申请”界面的“申请”按钮,进入“安全端口申请”界面,“所属单位”与“申请人”不可修改,为默认的登陆用户和用户所属单位,录入“服务器IP”和“服务器端口”以及“申请理由”,点击“提交”,等待审批,如下图所示。安全端口申请页面(2)应用发布注册应用在管控平台中注册应用,如下图所示,点击“应用注册”按钮填写应用信息和版本信息。提交申请后等待移动平台项目组相关人员进行审核,审核通过后进行应用发布。注意:如果一个应用既有iOS版又有Android版,只需注册一个应用,添加两个版本即可,无需注册两个应用。应用注册页面点击“应用申请”,进入“应用注册数据录入”页面,在该页面用户可注册新的应用,注册新的应用需要输入“应用名称”、“标识”、选择“所属单位”、“类别”、“是否公共”,如下图所示。应用信息注册页面说明:(1)应用名称:应用的中文名称,为必填项,在应用大厅中显示的名称;(2)应用标识:iOS应用AppID或bundleidentifier,例如:PetroChina.Hall;(3)所属机构:开发单位,例如:管道公司;(4)应用类别:根据应用的业务范畴选择;(5)是否公共:如果是中石油所有人都可以使用,选择“是”;若需要授权使用选择“否”;(6)功能描述:应用的功能简介。点击“添加版本”按钮,进入“添加版本”界面,需要由本地插入“图标文件”、“应用文件”和“宣传图片”,还需要填写“版本号”和“设备支持”,其他信息可不填,填写完成后点击“确定”按钮,完成版本添加操作,如下图所示。版本信息注册页面说明:(1)版本号:例如:1.0.0;(2)操作系统:该应用是在哪个系统上使用;(3)设备类型:该应用版本支持的移动终端;(4)图标文件:应用安装完成后显示的图标;(5)应用文件:应用的安装包(.ipa或.apk文件);(6)宣传图标:该图片可以在应用大厅中应用的详细信息里看到;(7)唤醒地址:AppID或者bundleidentifier,iOS版需要填,Android版不需要;(8)接口地址:暂时不需要填;(9)系统要求:根据需要填写;(10)版本说明:根据需要填写;(11)备注:根据需要填写。添加完版本信息之后,点击图5-3中的“确定”按钮,确定所有信息无误后点击图5-2中的“提交”按钮,完成应用注册申请。发布应用当“个人工作一览”菜单中的“应用注册申请”任务的状态为“流程完结”时,表示应用审核通过,这时业务管理员可以发布应用。如下图。应用注册申请流程完结示例应用审核通过后,必须进行“发布”才能在应用大厅中使用该应用。移动应用发布中在左侧的机构树选择应用,右边的详细页会出现该应用的信息,包括版本号,唤醒地址,设备支持,版本说明,发布日期以及状态等;状态为未发布的应用,可选中该应用进行发布;对已发布的应用,可选中该应用进行应用下架,移动应用发布界面如下图所示。移动应用发布页面应用授权如果是“非公共应用”,需要进行“应用授权”。授权可以给“组织机构”、“用户组”或“用户”授权,如下图所示。移动应用授权页面可对多个组织机构授权,点击“应用授权”界面的“新增”按钮,进入“应用授权信息维护”界面,可新增多个组织机构,也可编辑所要授权的组织机构或者删除所要授权的组织机构,用户组和用户也用同样的方法授权,组织机构授权界面如下图。应用授权给组织机构页面应用使用注册设备注册终端各单位开发人员必须在管控平台中注册移动终端,并且把设备绑定给开发人员。各单位业务管理员登录系统,在移动终端管理页面注册终端,如下图所示。移动终端设备页面点击“新增”按钮,给用户分配新的设备,选择所属单位之后,“持有人”为该所属单位下的用户,填写相关信息后点击“确定”按钮,完成设备新增操作,如下图所示。终端注册页面说明:(1)对于iOS设备,设备序列号查找途径:设置—〉通用—〉关于本机—〉序列号;(2)对于Android手机,拨打*#06#获取;(3)对于Android平板,建议从应用大厅进行自注册。注册加密机各单位开发人员必须在管控平台中注册加密机,并且把加密机绑定给开发人员。各单位业务管理员登录系统,在加密机注册页面注册加密机,如下图所示。注册加密机页面点击“新增”按钮,创建加密机信息,通过录入加密机序列号,选择“所属单位”、“用户”、“加密机类型”、“用途”、相关信息后,完成对加密机信息的注册操作,如下图所示。注意:终端和加密机要绑定给同一个人。加密机信息录入页下载大厅(1)下载地址:正式版:演示版:/demo培训版:/training(2)以正式环境为例:移动客户端在连接外网的情况下,在客户端浏览器中输入应用大厅正式环境下载地址:下载对应的应用大厅,如下图。应用大厅下载页面安装证书如果是第一次下载证书,会弹出服务器身份验证提醒,点击“继续”,如下图证书下载提示页面跳转到如下安装界面,点击“安装”;证书安装页面(1)点击“安装”之后出现如下提示,继续点击“安装”;证书安装页面(2)如果设置了开机密码,会出现输入开机密码界面,输入开机密码。开机密码输入界面之后出现如下安装已完成的界面,点击“完成”,这时你的设备就受控了。证书安装完成页面注:如果一开始的时候有配置描述文件,就不用进行上述步骤了,你的设备已经受控,受控的设备才能进入身份认证界面。安全接入终端插上加密机,输入PIN码进行安全接入,如果是首次使用加密机进行安全接入,则会提示修改PIN码。安全接入界面如下图所示。安全接入界面应用下载安全接入后,在“我的应用”中,点击“待装应用”,展现用户有权限使用、且尚未安装的所有应用,每个应用都包含应用图标、类别、发布单位、版本信息,如下图所示。应用大厅-待装应用页面新应用发布后,当前用户权限范围内的应用将显示在“待装应用”中,点击某一应用右下角的“申请

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论