基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET 4.0 简介

简介:

介绍

      AgileEAS.NET应用开发平台,简称EAS.NET,是基于敏捷并行开发思想以及.NET构件技术而开发的一个应用系统快速开发平台,用于帮助中小型软件企业建立一条适合快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行,基于AgileEAS.NET平台的应用系统的各个业务功能子系统,在系统体系结构设计的过程中被设计成各个原子功能模块,各个子功能模块按照业务功能组织成单独的程序集文件,各子系统开发完成后,由AgileEAS.NET资源管理平台进行统一的集成部署。

       AgileEAS.NET应用开发平台也是为应用信息系统开发而提供的一组低层功能集合及开发支撑平台,应用信息系统的开发建立在此平台之上,采用构件式、可复用开发,节省开发成本,加快开发速度,在软件开发上更好的作到多快省。

       AgileEAS.NET平台的核心思想是包含两点,一是基于DotNET构件技术的插件式开发,二是基于敏捷并行开发方法以的构件并行,即应用系统的构件(模块)同步并行开发,由平台进行总装集成。

起源

      2004年我们做一个农业系统的项目,当时我们开发上没几个人,.NET应该刚刚应用于公司不久,以当时的技术力量根本不可能按期交付,所以我们想到了把某部分模块外包给其他公司。

      作为一个新的尝试和创新,我们在对项目进行了自顶向下的细分,把项目分为子系统,子系统分解子系统和模块,模块做为不可细分的业务功能,以模块为计量单位进行分包。各模块相互独立的进行开发,开发完成后进行集成、测试。

      为了适合这种创新,我们要求模块的开发要遵守一定的约定,即一种契约;我们还需要一个能集成、管理和调用这些模块的一套应用程序,即平台。这样就形成了一种平台+模块(插件)架构。

      为此,我们按此思路开发了EAS.NET的最初版本,包含模块的所遵守的接口和一套能够管理、调用模块的WinForm应用程序,当然,最初版本也提供了基于账号、角色与模块之间的权限管理部分以极一部分基础函数库。

      这就是AgileEAS.NET的最早起源,也是EAS.NET的支撑思想“并行开发”的基础。

结构

      以上文字简单的对EAS.NET起源及理念做了一个简单的介绍,从以上文字我们知道,EAS.NET平台的核心理念涵盖两个方面,第一方面是基于一种软件工程的实践,插件模块独立并行开发和总装集成的一种思路,第二方面则是利用.NET技术(反射调用)实现了这种思想。由此可知EAS.NET应该包含以下四部分内容:第一、软件过程工程的支持,第二、插件标准与平台(运行容器),第三、插件的组织及管理,第四、支持插件快速开发的技术及工具。

image

      上图是AgileEAS.NET平台的架构简图,也许看第一眼也不甚明白,我会在后面专门就AgileEAS.NET架构做详细解释,下面我把各部分简要说明一下。

      插件契约定义了一组插件开发的接口,实现这些接口的模块可以被运行容器调用,并可以被资源管理平台所管理。

      基础类库是一组用于支持快速开发插件模块的基础组件库,包含IOC、ORM、AOP、UDA、Session等基础类库。

      服务容器实现了一个服务插件运行容器,可以动态的调用服务插件,服务插件是实现了插件契约的企业服务组件。

       分布式通信/传输服务基于消息技术实现了支持分布式开发所需要的数据通信支持,目前支持传输基础数据类型及ORM组件。

       插件运行容器是一组能实现插件调用的一组应用程序,它能实现加载插件并依据权限执行插件的业务功能,目前实现了WinForm、SmartClient、WebForm、ActiveXForm四件插件运行容器。

       资源管理平台是基于插件运行容器的一组插件集合,业务功能包含集成、管理、组织插件、管理账户及角色以及基于插件/角色(账户)的权限机制,目前,资源管理平台基于WinForm、SmartClient、ActiveXForm运行容器基于实现。

       项目管理工具提供基于“并行开发”这种模式的项目管理工具。

       辅助工作是一组用于支持快速开发插件模块的基础应用工具,包括插件调试环境、ORM设计器、代码生成器、报表系统等。

       AgileEAS.NET自2004年起应用于诸多MIS项目,我也一直忙于生计,没有想去过推广,只是一直在慢慢的完善,很多时间很想写点东西,但一直都没有去写,最近无事在家休息,就整理了一下这些东西,发到博客园和大家探讨和交流。

       我会坚持把这东西写的能让大家明白,在以后的文章中,我会分别将各部分进行详细听介绍,在适当的时候提供给大家下载,也希望大家支持和拍砖。

 

QQ群:15118502

链接:AgileEAS.NET之敏捷并行开发方法

敏捷软件工程实验室

 


作者:魏琼东 
出处:http://www.cnblogs.com/eastjade
关于作者:有13年的软件从业经历,专注于中小软件企业软件开发过程研究,通过在技术与管理帮助中小软件企业实现技术层面开源节流的目的。熟悉需求分析、企业架构、项目管理。现主要从事基于AgileEAS.NET平台的技术咨询工作,主要服务于医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。如有问题或建议,请多多赐教! 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过mail.james@qq.com 联系我,也可以加入QQ群:113723486、199463175、116773358、116773358、212867943、147168308、59827496、193486983、15118502和大家共同讨论,非常感谢。


    本文转自魏琼东博客园博客,原文链接:http://www.cnblogs.com/eastjade/archive/2010/04/19/1715289.html,如需转载请自行联系原作者


