阅读更多
平台即服务( PaaS )是云计算的主要形式之一,它提供一个完整的开发及运行平台,包括应用设计、应用开发、应用测试和应用托管,这些都作为一种服务提供给客户。因此,客户不需要购买硬件和软件,利用 PaaS ,就能够创建、测试和部署一些非常有用的应用和服务。
当前的 PaaS 系统主要由两种类型的提供商提供,一是本身是大型互联网企业,如 Google 、 Sina ,分别提供 Google App Engine 和 Sina App Engine ,把处理高并发以及海量数据的基础设施抽象出来,不但可以为自己所用,还可以实现其商业价值 ; 另一类是 SaaS 企业,如 Salesforce ,也是把多年积累的可以处理大量企业以及海量用户的 SaaS 的基础设施抽象出来平台化。前者提供的 PaaS 系统更基础、更像传统的虚拟机和编程环境,但是透明得提供了负载均衡、读写分离等高可用性措施,这类应用一般不会降低应用开发和测试的复杂性,但是会降低部署的成本和复杂性,后者提供的 PaaS 系统更具体化,更偏重于企业应用,可以基于预置的业务模块进行修改和扩展,可以降低应用开发和测试、不受的复杂性和成本,但是受限于模型的抽象能力和预置的业务模块,例如围绕 Salesforce 开发 CRM 相关外围应用会相对容易,而开发其它的应用会增大开发的复杂度。
PaaS 的著名提供商中还缺失一个角色,就是传统的大型应用系统提供商,应用系统提供商对行业需求有着深刻的理解、对开发有着丰富的经验,只是相对于互联网企业和 SaaS 提供商,他们的人员更分散,如各个项目组分布于各个企业,业务更稳定,依托于庞大的客户群,他们有非常稳定的收入和利润, SaaS 以及 PaaS 还无法对他们形成威胁,造成他们的灵敏度还不够。不过他们正在奋起直追,通过收购和整合首先进入 PaaS 领域,相对于互联网企业和 SaaS 提供商,应用系统提供商更封闭, 他们的选择往往是 PaaS 作为 SaaS 的基础和补充而不是提供独立的 PaaS 产品,基于庞大的客户群和长期形成的品牌,这也是一种最佳的收益方式。
PaaS 领域也有着创新的力量,云鹤平台( EEPlat )就是该领域的创新型的开源项目( http://code.google.com/p/eeplat/ ),它兼容传统开发环境和云计算环境,多年用于应用系统开发,对应用系统有深刻的理解和高度的抽象,形成了先进的元模型体系。云鹤平台提供了跨平台的能力,一般意义上的 PaaS 都是运行在自己特有的 IaaS 平台之上,云鹤平台并没有提供具体的运行环境,可以运行在所有支持 JVM 的云环境和传统计算环境上面,如 Google App Engine , Amazon EC2 ,各种私有云,服务器, PC 机,甚至笔记本上面。就云计算支持来讲,云鹤平台需要依托于 IAAS 平台和部分 PaaS 平台特性,由于依托于成熟的 IAAS ( PaaS )解决方案,云鹤平台为使用者带来更大的易用性、灵活性和低成本优势。 例如在 Google App Engine 运行云鹤平台开发数据库应用 ( 在云鹤平台中 Datastore 被映射为数据库 ) ,它不仅大大会降低部署的成本和复杂性,还降低了应用开发和测试的复杂性, 由于比 force.com 更完整的元模型体系、更灵活的组织模型、更强大的控制器体系,云鹤平台并不依托于预置业务模块,任何基于数据库的业务系统都可以获得快速开发能力。
云鹤平台( EEPlat )是支持云计算环境的在线开发及运行平台,同时支持传统计算环境,支持云计算与传统计算环境之间的双向平滑移植。云鹤平台通过在线配置方式进行开发数据库应用系统,提供了完整的元模型体系,实现了声明式配置编程,可以大幅度得提高生产率,可帮助用户实现低成本、高质量、易扩展的信息管理系统。
云鹤平台( EEPlat )是通过配置方式进行开发的信息系统应用平台。 EEPlat 可以开发的应用包括 MIS (管理信息系统)、 OA (办公自动化)、 CRM (客户关系管理)、 HR (人力资源管理)、 ERP (企业资源计划) 等。在 EEPlat 基础上形成了不同的产品系列:
* 面向单服务器的 EEPlat.Service 产品,针对中小规模应用。
* 面向集群环境的 EEPlat.Cluster 产品,针对健壮性和稳定性要求高的关键应用、中大规模应用。
* 面向云计算的 EEPlat.Cloud 产品,作为云计算中的 PaaS 平台,方便创建 SaaS 应用,可运行在各种私有云和公共云上面。
基于 EEPlat 的应用可以在 EEPlatService,EEPlat.Cluster 和 EEPlat.Cloud 之间进行移植,一套应用可以运行在不同环境中。
云鹤平台 产品特点
* 可用:体现在已经经过很多项目、公司实际实用的检验。
* 实用:体现在项目开发过程中极大提高生产效率、降低开发成本。
* 易用:以配置代替编程,门槛降低,实现业务人员可直接参与开发。
* 灵活:
通过工作流配置,灵活变动业务流;
通过服务配置,灵活变动程序逻辑和程序流;
通过页面配置,灵活变动页面外观;
通过业务对象配置,灵活增减业务实体属性;
为软件开发商带来的优势
利用 EEPlat 的实施的项目涉及的行业有政府、金融、石油、教育、制造等行业,客户包括国土资源部、国家海洋局、武警总部、沈阳飞机工业公司、辽 河油田、松原油田、中国计量科学院、绍兴银行、民生银行、学而思教育等多家知名单位。软件的生产率根据项目性质的不同可以提升 3-8 倍,并且人员的要求不 高。 EEPlat 平台为上述公司降低了人力成本,缩短了开发时间,拥有了竞争上的成本优势,获得了比同行更丰厚的利润。
声明式编程
EEPlat的实现不是传统的产生式编程方式,而是选择了声明式编程的方式,并且提出了一套针对信息管理系统的元模型体系。
声明式编程是一种自上而下的编程模式,编程的思考重点在于直接描述程序的行为,而不是详细描述程序的行为和实现细节。 EEPlat 在声明式编程实现中,提出 了自己的声明式业务对象( Declarative Domain Object )概念。声明式业务对象是可以直接运行的,是对业务模型的映射,拥有属性和服务,与用第三代高级语言的对象概念基本一致。声明式业务对象基本 不需要编码,并且平台保障其运行的的稳定和性能的优化。
EEPlat元模型是声明式业务对象的模型,是对信息管理系统的合理抽象。在元模型体系下,声明式业务对象是通过元数据(配置数据)进行描述。
声明式业务对象在 EEPlat 执行引擎的引导下形成用户可用的界面、逻辑等构成的业务系统,本质上执行引擎对 EEPlat 元数据的解析。
对应于 OMG 提出的 MOF ,EEPlat 只有三层:
信息层( information layer ):利用 EEPlat 开发的信息管理系统
模型层( model layer ):声明式业务对象
元模型层( metamodel layer ): EEPlat元模型
总体技术架构
云鹤平台 (EEPlat) 的目标是提供声明式配置的方式完成信息系统的开发。为此, EEPlat 确立了微内核、元模型、插件体系、总线集成的体系结构。并且 为了概念一致性, EEPlat 提供了独立实现的 O/R Mapping 框架, HMVC 界面框架,流程引擎等。系统为 SOA 架构,从元模型层面提供了对 WebService 的支持,即平台中每个服务都是外部可以调用的 Restful WebService 。总体技术架构见下图:
UI 技术架构
EEPlat平台在界面控制模式方面,充分考虑到传统的 MVC 模式的优缺点,最终采取了层叠式 MVC 模式,即 HMVC 。
HMVC 模式即 Hierarchical-Model-View-Controller 模式,也可以叫做 Layered MVC 。 HMVC 模式把客户端应用程序分解为有层次的父子关系的 MVC 。反复应用这个模式,形成结构化的客户端架构。 它的优点主要有:
把界面分成了多个部分,降低了依赖性。
支持鼓励重用代码,组件或者模块。
在今后的维护中,提高了可扩展性。
服务层技术架构
EEPlat 的服务层和 UI 层是松耦合的。一般情况下, UI 层通过服务层提供的 Restful WebService 进行交互。服务层实现的核心是 声明式业务对象 。
声明式业务对象的服务可以通过 业务对象总线 进行互操作。
声明式业务对象的粒度可大可小,可以是一个实体表,也可以是一个较大的业务模块。
服务可以调用多个规则,规则本身可以根据上下文环境判断是否可以执行,从而完成复杂的业务逻辑而无需编码。
服务可以调用脚本或 Java Class 完成平台不能配置或不易配置的业务逻辑。
- 大小: 146.7 KB
- 大小: 224.9 KB
- 大小: 148.2 KB
- 大小: 224.9 KB
- 大小: 14.1 KB
- 大小: 49.2 KB
- 大小: 85.4 KB