Netsharp介绍
1.1 Netsharp是什么
Netsharp定义: Netsharp业务基础平台 = 1.系统框架 + 2.元数据 + 3.平台工具 + 4.基础业务 + 5.二次开发 |
此五个概念请参考什么是企业软件的企业软件七阶段,基于企业软件七阶段,Netsharp系统的逻辑结构图如下图:
1.2 Netsharp运行环境
.NET版本:.NET4.0
代码环境:VS2010
数据库 :Sqlserver2008 R2
1.3 Netsharp理念
1.3.1 资源视角
如果一个最终客户购买了一套ERP,那么ERP中的业务数据是企业业务的数据化,他是客户的核心资源,基于这些业务数据可以进行管理,统计分析等。对于软件企业来说,产品研发过程中也产生若干的数据,这些数据是实体模型元数据、列表元数据、表单元数据、报表模板元数据等等,这些元数据也是软件企业的核心资源,Netsharp的目的就是提供工具进行维护和管理这些数据,管理者可以很清楚的知道,系统里共有多少个列表,多少张单据。
1.3.2 平台即产品
Netsharp是一个平台产品,他本身也是一个最终产品。
最终产品:
在Netsharp基础上研发的业务产品,如ERP系统,用户是最终客户;
平台产品:
即Netsharp平台,用户是实施和开发人员,他们使用Netsharp开发最终业务产品,或者开发项目。平台产品有自己独立的版本。
Netsharp支持插件结构,一个插件和一个业务模块对应,插件可以进行安装、卸载、停用、启用。其中Netsharp二次开发的功能也由若干个插件组成,这些插件可以和具体的业务插件一起组成一个系统。当系统部署时,如果不期望最终客户看到二次开发功能,可以停用或者卸载二次开发功能。
1.3.3 Netsharp使用自己开发
平台的功能是通过平台自身的功能开发的,如:
- 平台提供了插件机制,平台自身也是基于插件的,而且平台工具也复用了平台的通用插件功能
- 业务模型时实体元数据描述的,实体元数据自己也有实体元数据
- 界面显示的列表是列表元数据管理的,而列表管理界面的列表本身也有列表元数据
这样的做的带来的特点和好处是平台易用,因为平台开发人员是最早的平台用户,所以更能站在用户的角度不断改进工具的易用性。目前国内大部分的平台工具平台开发人员自己不使用的,这是Netsharp非常明显的一个特点。
1.3.4 平台是研发规范和标准
Netsharp之所以称之为平台,因为有系统的管理研发框架(参见企业软件研发七阶段的第三阶段),这些框架多以接口的方式提供,这些接口是对开发人员的约束,比文字化的条文和规章制度更有效。
另一方面平台提供的工具具有纠错和约束能力,防止研发人员犯低级错误。
1.3.5 提高研发产能
容易理解,不再赘述。
1.3.6 产品快速原型
Netsharp平台产品和业务产品在同一个平台,Netsharp提供了大量工具,这些工具包括快速构建可视化界面的功能,再写项目方案书时,这些原型工具是产品经理有力的助手,可快速的跟最终客户与开发人员确定需求。而且这些原型是真实的功能,只是功能不这么完善,项目正式启动之后,开发人员可以基于原型继续开发。这对一个项目的快速启动是作用是非常大的。
1.4 Netsharp适用场景
上文介绍企业管理者对企业管理软件的期望有4个:
- 营销 借助互联网进行品牌的宣传和推广,最终达成销售
- 提高效率 使用软件工具提高工作效率
- 管理 使用软件工具辅助自己企业内部管理
- BI 使用信息系统的数据作为企业决策的依据
Netsharp现阶段用来解决上面四个目的的2、3、4目的。Netsharp目前已经支持的功能有(更详细内容请参见Netsharp体系结构):
实体模型、插件机制、持久层、分布式、工作台、单点登录、多国语言、并发、互斥、表单、列表、查询、打印、权限控制、编码规则、AOP、性能统计分析、自动化测试、脚本引擎、UI控件套件、业务选项、向导、组织机构、界面三驾马车、工作流、创建帐套、异常管理、枚举、参照、预警/提醒/通知、作业、日志组件、客户端自动升级、数据库脚本升级工具、缓存、Session管理、业务日志、导出SQL脚本。
1.5 Netsharp潜在用户
如果您是下列群体或者个人,可能是Netsharp的潜在用户:
编号 |
潜在用户 |
特点 |
选择理由 |
备注 |
1 |
中小软件企业 |
研发行业软件 |
减少研发成本、提高研发速度,产品快速上市 |
|
2 |
个人创业者 |
研发行业软件 技术积累 |
|
|
3 |
技术爱好者 |
学习专业的管理软件视角 |
|
|
4 |
传统企业(最终客户) |
自己研发适合自己企业的管理系统 |
自己研发能力不足、成本高、周期长 |
市场上没有适合自己的系统,自己独立研发,不用担心购买系统带来的维护问题。 |
1.6 获取Netsharp
1.6.1 下载及部署
1.6.2 如何获取源代码
有能力且愿意为Netsharp做贡献可以获取源代码,根据Netsharp现阶段路标规划,您可以做的贡献有(不仅限于此):
- 深入使用Netsharp且提更好的建议和有价值的BUG报告(须达到一定的数量和标准)
- Netsharp支持工作流
- Netsharp支持多组织机构管理
- Netsharp支持项目管理
- Netsharp持久层支持MySql、Oracle数据库
- Netsharp支持迁移到Mono平台
- Netsharp支持其他功能
- Netsharp免费不开源,通过技术社区和交流群提供技术支持,上门及大工作量的服务收取非盈利性质的成本费用。
- 任何个人和企业可免费使用Netsharp及部分技术组件,不得独立销售Netsharp基础业务平台及其包括的技术组件。
- 基于Netsharp构建的业务系统 (本文称之为第三方业务系统),第三方业务系统须有Netsharp的免费授权才可商业销售。
- 第三方业务系统需说明基于Netsharp平台构建。
- 违者将追究严厉的法律责任。
1.6.3 授权许可
- Netsharp免费不开源,通过技术社区和交流群提供技免费术支持(不保证时效性),上门及大工作量的服务收取非盈利性质的成本费用。
- 任何个人和企业可免费使用Netsharp及部分技术组件,不得独立销售Netsharp基础业务平台及其包括的技术组件。
- 基于Netsharp构建的业务系统 (本文称之为第三方业务系统),第三方业务系统须有Netsharp的免费授权才可商业销售。
- 第三方业务系统可独立销售,Netsharp不共享收入,但需在产品版权中说明基于Netsharp平台构建。
- Netsharp的BUG争取在两日内解决,不承诺支持第三方业务系统要求新增的功能。
- 我们项目组规划是做基于Netsharp的企业管理各个方面的业务模块(业务平台),业务平台的策略也是免费。鼓励开发者参与进来。
- 违者将追究严厉的法律责任。
作者 :秋时
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。