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的企业管理各个方面的业务模块(业务平台),业务平台的策略也是免费。鼓励开发者参与进来。
- 违者将追究严厉的法律责任。
Netsharp介绍的更多相关文章
- Netsharp系列文章目录结构
作者:秋时 转载须说明出处 Netsharp交流群:338963050(请有详细的请求说明) ->. 总体介绍 Netsharp总体介绍 一. Netsharp快速入门系列 Netsharp ...
- Netsharp快速入门(之1) 介绍及需求说明
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 第一章 快速入门介绍 Netsharp是一个企业基础业务管理平台,介绍Netsharp分三个系列,分别是: 1. N ...
- Netsharp总体介绍
作者:秋时 日期:2014年02月05日 转载须说明出处 Netsharp交流群:338963050(请有详细的请求说明) Netsharp系列文章目录结构 Netsharp是一款免费的基于 ...
- 安装Netsharp演示插件
阅读本文请先阅读Netsharp下载及环境搭建 Netsharp提供了DEMO程序,DEMO完成的功能是Netsharp文章系列中的Netsharp快速入门系列中介绍的功能,DEMO是以Netshar ...
- Netsharp总体设计
阅读本文请先阅读如下两篇文章 什么是企业软件 Netsharp什么 Netsharp总体设计 1.1 Netsharp终端形式 Netsharp基于.NET平台,支持的产品形态有三种: 北极熊 ...
- Netsharp下载及环境搭建
作者:秋时 日期:2014-02-22 转载请保留原文链接 更新日志 2014-02-22 版本4.0 第一次发布 2014-04-19 版本4.01 修复网友提的部分bug,添加Netshar ...
- NETSHARP微信开发说明
一.微信开发介绍 1.微信分为个人号,订阅号.服务号,需要去理解三个号的区别,对于开发来说也需要了解不同的账号所提供的功能 2.微信号需要审批,审批之后有一些功能才能使用 3.微信提供的功能及使用情况 ...
- Netsharp下微信菜单以及OAuth
一.OAuth介绍 在微信开发中,当打开一个页面是,业务场景一般会基于粉丝绑定用户信息,即页面需要基于粉丝和用户的身份处理业务逻辑. 在微信中打开一个页面有三个场景: 1.文本回复中直接包含url 2 ...
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
随机推荐
- minicom/kermit捕捉日志
1.minicom捕捉日志 ctrl-A Z 命令窗口中有 Capture on/off......L 2.kermit捕捉日志 ctrl-\ C进入kermit命令行模式 log session ...
- HTML5学习笔记简明版(1):HTML5介绍与语法
HTML5介绍 HTML5是继HTML4以后的下一代HTML标准规范,它提供了一些新的元素和属性(例如<nav>网站导航块和<footer>).新型的标签有利于搜索引擎和语义分 ...
- 502 bad gateway 错误
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的m ...
- iOS中UIKit——UIButton设置边框
UIButton *testButton = [UIButton buttonWithType:UIButtonTypeSystem]; [testButton setFrame:CGRectMake ...
- C# app.config文件配置和修改
很多时候我们需要对系统的.config文件进度读写操作,例如:系统初始化的参数的更改.系统参数的改变都需要更新到配置文件. 首先我们有必要了解一下app.config.exe.config和vshos ...
- arguments .length .callee caller
如果有一个函数像下面这样: function fn(){ } 那么fn这个函数下面就有一个arguments属性(你在逗我么,后面又说对象),该属性是个对象(typeof一下就知道了),然后它下面也有 ...
- luigi学习9--执行模型
luigi的执行和触发模型非常简单. 一.luigi的执行模型 当你执行一个luigi的工作流的时候,worker调度所有的task,并且执行task在一个单独的进程中. 这种scheme最大的好处是 ...
- MongoDB(3):小的细节问题
1.文档 {“greeting”:“hello,world”,“foo”: 3} 文档中的键/值对是有序的,下面的文档与上面的文档是完全不同的两个文档. {“foo”: 3 ,“greeting”:“ ...
- wordpress学习-themes-001
这一篇主要是来记录wordpress theme的内容.关于为什么要自己编写wordpress theme的理由,相信大家都有各自的体会.想让自己的博客变的更加突出?更加个性话?wordpress t ...
- PHP取当前页面完整URL地址
#测试网址: http://localhost/blog/testurl.php?id=5 //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br> ...