当前位置:编程学习 > asp >>

最专业的通用.NET插件平台——SaaS应用商店开放平台构建

在上篇《最专业的通用.NET插件平台——尤埃开放服务平台介绍》中,我们初步介绍了尤埃开放服务平台(UIOSP)这个通用的.NET插件平台。在这一文章,我将介绍一下基于UIOSP的SaaS应用商店开放平台(或称为尤埃SaaS引擎,XAUI SaaS Engine)是如何构建的。

首先,我们了解一下SaaS应用商店开放平台。该平台是一个面向SaaS服务运营商的云计算PaaS平台产品。它向SaaS应用开发商开放一个SDK用于开发SaaS应用,一旦开发商开发完成便可以上传到SaaS应用商店,这样,SaaS应用消费者就可以购买使用了;此外,该平台还向SaaS应用消费者提供一个应用商店,允许消费者进入商店挑选购买使用,用户可以选择在线部署使用SaaS应用或者离线部署使用。如果是在线部署使用SaaS应用,则会为消费者开辟一个Web空间和数据存储空间;如果离线部署,则意味着这个SaaS应用会部署到用户自己的Web服务器上。

\

下图是SaaS应用商店开放平台的体系结构,该平台由六部分组成:(1)应用运行时:SaaS应用的虚拟机,相当于“SaaS操作系统”。应用运行时能够屏蔽插件生产环境和运行环境的差异,并提供SaaS应用多版本、自动升级、管理、在线与离线部署等基础功能。(2)应用SDK:SaaS应用软件开发工具包,提供SaaS应用开发相关的开发环境、运行与测试环境、辅助开发工具、应用发布工具、文档与示例等。应用SDK简化了SaaS应用的开发,使SaaS应用多租户架构变得透明化。(3)应用商店平台网站:提供SaaS应用开发者认证申请、应用SDK发布与下载、SaaS应用上架申请与审批、SaaS应用销售与结算和平台维护等功能。(4)SaaS应用仓库:提供SaaS应用存储、SaaS应用出入库操作、SaaS应用多版本控制和应用仓库相的关Web API接口等功能。(5)平台工具:应用商店平台相关工具,包括SaaS应用开发辅助工具、配置工具、性能调优工具、监控工具、管理工具等。(6)基础设施:是运行整个平台的基础功能和物理环境支撑,包括安全、认证与授权、物理资源管理、集群等。

image

应用运行时是实现整个SaaS应用商店开放平台的关键,它一方面向开发者提供开发SaaS应用的基础服务;另一方面它相当于SaaS应用的“虚拟机”,屏蔽了应用开发环境与生产环境的差异、屏蔽SaaS应用开发的复杂度、屏蔽了SaaS应用的数据存储等。应用运行时基于尤埃开放服务平台构建,其体系结构如下所示。

image

应用运行时作为SaaS应用虚拟机包含在SDK开发工具包里面,当你安装了SDK后,创建SaaS应用需要有2个步骤:(1)创建虚拟机主程序项目;(2)创建SaaS应用项目。这个过程和在上篇中创建插件应用的过程。以下是SDK开发工具包的体系结构。

image

AppStore的代码如下图所示,目前有20个项目。这些项目不包括单元测试,单元测试在另一个解决方案,当对代码做变更时,我们的持续集成系统会自动构建AppStore、SDK安装包和单元测试代码并执行单元测试,一旦出现异常会发送系统邮件,你可以在《[产品开发经验总结] 软件产品背后的冰山一角》看到我们的产品质量保证体系。这些代码由五部分构成:(1)UIShell.OSGi和UIShell.OSGi.WebExtension,OSGi.NET内核项目,即UIOSP平台;(2)UIShell.WebDesktopShell,Web主程序;(3)Tools,涉及的工具;(4)SysPlugins,系统插件;(5)AppPlugins,应用插件,由管理机器人套件和IM插件构成。此外,还有一个性能/压力测试解决方案项。

image

image

 

这个工程运行结果如下。这个界面是由WebDesktopPlugin插件提供的,在登录时,会调用系统管理插件的用户管理服务实现登录。

image

成功登录后,将是一个仿Win7的界面,每一个插件有一个ICON来表示。你可以通过系统管理插件的“应用管理”来安装/卸载/启动/停止应用。

image

下图是应用商店网站的界面,你可以在这里挑选应用并试用、申请成为开发者并下载SDK。

image

应用商店的界面目前已经正在改版,下图是改变的样式。

image

你也看到了,基于UIOSP,你可以开发一个如此Open的应用商店了。事实上,UIOSP的魅力远不止如此了,未来你可以基于它构建任何应用环境的具备应用自动升级、应用远程管理、应用多版本共存能力的开放平台、私有云平台、企业云平台、统一软件生产线,我们还积极将UIOSP与我们的另一个产品——智能体编程平台结合构建适合于物联网的解决方案。我非常认可下一个10年是OSGi的时代了!后面我会进一步来介绍UIOSP应用与实践,以及在企业级软件生产线的应用。

补充:Web开发 , ASP.Net ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,