信息系统开发平台openexpressapp 1.0发布
来源:互联网 发布:c语言字符串拷贝 编辑:程序博客网 时间:2024/05/11 00:27
openexpressapp已在微软codeplex网站发布1.0版本,这个版本包括框架所有代码,以及一个简单示例代码,感兴趣的可以随时关注,平台将不断完善。
介绍
OpenExpressApp没有创新性的技术,而是将现有技术和产品中有价值的部分引入到一起,它要做的是整合别人已经实践的方法来提高我们自身的开发能力,以求快速、高质量的开发信息系统产品。不同于以往为特定开发角色提供独立的开发工具和框架,它基于业务模型驱动开发指导思想,为业务分析人员、软件设计和开发人员提供的一种集成的开发平台,提供报表、流程、元数据等基础引擎,具有业务建模、领域建模和应用建模等模型,并提供权限、报表等多个通用应用模块。为了支持软件开发,还提供基于敏捷思想的软件项目管理工具、快速原型工具和测试支持。
主要内容
- OpenExpressApp框架。目前主要做此内容,已开始在项目中应用。现阶段实现主要是基于C/S(WPF)分布式,参考了ExpressAppFramework(XAF 应用框架),使用了CSLA作为分布式业务对象框架,Composite WPF作为UI框架,还使用了其他一些代码(如LiteORM、Flee等)。支持B/S、C/S、Mobile
- OpenMetaEdit(参考MetaEdit+)
- OpenReport(参考润乾报表)
- OpenWorkflow(使用微软的WF)
- OpenStudio(基于OpenExpressApp开发,参考Mendix、Novulo)
- OpenTool(基于OpenExpressApp开发)
现状
目前处于第一阶段,提供类似ExpressAppFramework的开发框架,实现C/S(WPF)基础框架,供软件开发人员使用,现有框架已在实际项目中应用。
借鉴ExpressApp的AutoUI和扩展的思想,这里的UI层也是通过模型自动生成。
以下为现在的代码组织。OpenExpressApp为框架代码,GIX4开头的为项目组应用框架时写的类库和扩展Command等代码。目前只支持WPF,还不支持B/S。
现状模型只是实现了通过类的属性来实现,还未实现模型编辑器。例如下面在类上定义属性可以自动在主界面生成导航项,双击后可以打开模块,模块界面也是自动生成。现在界面都只是根据模板生成,还不支持通过设计器来设计界面。
以下是一个通过在代码中WPFListViewCommand继承下来的一个命令,在命令上写上属性内容后,就可以在界面自动生成按钮,这样开发人员可以更多关注业务逻辑,而不用关注界面的变化了。
在公司也研究和做过一些框架,但是基本上每次都是重新开发,这对公司和个人来说都是很大的浪费,所以我深知一个平台的开发需要规划并不断的持续改进。而一个平台的开发由一个人来做是很难的,所以现在Open出来,希望对此平台有共同方向的朋友一起参与,多提意见,共同打造一个属于我们自己的开发平台,不求技术多么精湛,只求能够切实解决我们的问题。
示例
以下通过一个简单订单示例来演示如何使用OpenExpressApp框架来快速开发应用程序,示例代码见SVN目录【Example】。
准备工作
- 安装.Net35 SP1
- 安装CodeSmith5,以便通过模板自动生成类库框架
- 下载OpenExpressApp框架代码(发布1.0版本程序集中没有包括CodeSmith模板文件)
生成类库程序集
- 新建类库项目
取名为“OrderLibrary”,引用【Lib】目录下程序集:Csla.dll、OpenExpressApp.MetaModel.dll - 添加订单根对象(可以暂时理解为订单主表):Order
双击【Lib/CodeGen】目录下的“EditableRoot.cst”,弹出生成代码界面,在业务对象类名属性【BOClass】中输入:Order,在命名空间【Namespace】属性中输入:OrderLibrary,点击【Generate】按钮,生成代码后点击上面右边工具栏的保存为"Order.cs"。 - 生成订单明细项子对象:OrderItem
按同样步骤点击“EditableChild.cst”,生成OrderItem子对象 - 按照CSLA类库模板更改订单和订单明细类,更改后的代码见示例代码。如果你自己有不同的业务,则自己对业务对象进行相应设计实现,增加自己的属性、方法和规则。后期会详细介绍如何写这些类库,以及类库上面的属性标识分别代表什么含义。(注:第一阶段是需要我们开发人员自己去写这些类库的,后期这些重复工作会由建模工具来处理。)
- 编译生成程序集”OrderLibrary.dll“
(注:生成类库,也可通过【OpenExpressApp/CodeGen/】下的CodeSmithCodeGen.csproj项目来生成)
生成数据库
- 执行【Example】下的DBSQL.txt文件,生成数据库
(注:生成数据库也可以通过工具DBCreator.exe来生成)
修改配置文件
- 将【Lib】下的”OpenExpressApp.Host.WPF.exe.config"中的数据库连接字符串为自己实际的数据库环境下的参数<connectionStrings>
<!--更改为自己的数据库连接方式 -->
<add name="BusinessDBName" connectionString="Data Source=./SQLExpress;Initial Catalog=OpenExpressApp;User ID=sa;Password=as"
providerName="System.Data.SqlClient" />
</connectionStrings>
部署
- 把”OrderLibrary.dll“拷贝到【Lib/Library】目录下:框架会自动去这个目录下查找系统的业务对象并生成界面
(注:【Lib】目录下的配置文件默认为单机版本,这里示例尽量简单一些,所以这里只讲解如何配置为单机版本,以后会专门讲解如何进行单机、局域网和广域网的部署。)
运行
运行“OpenExpressApp.Host.WPF.exe”即可打开主界面。在左边模板导航列表会自动出现我们建立的订单模块,双击后会在右边打开,订单模块已经具备了业务对象的基本操作。现在界面非常一般,希望以后有人能帮忙美化一下:)
(注:如果需要扩充功能按钮的话,需要再自己扩充Command。Command是OpenExpressApp的主要功能之一,以后会专门讲解)
- 信息系统开发平台openexpressapp 1.0发布
- 开源信息系统开发平台之OpenExpressApp框架 1.1 春节飞虎版发布
- 开源信息系统开发平台之 OpenExpressApp框架.pdf
- 开源信息系统开发平台OpenExpressApp 之 总体架构的由来
- GooPortal(信息系统开发平台)示例 0.9.3 演示
- CLion 1.0发布,C/C++跨平台集成开发环境
- 想做个信息系统的管理平台
- Lilosoft.CoSpace 构件开发平台对外发布
- 快速开发平台 WebBuilder 6.8.2 发布
- JEPF软件快速开发平台【免费发布】
- 博客信息系统开发流程
- 信息系统开发与管理
- [学习笔记]信息系统开发
- 信息系统开发与管理
- 信息系统开发与管理
- 信息系统开发与管理
- 客户信息系统开发小结
- 信息系统开发与管理
- Introduction to SAS Version 8
- 前辈的java学习之路 值得借鉴
- 臨時表變量的用法
- Linux的快捷键和主要命令
- Google Wave 来了!
- 信息系统开发平台openexpressapp 1.0发布
- 修改shell终端的外观和PS2
- struts2+spring+hibernate+json+jquery+flexigrid开发笔记-中文乱码解决方法
- mkinitrd
- AS3使用SOCKET遇到的安全沙箱问题
- 计算机经典书籍--推荐想学好C++的人看看
- 哈尔滨的公交车太破了
- 《资本论 第二卷》
- jMail实现电子 邮件发送