MM应用引擎(MM App Engine)开发手册 v1.pdf

上传人:来看看 文档编号:3330757 上传时间:2019-08-13 格式:PDF 页数:101 大小:5.51MB
返回 下载 相关 举报
MM应用引擎(MM App Engine)开发手册 v1.pdf_第1页
第1页 / 共101页
MM应用引擎(MM App Engine)开发手册 v1.pdf_第2页
第2页 / 共101页
MM应用引擎(MM App Engine)开发手册 v1.pdf_第3页
第3页 / 共101页
MM应用引擎(MM App Engine)开发手册 v1.pdf_第4页
第4页 / 共101页
MM应用引擎(MM App Engine)开发手册 v1.pdf_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《MM应用引擎(MM App Engine)开发手册 v1.pdf》由会员分享,可在线阅读,更多相关《MM应用引擎(MM App Engine)开发手册 v1.pdf(101页珍藏版)》请在三一文库上搜索。

1、MM 应用引擎开发手册 文档说明:本文档面向 Java 和 PHP 应用开发人员。通过阅读手册,你将了解如何使用 MM 应用引擎进行 Java 和 PHP 语言 PC Web 应用和移动 Mobile 应用的开发。包括: 创建应用创建应用 使用 Eclipse 创建 MM Mobile project(Java,PHP)和 MM Web project(Java,PHP) 项目 从云端迁出已经部署 PHP 工程 部署应用部署应用 将 JAVA 应用一键部署至应用引擎平台 将 PHP 工程部署至应用引擎平台 获得应用云端运行日志 使用服务使用服务 使用云服务,包括分布式缓存 Memcache、关

2、系数据库服务 RDS 使用移动特色能力,包括短彩信、地图能力 使用 MiniOMP 本地模拟环境,进行能力本地调测 移动移动 MobileMobile 应用开发应用开发 使用 UI 组件,通过拖拽方式完成界面设计 使用 UI 模拟器来调试应用(界面外观效果) 使用 Android 模拟器来调试应用(实际应用功能) 把 Mobile 工程打成 Android 安装包(.apk)和 IOS 系统安装包(.ipa) 目录目录 1服务介绍.4 1.1服务概述.4 1.2快速入门.4 1.2.1准备工作.4 1.2.2在线安装插件 5 1.2.3创建 MM Mobile project (Java).9

3、 1.2.4部署应用.11 2开发环境.13 2.1开发环境下载.13 2.2开发环境安装.13 2.2.1Eclipse 4.2(Juno).13 2.2.2Eclipse 3.7(Indigo)19 2.3开发环境配置.21 2.4Java 环境22 2.4.1JDK 版本22 2.4.2Servlet 版本22 2.4.3沙箱.23 2.4.4JRE 白名单.23 3功能简介.23 3.1创建应用.23 3.1.1使用 Eclipse 创建 MM Mobile Java 工程.23 3.1.2使用 Eclipse 创建 MM Mobile PHP 工程25 3.1.3使用 Eclipse

4、 创建 MM Web Java 工程.27 3.1.4使用 Eclipse 创建 MM Web PHP 工程.29 3.1.5使用 SVN 从云端迁出 PHP 工程.30 3.2使用服务.32 3.2.1短彩信服务.32 3.2.2GIS 服务.38 3.2.3Memcache 服务39 3.2.4RDS 服务40 3.2.5本地模拟环境 MiniOMP.40 3.3移动 Mobile 应用开发.44 3.3.1UI 组件. 44 3.3.2UI 模拟器51 3.3.3使用 PhoneGap.55 3.3.4打包成 APK 文件 57 3.3.5打包成 IPA 文件 59 3.3.6Andro

5、id 模拟器.61 3.4部署应用.66 3.4.1部署到云端.66 3.4.2部署日志级别设置 68 3.4.3Build path check 包检查69 4其他事项.70 4.1注意事项.70 4.2PHP 禁用函数70 4.3RDS 服务使用手册71 4.3.1RDS 服务71 4.3.2RDS 服务应用连接方式.72 4.3.3RDS 服务连接池.72 4.3.4RDS 服务支持的语句.75 4.3.5RDS 服务开发注意事项.82 5附件.82 5.1JRE 类白名单.82 5.2PHP 禁用函数类和禁用函数98 1 1 服务介绍服务介绍 1.1服务概述服务概述 云计算 PaaS

