5年的平台梦:面向个人的免费插件仓库iOpenWorks平台终于成型发布了

经过5年的努力,香港服务器租用,一个平台的梦想终于初步实现,我们的插件仓库iOpenWorks平台()初步成型。iOpenWorks平台是一个面向软件开发者的免费插件仓库,致力于让开发者可以以“组装”的方式来实现软件的开发。平台梦的原型源于2008年,我和几个师弟都是技术爱好者,当时我们希望能够构建一个这样的平台:当我们需要开发一个软件的时候,我们可以先到一个软件素材库平台,先给我们的软件找一个主界面(未来也可以根据需求随时替换主界面,因为用户的需求是比较变态但我们希望能适应并降低工作量),然后下载组装;接着我们还可以再看看是否有现成的软件模块,比如通用的功能——数据访问/权限管理等,甚至是一些应用模块,我们也可以直接下载组装;然后基于这些基础为客户来快速定制出软件,甚至未来可以给用户组装出一个成品软件。当时的梦想也很简单,希望能为中国软件带来点变化。于是,带着这样简单的梦想,我们就开始在业余时间来设计和研发平台。各位前辈高手们,估计也意料到了,做这样事情将会无比的困难,需要解决的不简单是单纯的技术问题。不过,我们就是这么简单的开始了。下面我来介绍一下平台现状及研发历史。

1 平台介绍

iOpenWorks平台,中文为“开放·工厂”,它意味着,这个平台将会是开放式的,大家可以免费试用并进行技术成果分享;此外,我们希望为企业构建一个标准化的软件生产线平台,软件生产线平台的核心就是插件仓库(也可以成为组件库,但绝不是国内很多高校搞的所谓的组件库,因为我们的目标是面向企业应用,不是简单学术平台),开发者可以从插件仓库来获取需要开发的软件的界面、通用功能,然后在此基础上,大家并行来开发软件,而测试团队和部署团队则可以从插件仓库获取需要测试/部署的插件,直接将其部署到目标机器,一旦有更新可以自动升级。

插件仓库是整个平台的核心,只有一个上规模的插件仓库,才可以真正来实现“组装”式开发。目前插件仓库拥有108个的可直接使用插件,涵盖了桌面界面框架、Web界面框架、数据库访问、数据挖掘、数据集成、大数据支撑、消息队列、数据加密、文件访问等各类插件。

插件仓库也是软件生产线的关键,下图是以插件仓库为核心的软件生产线的架构和流程,通过插件仓库,团队之间的协作将完全实现自动化。这将避免开发过程中很多无谓的浪费。我对敏捷也有所研究,在我看来,“敏捷”不简单是快速开发,更是避免很多无谓的浪费,这些浪费集中在低效的协作、管理、维护。

插件仓库的所有插件必须有一个统一的规范和基于统一的插件框架,这是模块组装的前提,因此我们需要为模块选用一个标准开放的规范,当我在2008年接触到OSGi规范后,我毅然决然的将其作为插件框架的标准规范。因此,我们开始将OSGi规范移植到.NET平台,并且设计了目前算是国际上唯一的标准OSGi.NET插件框架(根据互联网搜索结果)。与Java的OSGi规范不同,我们在设计OSGi.NET规范时,已经考虑到这个规范要应用到所有的.NET应用环境,包括WinForm、WPF、ASP.NET、ASP.NET MVC(当时还没有)、Silverlight,甚至是移动等应用环境。下图就是OSGi.NET插件框架的主要功能及要兼容的环境。

上述三要素是整个平台的核心,因此,整个iOpenWorks平台的架构也就非常的清晰了,这个平台由插件仓库平台和插件开发工具组装。开发者基于插件开发工具来为用户构建应用系统,构建应用系统过程中,可以通过插件仓库访问与插件管理服务来访问插件仓库列表,然后下载需要的界面、通用功能组装起来,实现应用系统的基础框架,然后在此基础上进行定制开发;在开发过程中,可以将开发团队的所有插件进行集成,持续交付给用户,也可以通过插件部署工具直接发布到插件仓库中,给客户部署时可以实现自动化的升级/降级。

下面我来介绍一下这个平台的功能。

2 平台功能

iOpenWorks平台由插件仓库和插件开发工具来组装,下面我们来详细介绍。

2.1 插件仓库

插件仓库平台的核心在于插件管理、插件开发工具管理、插件内核文件管理、私有插件仓库管理等。

该平台提供的功能描述如下:

功能

描述

公共插件仓库

公共插件仓库包含有108个可以直接复用的插件,并为自动化升级提供了支持

OSGi.NET内核文件管理

1 内核文件升级;

2 内核文件修改或删除;

3 内核文件下载。

SDK下载

发布的公共SDK下载链接

用户管理

用户注册、登录

私有插件仓库

用户可以通过私有插件仓库来管理私有访问的插件,用户可以创建任意多的项目来管理插件,实现私有项目的自动化部署与升级,它提供如下功能。

1 私有插件项目创建、编辑、删除;

2 私有插件项目用户组及权限管理;

3 私有插件项目中对插件分类进行管理,实现分类的增加/修改/删除;

4 私有插件项目的插件管理,插件创建、编辑、升级和删除;

5 私有插件展示,包括插件的介绍、开发指南、依赖关系、日志等。

共享插件仓库

1 为所有人提供可以公开访问的插件;

2 权限检测、插件管理、插件升级;

3 插件分类管理。

插件依赖关系管理

该平台管理各个插件的依赖关系,用于在下载插件时自动将依赖的插件绑定下载

计数器

插件、SDK访问计数

插件仓库OpenAPI服务

1 插件仓库访问的开放接口,包括共享插件仓库浏览、私有插件仓库浏览、插件分类、插件详细信息;

2 内核文件访问的开放接口,提供内核文件浏览;

3 插件和内核文件下载;

4 插件创建或者升级。

统计日志

1 用户访问日志;

2 页面性能日志。

2.2 插件开发工具

可以一个人,可以几个人,一起放松那劳累的心情或者劳累自己的身体,

5年的平台梦:面向个人的免费插件仓库iOpenWorks平台终于成型发布了

相关文章:

你感兴趣的文章:

标签云: