AgileEAS.NET SOA 平台5.1开发包介绍
一、前言
AgileEAS.NET应用开发平台,简称EAS.NET,是基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台。用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的。
AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行,基于AgileEAS.NET平台的应用系统的各个业务功能子系统,在系统体系结构设计的过程中被设计成各个原子功能模块,各个子功能模块按照业务功能组织成单独的程序集文件,各子系统开发完成后,由AgileEAS.NET资源管理平台进行统一的集成部署。
AgileEAS.NET平台也是为应用开发而提供的一组低层功能集合及开发支撑平台,应用系统的开发建立在此平台之上,采用构件式、可复用开发,节省开发成本,加快开发速度,在软件开发上更好的作到多快省。
AgileEAS.NET平台的核心思想是包含两点,一是基于Microsoft .Net构件技术的插件式开发,二是基于敏捷并行开发方法以的构件并行,即应用系统的构件(模块)同步并行开发,由平台进行总装集成。
gileEAS.NET平台充分把握目前软件行业快速发展的新趋势,基于敏捷并行开发、快速适应市场这样淳朴的软件工程实践,采用业界广泛使用的Microsoft .Net构件(组件)开发技术实践了这种开发思想,帮助软件企业实现“敏捷变化、快速适合”的目标,从而帮助软件企业在激烈的市场竞争中赢得先机并获得更高的回报。
二、中国特色的企业应用开发平台
AgileEAS.NET平台基于一个淳朴的软件工程实践为基础理论依据,这种淳朴的软件工程实践充分吸收了敏捷体系、增量技术、原型化技术的优点,在开发过程中提出有限的并行思路,AgileEAS.NET平台基于这种软件工程实践的支撑,她不仅是一个快速开发平台或者二次开发环境,更是指导软件企业过程改进的一种参考。
AgileEAS.NET平台提供了不仅仅软件工程实践的平台加插件模式的技术实践,更提供了企业级应用开发的ORM、IOC、SL、报表、应用集成、分布式通信等一系统的基础类库和账户、角色、权限、模块(插件)组织与管理等一系统基础业务。
基于AgileEAS.NET的软件系统有着良好的扩展性和可维护性,基于平台加插件的这种无限扩展的特性,能够快速地对现有产品功能进行调整或开发新的产品功能,使软件系统能够充分满足不同用户的个性化需求,同时软件系统能够根据用户业务的发展不断地进行扩展和完善,满足用户不断发展的信息化需求。
AgileEAS.NET提平台除了提供对敏捷并发开发的基础支撑之后,同时提供了一系统的开发支持功能:产品涵盖需求分析、系统设计、编码实现及部署维护大部分软件生命周期,在设计和编码实现的过程中,数据模型设计器能自动生成数据库文档、数据定义语言(DDL)、其他接口驱动的分层的ORM数据代码层,配合平台提供的数据展示基础套件及数据绑定组件,能极大的减少程序员的编码量,避免“代码越多、错误越多”的问题。
AgileEAS.NET平台基于良好的技术架构,能够避免由于软件系统结构方面存在的缺陷导致的产品质量问题。AgileEAS.NET支持多种软件基础架构和应用场景、支持多种数据库的支持等,能够保证基于AgileEAS.NET开发的软件系统有良好的稳定性。
AgileEAS.NET平台为不同技术层次、不同应用需求的软件公司和个体开发者提供不同层次的应用,最简单的应用层次是采用AgileEAS.NET平台的敏捷并行思路只应用AgileEAS.NET平台的平台加插件的这种应用开发模式,用于开发和组织、管理信息化软件。
深入的应用导是基于AgileEAS.NET平台的敏捷并行思路只应用AgileEAS.NET平台的平台加插件的这种应用开发模式的基础上,充分使用AgileEAS.NET平台的基础类库极其应用开发的ORM、SL、IOC、UDA等一系列其他类库,并且应用AgileEAS.NET平台所提供的模型设计器、代码生成器、报报系统等一系列的服务。
更新入的应用层次是采用AgileEAS.NET平台及敏捷并行开发的全部思想、技术和工具,应用即将发布的项目管理工具,并且基于AgilEAS.NET、敏捷并行开发、项目管理工具构筑三位一体的开发管理体系。
AgileEAS.NET平台5.0的整体架构图:
三、敏捷并行思想体系
在传统的瀑布开发模式下,同一软件的多个阶段是顺序地被开发出来的,也就是说第一阶段全部开发结束后才开始第二阶段的开发;同样,等第二阶段全部开发结束后第三阶段的开发工作才会启动。但这种串行开发
模式在当今的市场环境下越来越行不通,因为所有的软件产品都面临越来越大的迅速上市的压力,有效的解决方案就是引入新的开发管理和技术体系,我们引入了增量式并行开发技术。在并行开发模式下,同一软件的多个开发阶段会同时进行开,如第一阶段的工作尚未完成,往往就会启动第二阶段的工作,甚至会同时启动第三阶段的工作,从而有效缩短软件的上市周期。
敏捷并行开发方法,是基于增量式开发思想、利用软件构件复用等技术,以平台+插件化开发为技术实践而整合出的一种快速开发模式;并行是指产品在生命周期内项目研发过程中各个阶段有限度“并行”开展。
敏捷并行开发方法的基础是基于构件技术支持的并行,涉及软件开发的分析、设计、实现和测试等过程, 一个完善的开发方法不单单是一个简单的理论基础,还需要相应的基础平台、项目管理工具、开发辅助工具才能构成一个完整的方法体系。
敏捷并行开发方法以AgileEAS.NET做为构件技术运行、管理平台,应用开发人员根据应用需要及AgileEAS.NET平台构件契约进行分析需要、设计开发应用构件,使用AgileEAS.NET构件管理工具对所开发的构件进行总装集成和管理。
四、完整的体系结构及思想体系
AgileEAS.NET基于敏捷并行开发方法的一种实践,也就是说:AgileEAS.NET平台是基于一种淳朴的软件工程方法论的实践,确立模块独立并行开发和总装集成的一种思路,在应用项目开发过程中,确立系统总体结构之后对采用增量式开发和测试,逐步完成应用系统,在同一个增量中各模块并行开发。
AgileEAS.NET平台是基于平台加插件技术构建,对于一切基于AgileEAS.NET平台的应用系统来说,都是对AgileEAS.NET平台的一系统扩展,这种扩展是一种横行的无限扩展体系。
AgileEAS.NET平台提供了大量的开发辅助类工具,比如ORM定义工具、代码生成器、文档生成器、插件调试环境和工具、界面设计器、工作流平台、SilverLight企业应用开发平台、分布式部署工具、SAAS引擎等,用于帮助开发人员快速开发应用系统。
AgileEAS.NET平台是以SOA架构范式作为架构指导的快速开发平台,平台中提供了强大的中间件基础设施,集成了ESB与业务库及注册中心模块,实现了普通架构与SOA架构的无缝切换,帮助开发人员最大限度的关注业务功能和用户需求,而尽可能的使用平台来解决一些质量和约束性的要求。
AgileEAS.NET平台提供了SAAS引擎中间件,实现了平台多租户的方案,当用户登陆时只需选择自己的要访问的系统或者是选择自己的组织机构,则会自动完成系统功能的切换,这一切都是通过SAAS引擎来实现,通过多种服务的自由切换,来完成服务统一访问方式,该方式也结合目前很流行的云计算方式来最大限度的整合目前现有的平台或者业务系统,来最大限度的节省资源和信息整合。
平台将插件看成服务,通过开发插件即开发服务模块。我们在应用部署时,如果某个业务模块不能满足,那么我们再开发一个,替换掉之前的服务即可,通过配置管理可任意组合,来满足日益变化的需求,我们不提倡将开发人员变成不写代码的人员,而是让其更加专注业务功能与领域的业务流程抽象,通过平台的强大支撑体系,帮助开发人员最快的速度完成功能的开发,并且为项目的管理人员,提供基于平台的项目管理系统,方便的进行项目的任务规划,监控,风险管理,人员及成本的估量与控制。大大提高了项目的成功率与降低了项目的不必要的成本。
五、开发包介绍
5.1 目录结构
开发人员从AgileEAS.NET官方http://www.smarteas.net网站或者敏捷软件工程实验室网站http://www.agilelab.cn下载到的AgileEAS.NET开发包名称为AgileEAS.NET 4.0.rar。
解压后包含以下文件目录结构:
下面我把各目录做个简单的说明:
Bin目录
Bin目录中包含着AgileEAS.NET平台中的所有程序集文件,插件定义、WinForm、SmartClient运行容器、基础类库、开发辅助、配置工具都在这里面。
documents目录
Document目录中包含着AgileEAS.NET平台的介绍、开发指南、使用说明书、类库参考手册等一系列的文档。
example目录
AgileEAS.NET平台提供的一组开发例子,我会用专门的文档对里面的例子介绍。
setup目录
包含最终发布时的一系统打包安装vs项目,客户的smartclient安装包可以参考进行打包,并且在这个目录中提供了EAS.ActiveXForm.msi安装包。
Web.ActiveXForm目录
ActiveXForm运行容器的部署站点,包含EAS.SmartClient所有内容并且有所扩展,如果要为客户提供SmartClient和ActiveXForm两种运行支持,建议使用她。
Web.Clent目录
AgileEAS.NET平台提供的Web运行容器和一组例程,以源代码方式发布。
5.2 程序集介绍
在AgileEAS.NET平台开发包的bin目录中提供了70个左右程序集,其涵盖了AgileEAS.NET平台的方方面面,下面我对程序集做一个简单的分类。
基础程序集:
EAS.MicroKernel.dll 微内核程序集,包含接口契约、IOC、SL、及服务容器的定义。
EAS.Data.dll 提供统一的数据访问和ORM。
EAS.Web.dll Web开发扩展(针对应用程序和模块接口)。
EAS.Windows.dll WinForm/WFP开发扩展、及一些预定义控件。
资源管理平台:
EAS.Explorer.dll 资源管理平台基础组件。
EAS.Explorer.Entities.dll 资源管理平台实体定义。
EAS.Explorer.BLL.Contracts.dll 资源管理平台业务/服务接口契约
EAS.Explorer.BLL.Host.dll 资源管理平台业务/服务实现
EAS.Explorer.Res.dll 外科资源(可替换)。
EAS.Explorer.Web.dll 运行容器之Web基础。
EAS.Explorer.WinUI.dll 基于WinForm的平台管理功能实现。
EAS.WinClient.dll WinForm/WPF运行容器。
EAS.WinClient.Start.exe WinForm/WPF运行容器引导程序。
ActiveXForm:
EAS.ActiveXForm.ClientClasp.dll 客户端钩子(包含IE中运行的三个ActiveX控件)。
EAS.ActiveXForm.ClientClasp.AddIn.dll 客户端插件。
EAS.ActiveXForm.Explorer.Biz.dll 服务业务组件。
EAS.ActiveXForm.ClientAPI.dll ActiveXForm客户端API。
智能升级:
EAS.SmartUpdater.exe 智能升级引导程序。
EAS.SmartUpdate.Config.exe 智能升级配置程序。
分布式服务:
EAS.Distributed.Contracts.dll 分布式服务契约。
EAS.Distributed.Host.dll 分布式服务实现。
EAS.Distributed.WebService.dll 分布式服务webservice实现。
EAS.Distributed.Client.dll 分布式访问客户端。
EAS.SOA.Server.exe 分布式SOA服务主程序。
报表系统:
RdlEngine.dll RDL引擎(开源项目)。
RdlViewer.dll RDL展示组件(开源项目)。
RdlDesigner.dll RDL设计组件(在开源组件的基础上中文和与ORM结合)。
RdlDesigner.Start.exe 独立的报表设计器主程序。
EAS.Report.Controls.dll 报表打印组件。
EAS.Report.Controls.dll 报表打印组件。
开发辅助:
EAS.OrmDesigner.exe 数据对象(ORM)设计器。
EAS.FormDesigner.exe 快速界面设计器。
工作流平台:
EAS.BPM.Activities.dll 工作流活动定义。
EAS.BPM.WinUI.dll 工作流平台管理UI。
Silverlight平台:
EAS.MicroKernel.dll 微内核。
EAS.Data.dll 数据访问、Linq。
EAS.Controls.dll 基础控件。
EAS.Explorer.dll 资源管理平台基础定义。
EAS.Explorer.Entities.dll 资源管理平台实体定义。
EAS.SLClient.dll 资源管理平台运行环境。
EAS.SLClient.AddIn.dll 管理功能插件UI。
EAS.SLClient.xap.dll 管理平台部署xap包。
其他:
EAS.Data.Provider.dll 数据访问提供者扩展,通过扩展实现ORACLE、MySql、Sqlite数据库的支持。
第三方组件:
System.Workflow.Activities.dll WF3.5基础组件。
System.Workflow.ComponentModel.dll WF3.5基础组件。
System.Workflow.Runtime.dll WF3.5基础组件。
EAS.ThirdParty.Controls.dll 第三方开源控件源代码
NetronGraphLib.dll 图像组件。
Fireball.Core.dll
Fireball.SyntaxDocument.dll
Fireball.Win32.dll
Fireball.Windows.Forms.dll
Fireball.CodeEditor.SyntaxFiles.dll
Fireball.CodeEditor.dll
Microsoft.Data.ConnectionUI.Dialog.dll
Microsoft.Data.ConnectionUI.dll
5.3 文档部分
AgileEAS.NET平台是一个快速开发平台,是一组中间件,业主要目录的是提供开发人员的开发效率,要充分了解并且学习AgileEAS.NET平台的快速开发实践和充分的利用AgileEAS.NET平台所提供的快速开发工具。
如何快速去学习和理解AgileEAS.NET平台呢,我们提供了大量的文档和例程,文档是AgileEAS.NET的组成部分,更是程序员熟悉AgileEAS.NET平台的窗户。AgileEAS.NET平台开发包中提供了《AgileEAS.NET平台技术说明书 》、《AgileEAS.NET平台开发指南》、《AgileEAS.NET平台系统管理使用教程》、《AgileEAS.NET平台开发辅助工具使用教程》、《AgileEAS.NET平台安装说明书》、《AgileEAS.Net数据库设计说明书(SQLServer)》、《AgileEAS.Net数据库设计说明书(Oracle)》等文档以及AgileEAS.NET基础类库参考手册。
5.4 示例部分
随AgileEAS.NET平台的开发包带了一组示例((C/S)药店系统、(B/S)的公司网站与B/S的插件管理系统),其涵盖了插件开发、数据访问、ORM、分布式通信、分层结构示例等,权限设计,系统架构等等。
当然了,不排除在开发包之后发布独立的示例程序。
结束语
在市场激烈的今天,软件企业面临着极多多种多样的挑战,如果在市场快速变化的情况下脱颖而出,如果能够对市场变化及时做出反应,以较低成本推出市场所需要的产品并持续改进产品成为成功的必要。
企业之间的竞争很大程度上是成本的竞争,AgileEAS.NET平台以及敏捷并行开发方法实践能大大够缩短软件产品开发周期,降低软件产品的开发、实施和维护成本,能够很大程度上提升软件企业的争力。
敏捷软件工程实验室秉承 “敏捷反应,快速适应”的宗旨,始终如一的对中小软件企业提供AgileEAS.NET平台技术支持、升级服务,为软件企业提供先进的快速开发平台,同时也提供Microsoft .Net开发技术培训、技术管理咨询服务,帮助软件企业在激烈的市场竞争中取得不断的成功。
联系我们
我为完善、改进和推广AgileEAS.NET而成立了敏捷软件工程实验室,是一家研究、推广和发展新技术,并致力于提供具有自主知识产权的业务基础平台软件,以及基于业务基础平台开发的管理软件的专业软件提供商。主要业务是为客户提供软件企业研发管理解决方案、企业管理软件开发,以及相关的技术支持,管理及技术咨询与培训业务。
AgileEAS.NET平台自2004年秋呱呱落地一来,我就一直在逐步完善和改进,也被应用于保险、医疗、电子商务、房地产、铁路、教育等多个应用,但一直都是以我个人在推广,2010年因为我辞职休息,我就想到把AgileEAS.NET推向市场,让更多的人使用。
我的技术团队成员都是合作多年的老朋友,因为这个平台是免费的,所以也没有什么收入,都是由程序员的那种理想与信念坚持,在此我感谢一起奋斗的朋友。
AgileEAS.NET网站:http://www.agileeas.net
官方博客:http://eastjade.cnblogs.com
github:https://github.com/agilelab/eas
QQ:47920381
AgileEAS.NET QQ群:
113723486(AgileEAS SOA 平台)/上限1000人
199463175(AgileEAS SOA 交流)/上限1000人
120661978(AgileEAS.NET 平台交流)/上限1000人
212867943(AgileEAS.NET研究)/上限500人
147168308(AgileEAS.NET应用)/上限500人
172060626(深度AgileEAS.NET平台)/上限500人
116773358(AgileEAS.NET 平台)/上限500人
125643764(AgileEAS.NET探讨)/上限500人
193486983(AgileEAS.NET 平台)/上限500人
邮件:james@agilelab.cn,mail.james@qq.com,
电话:18629261335。
作者:魏琼东
出处:http://www.cnblogs.com/eastjade
关于作者:有13年的软件从业经历,专注于中小软件企业软件开发过程研究,通过在技术与管理帮助中小软件企业实现技术层面开源节流的目的。熟悉需求分析、企业架构、项目管理。现主要从事基于AgileEAS.NET平台的技术咨询工作,主要服务于医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。如有问题或建议,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过mail.james@qq.com 联系我,也可以加入QQ群:113723486、199463175、116773358、116773358、212867943、147168308、59827496、193486983、15118502和大家共同讨论,非常感谢。