6、应用托管服务是依托 IDC 资源池基础业务面向 MM 应用开发者的增值服 务。 应用托管服务提供 Java 和 PHP 的应用托管,并提供了一系列云服务供开发者使用,包 括数据库服务、缓存服务、定时服务等,这些服务将简化应用部署和维护的工作,降低开发 者的开发成本。 应用托管服务通过门户向开发者图形化展示每个应用的资源消耗及应用运行日志等信 息,方便开发者快速了解已部署的应用。 应用托管服务能够提升用户体验,缩短上线时间,降低用户维护成本。 应用托管服务可为终端应用、WAP/WEB 应用及 HTML5 应用提供应用托管服务,应用应用 托管服务的适用场景:托管服务的适用场景: 离线类终端应用离线

7、类终端应用:提供简单的后台逻辑(数据下载,应用更新等)或说明性 WEB/WAP 页面的托管; 在线类终端应用:在线类终端应用:提供后端应用逻辑及数据库托管服务; WAP/WEBWAP/WEB 类应用:类应用:直接提供此类应用的全站点托管; HTML5HTML5 应用:应用:提供 HTML5 应用更新等逻辑及数据托管; 应用托管服务提供具体如下服务: 支持开发语言环境:Java 和 PHP 应用托管服务。 标准的 MySQL 数据库存储服务:可以使用任意标准的 mysql 客户端进行连接。数 据以多副本的形式存储,支持自动读写分离,提供数据自动备份,数据闪回,数 据自动监控等数据库专业管理服务。

8、 数据缓存服务:提供 Memcache 缓存服务,使用 Memcache 接口进行数据存取,加 快数据存取速度,减轻数据库负载。 应用托管服务提供基于 Eclipse 的应用开发及部署工具。 应用开发部署工具具有的功能: 统一开发环境:提供 Java/PHP 语言应用的代码编写、运行、测试环境,并提供应 用代码检查功能,保证应用符合云运行环境的要求。 本地模拟环境:提供云服务 RDS/分布式缓存本地模拟和测试环境,提高测试效率, 减少开发者现网测试成本。 便捷的“一键部署”工具:应用一键部署到云端托管环境,方便开发者对应用快 速安装和部署。 1.21.2快速入门快速入门 1.2.1 准备工作准

9、备工作 下载并安装 Eclipse J2EE IDE 工具(Eclipse 官网) ,建议 3.7(含)以上版本,JDK 要求 1.6(含)以上版本。 1.2.2在线安装插件在线安装插件 1、 打开 Eclipse,点击 Help-Install New Software,如下图 2、 点击 Add,Location 中填写在线安装地址http:/ OK,如下图: 3、 勾选 omade,点击 next 4、 点击 next 5、 选择“Iaccept the terms of the license agreements” ,点击 finish 完成插件安装向导(需 要大概三分钟左右) 6、

10、 安装过程会出现警告,选择 OK 继续 7、 安装完成后会提示重新启动 Eclipse,选择 restart now 重新启动即可。 8、 重启完成后,会弹出 SVN kit 的安装界面,勾选最新版本 SVN Kit 1.7.8,点击 finish 9、 点击 next 10、继续点击 next 11、选择同意,点击完成 等待提示重启 Eclipse 后,重启 Eclipse 1.2.3创建创建 MM Mobile project (Java) 1、 点击鼠标右键,New-Other,通过向导,建立一个 MM Mobile Project(Java),如下图 2、 输入项目名, (把默认添加的

11、 phone Gap 去掉,该功能后面会介绍) 3、 点击 finish 完成向导,新建的工程目录结构为: 4、 查看工程自带的 hello world 右键工程 run as MM Java web 然后打开 IE 浏览器,在地址栏输入:http:/localhost:8080/ ,会显示如下: 1.2.4部署应用部署应用 1、 点击部署工程,如下图所示。 2、 在应用子域名、 安全密码位置输入在应用引擎门户网站 http:/ 上申请的应应 用子域名用子域名和注册时填写的安全密码安全密码。 3、 点击配置参数,同样输入应用子域名和安全密码,输入完成后点击 OK,再点击 Deploy 4、 部