相关文章
|
3月前
|
人工智能 开发框架 .NET
.NET技术的强大功能:.NET技术的基础特性、在现代开发中的应用、以及它如何助力未来的软件开发。
.NET技术是软件开发领域的核心支柱,以其强大功能、灵活性及安全性广受认可。本文分三部分解析:基础特性如多语言支持、统一运行时环境;现代应用如企业级与Web开发、移动应用、云服务及游戏开发;以及未来趋势如性能优化、容器化、AI集成等,展望.NET在不断变化的技术环境中持续发展与创新。
108 4
|
3月前
|
人工智能 物联网 开发者
.NET技术在现代软件开发中的应用愈发广泛和深入
.NET技术是软件开发的关键支柱,本文分为三部分探讨其创新应用:最新进展如.NET 5/6统一平台、性能提升、跨平台支持增强、云集成优化及开源社区贡献;应用场景涵盖微服务架构、物联网、AI/机器学习、游戏及移动应用开发;未来发展潜力在于持续性能优化、云原生支持、新兴技术集成、生态扩张及教育培训加强。.NET正以其强大适应性和创新潜力引领软件开发的新方向。
45 3
|
2月前
|
Ubuntu 持续交付 API
如何使用 dotnet pack 打包 .NET 跨平台程序集?
`dotnet pack` 是 .NET Core 的 NuGet 包打包工具,用于将代码打包成 NuGet 包。通过命令 `dotnet pack` 可生成 `.nupkg` 文件。使用 `--include-symbols` 和 `--include-source` 选项可分别创建包含调试符号和源文件的包。默认情况下,`dotnet pack` 会先构建项目,可通过 `--no-build` 跳过构建。此外,还可以使用 `--output` 指定输出目录、`-c` 设置配置等。示例展示了创建类库项目并打包的过程。更多详情及命令选项,请参考官方文档。
169 11
|
2月前
|
人工智能 前端开发 Devops
.NET技术自发布以来,在软件开发领域发挥了重要作用
【9月更文挑战第12天】.NET技术自发布以来,在软件开发领域发挥了重要作用。本文分为三部分探讨其在现代开发中的应用:首先介绍.NET的核心价值,包括语言多样性、强大的开发工具支持、丰富的类库、跨平台能力和活跃的社区;接着分析其在企业级应用、Web开发、移动应用、云服务及游戏开发中的实际应用;最后讨论.NET面临的挑战与未来趋势,如性能优化、容器化、AI集成及跨平台框架竞争等。通过不断的技术创新和社区驱动,.NET将持续推动软件开发的进步。
37 4
|
3月前
|
物联网 编译器 API
.NET 6震撼发布:解锁跨平台新纪元,性能飞跃背后的秘密,未来软件开发将如何被重新定义?
【8月更文挑战第28天】.NET 6在简化开发方面也做出了诸多努力。最小Web API的引入,让开发者仅需几行代码即可构建出功能完整的Web服务。
60 4
|
3月前
|
XML 开发框架 .NET
.NET框架:软件开发领域的瑞士军刀,如何让初学者变身代码艺术家——从基础架构到独特优势,一篇不可错过的深度解读。
【8月更文挑战第28天】.NET框架是由微软推出的统一开发平台,支持多种编程语言,简化应用程序的开发与部署。其核心组件包括公共语言运行库(CLR)和类库(FCL)。CLR负责内存管理、线程管理和异常处理等任务,确保代码稳定运行;FCL则提供了丰富的类和接口,涵盖网络、数据访问、安全性等多个领域,提高开发效率。此外,.NET框架还支持跨语言互操作,允许开发者使用C#、VB.NET等语言编写代码并无缝集成。这一框架凭借其强大的功能和广泛的社区支持,已成为软件开发领域的重要工具,适合初学者深入学习以奠定职业生涯基础。
99 1
|
3月前
|
数据库 C# 开发者
WPF开发者必读:揭秘ADO.NET与Entity Framework数据库交互秘籍,轻松实现企业级应用!
【8月更文挑战第31天】在现代软件开发中,WPF 与数据库的交互对于构建企业级应用至关重要。本文介绍了如何利用 ADO.NET 和 Entity Framework 在 WPF 应用中访问和操作数据库。ADO.NET 是 .NET Framework 中用于访问各类数据库(如 SQL Server、MySQL 等)的类库;Entity Framework 则是一种 ORM 框架,支持面向对象的数据操作。文章通过示例展示了如何在 WPF 应用中集成这两种技术,提高开发效率。
52 0
|
3月前
|
Java Spring 供应链
Spring 框架事件发布与监听机制,如魔法风暴席卷软件世界,开启奇幻编程之旅!
【8月更文挑战第31天】《Spring框架中的事件发布与监听机制》介绍了Spring中如何利用事件发布与监听机制实现组件间的高效协作。这一机制像城市中的广播系统,事件发布者发送消息,监听器接收并响应。通过简单的示例代码,文章详细讲解了如何定义事件类、创建事件发布者与监听器,并确保组件间松散耦合,提升系统的可维护性和扩展性。掌握这一机制,如同拥有一把开启高效软件开发大门的钥匙。
46 0
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
38 7
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
52 0