12、署过程中的界面 5、 部署成功后控制台给出日志。 Congratulations, deploy succeeded. 2 2 开发环境开发环境 2.1开发环境下载开发环境下载 首先将插件包下载到本地。具体操作如下: 下载地址:http:/ 应用本应用的所有功能,还需要下载最新的 Android SDK,Chrome 浏览器(Chrome 20 以上版本),以及本地模拟环境所需要的 MiniOMP。 2.22.2开发环境安装开发环境安装 2.2.1 Eclipse 4.2(Juno) 1、 打开 Eclipse(Juno), 开始插件的安装。 启动 Eclipse,在菜单栏中选择 Help I

13、nstall New Software. 2、 点击 Add,Location 选取好电脑上下载好的插件,点击 OK,如下图: 3、 勾选 omade,点击 next 4、 点击 next 5、 选择“Iaccept the terms of the license agreements” ,点击 finish 完成插件安装向导(需 要大概三分钟左右) 6、 安装过程会出现警告,选择 OK 继续 7、 安装完成后会提示重新启动 Eclipse,选择 restart now 重新启动即可。 8、 继续安装 SVN Kit 重启 Eclipse 后,会继续提示安装 SVN Kit 勾选好安装的版本

14、,点击完成 9、 点击 next 10、继续点击 next 11、选择同意,点击完成 等待提示重启 Eclipse 后,重启 Eclipse (假如开发者不小心关闭了安装窗口或者其他原因未能完成假如开发者不小心关闭了安装窗口或者其他原因未能完成 SVN Kit 的安装,请参考的安装,请参考 注意事项的其他解决方法注意事项的其他解决方法) 12、成功安装插件后的 Eclipse 界面 2.2.2 Eclipse 3.7(Indigo) 1、 打开 Eclipse(Indigo),开始插件的安装。启动 Eclipse,在菜单栏中选择 Help Install New Software. 2、 点击

15、 Add, 在 location 栏里输入地址: http:/download.eclipse.org/releases/juno, 然后点击 OK,回到安装主界面。 3、 再次点击 Add,Location 选取好电脑上下载好的插件,点击 OK,如下图: 4 4、 下面安装步骤与下面安装步骤与 eclipse4.2eclipse4.2 一致,参考一致,参考 4.24.2 的安装步骤。的安装步骤。 2.32.3开发环境配置开发环境配置 1、 Android SDK 配置:点击 Eclipse 的菜单 windowspreferencesMMADEAndroid SDK,在 Location 框

16、中填写 Android SDK 在本地的解压路径。 2、 MiniOMP 配置:点击 Eclipse 的菜单 windowspreferencesOMADEMiniOMP,在 MiniOMP path 框中填写 MiniOMP 压缩包在本地的解压路径。 MiniOMP 是本地模拟环境,可以从地址 http:/ MiniOMP 压缩包。 2.42.4JavaJava 环境环境 MM 平台在安全的沙箱环境中使用 JVM 来运行 Java 应用程序。MM 平台将在此环境中调 用应用程序的 Servlet 类来处理请求并准备响应。 JDK 版本 Servlet 版本 沙箱 JRE 白名单 2.4.1J

17、DK 版本版本 MM 平台使用 Java 6 虚拟机 (JVM) 来运行 Java 应用程序。 MM 平台 SDK 支持 Java 5 及更高版本,Java 6 JVM 可以使用由 Java 6 及更低版本的 Java 编译器所编译的类。 出于服务和安全原因,JVM 在安全的“沙箱”环境中运行以隔离您的应用程序。沙箱 确保了应用程序仅执行不影响其他应用程序的性能和可伸缩性的操作。 例如: 某个应用程序 无法生成线程、将数据写入本地文件系统或建立任意网络连接。也无法使用 JNI 或其他本 机代码。JVM 可以执行在沙箱限制内运行的任何 Java 字节码。 2.4.2Servlet 版本版本 MM

18、 平台对网络应用程序使用 Java Servlet 标准。您以标准 WAR 目录结构提供应用 程序的 servlet 类、JavaServer Pages (JSP)、静态文件和数据文件以及部署描述符 (web.xml 文件)和其他配置文件。 MM 平台服务器通过根据部署描述符调用 servlet 来 提供请求。 MM 平台当前支持 Servlet 2.5 及以下版本。 2.4.3沙箱沙箱 为了使 MM 平台在多个网络服务器中分配应用程序请求以及防止应用程序之间彼此干 扰,应用程序将在受限制的“沙箱”环境中运行。 MM 平台应用程序无法执行以下操作: 文件无法写入到文件系统。允许从文件系统中读

19、取,并且可以使用随应用程序上传 的所有应用程序文件。 生成子进程或线程。应用程序的网络请求必须在单个进程中处理,并且必须在几秒 钟内完成。将终止响应时间很长的进程以免网络服务器过载。 进行其他类型的系统调用。 2.4.4JRE 白名单白名单 对 Java 标准库(Java 运行时环境或 JRE)中类的访问仅限于 MM 平台 JRE 白名单中 的类。 以下常用类不被 MM 平台所支持,如在 App 中出现调用如下列表中的类会受到 MM 平台 沙箱的限制: J.Socket Java.lang.Thread 如需查看其他类,请参照 5.1JRE 类白名单。 3 功能简介功能简介 3.1创建应用创建

20、应用 3.1.1 使用使用 Eclipse 创建创建 MM Mobile Java 工程工程 1、 点击鼠标右键,New-MMADE,通过向导,建立一个 MM Mobile Java project 如下图 2、 输入项目名, (把默认添加的 phone Gap 去掉,该功能后面会介绍) 3、 点击 finish 完成向导,新建的工程目录结构为: 3.1.2 使用使用 Eclipse 创建创建 MM Mobile PHP 工程工程 1、 点击鼠标右键,New-MMADE,通过向导,建立一个 MM Mobile PHP project 如下图 2、 输入项目名, (把默认添加的 phone Ga

21、p 去掉,去掉 SVN details 该功能后面会介绍) 3、 点击 finish 完成向导,新建的工程目录结构为: 3.1.3 使用使用 Eclipse 创建创建 MM Web Java 工程工程 1、 点击鼠标右键,New-MMADE,通过向导,建立一个 MM Web Java project 如下图 2、 输入工程名,点击完成 3、 创建完成的工程结构图如下图: 3.1.4 使用使用 Eclipse 创建创建 MM Web PHP 工程工程 1、 点击鼠标右键,New-MMADE,通过向导,建立一个 MM Web php project 如下图 2、 填写工程名,去掉 SVN deta

22、ils 选项,点击完成 3、 创建完成的工程结构为 3.1.5 使用使用 SVN 从云端迁出从云端迁出 PHP 工程工程 1、 点击鼠标右键,New-MMADE,通过向导,建立一个 MM Web php project 如下图 (PHP Mobile 的的 SVN details 参考此处参考此处) 2、 填写好工程名,在 SVN details 选项中对应写入需要的信息, APPID 和密码正确时, 就可以选择版本信息。 3、 迁出的工程与云端实际工程结构一致。 3.2使用服务使用服务 3.2.1 短彩信服务短彩信服务 使用短信能力 SDK,可以在应用中调用短信能力,包括发送、获得发送状态等

23、。示例代 码如下: import J.URI; import J.URISyntaxException; import Java.util.Date; import Java.util.Hashtable; import Java.util.List; import mon.exception.SoapException; import com.cmcc.omp.sdk.rest.sms.ls.SmsRest; import com.cmcc.omp.sdk.rest.sms.model.CallbackReference; import com.cmcc.omp.sdk.rest.sms.m

24、odel.DeliveryInfo; import com.cmcc.omp.sdk.rest.sms.model.InboundSMSMessage; import com.cmcc.omp.sdk.rest.sms.model.InboundSMSMessageList; import com.cmcc.omp.sdk.rest.sms.model.OutboundSMSMessageRequest; import com.cmcc.omp.sdk.rest.sms.model.OutboundSMSTextMessage; import com.cmcc.omp.sdk.rest.sms

25、.model.Subscription; import mon.model.Const; public class TestSMSRequestRest public final String appid = “001000000000000316“; public final String appkey = “7E1A1D92C2EDBB77FCF0D5338452AF36“; public final String pid = “34u1C1p4S2Z7V0W0h0l2x4o1B3A871h1“; public final String san = “tel:106584186“; pub

26、lic final String linkid = “linkid123“; public final Boolean multicastmessaging = true; / 是否群发 public final String senderName = “sendSms“; public final String senderAddress = “13811000000“; public final String callbackData = “121204“; / 用户开通短信服务时,注册的 url publicfinalStringnotifyURL= “http:/127.0.0.1:8

27、080/TestServlet/testSms“; public final String message = “11111111111“;/向模拟终端发送的信息内容 / public final String address = “tel:I5V141r252r7O2B0j0L8W5x1p9U6z101“; public final String address = “tel:13811000001“;/ 13811000000 / public final String address=“tel:34u1C1p4S2Z7V0W0h0l2x4o1B3A871h1“; /562 短信伪码 pu

28、blic final String address2 = “tel:998110000001“; public final String criteria = “send“; public final SmsRest sms = new SmsRest(appid, appkey, pid, san, “127.0.0.1“, “8080“); SuppressWarnings(“unchecked“) public static void main(String args) TestSMSRequestRest test = new TestSMSRequestRest(); Hashtab

29、le table = new Hashtable(); / / / table =test.sendSmsRequest(0); / table = test.getReceivedSms(); int p = 0; if (p = 0) table = test.sendSmsRequest(0); else if (p = 1) table = test.sendSmsRequest(1); else if (p = 2) table = test.getReceivedSms(); else if (p = 3) table = test.getSmsDeliveryStatus();

30、else if (p = 4) / 开通短信上行 table = test.startSmsNotification(); else if (p = 5) table = test.stopSmsNotification(); if (Const.debug) SoapException soap = (SoapException)table.get(“errorCode“); System.out.println(“-SDKResult-:“+“n“+ soap.getMessageId() + “n“ + soap.getText(); SuppressWarnings(“unchecke

31、d“) / status 为 0 时,不下发状态报告。其他情况发生状态报告。 public Hashtable sendSmsRequest(int status) OutboundSMSMessageRequestrequest= getOutboundSMSMessageRequest(status); Hashtable table = sms.sendSmsRequest(request, linkid); return table; SuppressWarnings(“unchecked“) public Hashtable getReceivedSms() / 调用完 SDK 中的

32、方法后,返回的 hashtable 其实就是 response 响应的返回结 果 Hashtable table = sms.getReceivedSms(san); InboundSMSMessageListinboundSMSMessageList= (InboundSMSMessageList)table.get(“httpResponse“); ListmsgList= (List)inboundSMSMessageList.getInboundSMSMessage(); for (InboundSMSMessage msg : msgList) System.out.println(

33、“-“); System.out.println(“destinationAddress:“+ msg.getDestinationAddress(); System.out.println(“address:“+ msg.getSenderAddress().toString(); System.out.println(“message: “ + msg.getMessage(); return table; SuppressWarnings(“unchecked“) public Hashtable getSmsDeliveryStatus()/ 得到短信发送状态 / 调用 status

34、为 1 的发生状态报告的发送短信方法(其实里面就调用 SDK 的方 法了) ,返回的 hashtable 就是接收到的短信及状态报告 Hashtable returnMsg = sendSmsRequest(1); String requestId = (String)returnMsg.get(“httpResponse“); System.out.println(“#requestId:“ + requestId); / waitTime(); Hashtable table = sms.getSmsDeliveryStatus(requestId); SoapException soap

35、Exception = (SoapException)table.get(“errorCode“); ListinfoList= (List)table.get(“httpResponse“); System.out.println(“-“); System.out.println(“messageId:“ + soapException.getMessageId(); System.out.println(“messageText:“ + soapException.getText(); for (DeliveryInfo info : infoList) System.out.printl

36、n(“address:“ + info.getAddress(); System.out.println(“deliveryStatus:“+ info.getDeliveryStatus(); return table; / 开启订阅短信功能 SuppressWarnings(“unchecked“) public Hashtable startSmsNotification() Subscription subscription = getSubscription(); Hashtable table = sms.startSmsNotification(subscription); re

37、turn table; / 取消订阅短信功能 SuppressWarnings(“unchecked“) public Hashtable stopSmsNotification() Hashtable table = sms.stopSmsNotification(callbackData); return table; publicOutboundSMSMessageRequestgetOutboundSMSMessageRequest(int status) OutboundSMSMessageRequest request = new OutboundSMSMessageRequest

38、(); URI addresses = null; try if (!multicastmessaging) addresses = new URI new URI(address); else addresses = new URI new URI(address), new URI(address2); catch (URISyntaxException e) e.printStackTrace(); request.setAddress(addresses); request.setSenderAddress(senderAddress); CallbackReference call

39、= getCallbackReference(); if (status = 0) request.setReceiptRequest(null); else request.setReceiptRequest(call); OutboundSMSTextMessage text = new OutboundSMSTextMessage(); text.setMessage(message); request.setOutboundSMSTextMessage(text); return request; / 此处通过静态变量把注册的 url 以及 callbackdata 写到 Callba

40、ckReference 中 public CallbackReference getCallbackReference() CallbackReference call = new CallbackReference(); call.setCallbackData(callbackData); try call.setNotifyURL(new URI(notifyURL); catch (URISyntaxException e) e.printStackTrace(); return call; public Subscription getSubscription() Subscript

41、ion subscription = new Subscription(); CallbackReference call = getCallbackReference(); subscription.setCallbackReference(call); try subscription.setDestinationAddress(new URI(san); catch (URISyntaxException e) e.printStackTrace(); subscription.setCriteria(“Urgent*“); return subscription; public voi

42、d waitTime() System.out.println(“please wait a minute!“); Date startDate = new Date(); Date endDate = null; long startTime = startDate.getTime(); long endTime = 0; for (;) endDate = new Date(); endTime = endDate.getTime(); if (endTime - startTime 2 * 60 * 1000) break; 3.2.2 GIS 服务服务 1、 创建工程,填写好工程名,勾

43、选上 Use GIS 2、 创建成功后,工程结构会产生变化,红色圈内是多出的 gis 相关文件 3、 打开 Omp Config.xml,修改好申请的 gis 服务相关参数。 4、 运行工程访问 hellogis.jsp,就可以使用 GIS 功能。 3.2.3 Memcache 服务服务 Memcache 是应用引擎为开发者提供的分布式缓存服务,用来以共享的方式缓存用户的 非关键性小数据。 用户需要先在在线管理平台的服务管理 Memcache 服务中开通 Memcache 服务,然后通过标准的应用引擎 SDK 提供的 Memcache 访问 API 来读写 Memcache。 CacheMan

44、ager 为获取对缓存存储区操作的 Cache 管理者,可从 CacheManager 中取得 Cache 实例来获得操作缓存存储区的能力。 现在开放的接口为: Cache.get()取得键值 Cache.set()存入一个键和键值 Cache.detete()删除某个键值 Cache.clearAll()清除所有 import com.chinaMobile.omae.cache.ICache; import com.chinaMobile.omae.cache.CacheFactory; import com.chinaMobile.omae.cache.CacheManager; /.

45、CacheFactorycacheFactory= CacheManager.getInstance().getCacheFactory(); ICache cache = cacheFactory.createCache(); String key;/ . byte value;/ . cache.set(key, value); cache.get(key); 3.2.4 RDS 服务服务 RDS 是 Relational DB Services(关系型数据库服务)的简称,是一种分布式的关系型 数据库服务, 主要用在支撑公有云计算平台的数据库集群, 用户需要先在开发者门户的服务 管理 RD

46、S 服务中开通 RDS 服务,然后通过标准的 MySQL JDBC 驱动(5.1 及以上版本)来操作 RDS。 通过 JDBC 连接 RDS 服务 import Java.sql.Connection; import Java.sql.DriverManager; import Java.sql.SQLException; import Java.sql.Statement; / final String RDS_DOMAIN = System.getProperty(“RDS_DOMAIN“); final String RDS_PORT = System.getProperty(“RDS_

47、PORT“); final String APP_SUB_DOMAIN = System.getProperty(“APP_SUB_DOMAIN“); final String RDS_USERNAME = System.getProperty(“RDS_USERNAME“); final String RDS_PASSWORD = System.getProperty(“RDS_PASSWORD“); String url = “jdbc:mysql:/“ + RDS_DOMAIN + “:“ + RDS_PORT + “/“ + APP_SUB_DOMAIN + “?useUnicode=

48、true Class.forName(“com.mysql.jdbc.Driver“); Connection conn = DriverManager.getConnection(url, RDS_USERNAME, RDS_PASSWORD); Statement stmt = conn.createStatement(); stmt.execute(sql); 3.2.5 本地模拟环境本地模拟环境 MiniOMP MiniOMP 是方便开发者在本地模拟云端环境进行开发和测试的工具,包括 RDS、 Memcache、模拟终端三部分。 RDS: 即关系型数据库 mysql 的定制化,用户通过 MiniOMP 窗口启动 RDS 服务就可以 在开发中使用本地的 RDS。 Memcache:Memcache 是 MiniOMP 为开发者提供的分布式缓存服

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1