赌场送彩金
当前位置:大家网首页>计算机 > 软件工程 > 正文

企业管理软件平台架构内幕揭秘

来源:网络 发布日期:2009-06-12 12:15

    企业管理软件,由于进入门坎低,各行各业各层次企业都需要,做面向企业应用比做面向个人应用要赚钱多,好销售,所以中国内地有相当大部分的程序员在从事着企业管理软件的开发。

  尤其是接项目的软件公司,这类公司往往在中国当前软件行业占很多。3-4个或5-6个程序员,老板拉?#35789;?#20040;项目就做什么项目,进销存、费用报销、销售管理、客服维修工单、请假考勤管理等等为大部分单子内容。

  有朋友留言:就10来万的单子,就1-2个程序员,从调研到设计到开发到测试到打包到实施安装到培训到推动上线到支持,全活儿。哪来的精力再去开发平台。再说了,都是10来万的单子,开发平台就大才小用了,什么设计模式,什么OO,什么界面和代码分离,什?#21019;?#30721;重构,都扯淡,往界面拖控件,用ADO连数据库,OK。费那精神干嘛,把钱快速赚到才是真理。

  其实,你发?#32622;唬?#20320;做的管理软件(叫它MIS也行,你爱戴高帽就叫它ERP)有一些东西都挺相似。我有个专门给小企业做网站的哥们,5天一个网站。他手里面?#29992;?#36153;邮箱服务器、BBS论坛、流量统计软件、网站新闻内容管理?#20302;?#20840;从网上找好源代码,各种图标?#35745;?#32032;?#30446;猓?#26426;器上装好Dreamweaver、PhotoShop、Flash。小企业老板来了,他把过去做的案例往出一拿,你挑吧。然后七凑八?#21344;?#22825;完工。

  这是不是平台呢?

  我们为什么需要平台?#35838;?#20204;需要什么样的平台?平台应该包括哪些东西?一个完备的平台是怎样的?

  带着这些问题,我们一一揭秘。

  拿我哥们刚才的例子剖析。我个人认为那就是一个平台。我们为什么需要平台?就是为了不每次都重新发明轮子,为了能快速的完成代码工作(可以多赚点钱或者可以多打会游戏或者瞌睡或者可以多时间去泡MM)。

  快速完成,是平台的第一目标。但是快速三下五除二干完了,去客户那里一跑,BUG百出,倒霉,还得熬夜修?#27169;?#38271;期出差回不了家。修改代码,痛苦,还不如推倒重新正式?#21019;?#30721;。

  看来,平台的第二个目标必须是稳定。

  既能快速开发,又能稳定,这是个好平台了吧。

  不,客户个性化需求来了,发现真难改。?#20945;?#26222;通简单流程处理(增/删/改/查 列表/明细),确实平台能给很大帮助,但是客户一个性化,平台就不灵了,个性化代码怎么都插不进去手。平台自成一套圈子,外围异常代码根本插不进去(这是现在很多号称平台的产品都共有的最大弊病)。

  好不容?#23376;?#21040;个好个性化定制的平台,平台性能不佳,老挂机,客户的电话吼的真想?#35757;?#35805;线拔掉,甚至幻想全公司电话和互联网和自己的手机都坏了。

  终于搞定以上的所有问题,给客户安装上,培训好,推动上线,终于可以闪人了。回到自己的床上,真舒服呀。

  没想到恶梦才刚刚开始。客户的电话来了:我发现报表不对呀,数对不上去,你看哪里出问题了?

  O,My God。我刚回来,你就...。 我又不能飞过去。好吧,好吧,你有QQ或PcAnyWhere吗,我们来连一下,我给查一下数据库。什么?服务器不容许上网?那?#20197;?#20040;办?

  看来需要一个排错、可跟踪、可输出详细日志、可过滤日志的东西,就像SQLSERVER的查询跟踪器一样。

  嗯,好不容?#35013;?#38382;题搞定,修改完代码,需要给客户升级。

  什么,你们家没有网管,都是兼职的,根本不会SQLSERVER,脚本怎么执行,怎么备份,不知道?

  算?#19994;?#38665;,电话我告诉你一步步操作。(长途电话费N多,老板冲你发火,你低头不语,心里念到这个猪头)

  什么?#21487;?#32423;了也不好用?那你肯定没?#27425;?#35828;的操作来。

  什么?有?#24149;?#22120;好用,有?#24149;?#22120;不好用?你肯定没有把所有客户端都升级了。

  哦,看来需要一个自动升级的模块。

  挖咔咔,软件卖的好?#38376;丁?#21695;呀咿呀咿。可是,可是...。?#23588;?#26377;家伙盗版使用我们的软件,看?#27425;也患用?#19981;行了。

  ?#29992;埽?#21152;KEY,加并发用户数,加正版判别,加使用期过期。

  嗯,终于天下太平了,抱得美人归。

  从以上来看,我们似乎并不是为了平台而平台,为了市场宣传和销售便利而做平台噱头。我们确实在多如牛毛的小项目的水深火?#26085;?#28779;纷飞中,我们渴望有这些东西将我们快速解脱。如果我们是开发中大?#25302;低?#30340;,我们的产品需要?#26377;?#29983;命周期8-10年,需要部署给成千上万的客户,客户需要管理几亿的关键数据,有几千个客户并发,我们更需要平台。

  所以,不管做小项目的,或者做大项目的,我们都需要平台。

  那我们需要什么样的平台。其实上述的场景中已经把平台的关键特性都说了一遍,现在我总结一下:

  1可以帮助开发人员快速开发

  2稳定

  3可以个性化定制

  4可以跟踪日志排错

  5可以自动升级

  6软件版权保护

  为了做到这些,国内软件精英不知有多少人前赴后继的的投入研究(甚至做OA的,做工作流的,也号称做平台)。让我们历数历数,看看各自的特点和优缺点,以对照一下我们需要的特性,他们的平台具备不?

  大连雅奇,95年我就知?#28010;?#20102;。当时好像是Foxbase版本的。可以生成菜单、界面代码。其他的我现在忘了。不过去年CSDN还报道了一次大连雅奇。[page]

        1报表打印,支持二维、交叉、套打、单据格式、多栏头、导出HTML、PDF、EXCEL、DBF肯定是必须的。计算公式有没有?变量有没有?代码调用API有没有?嵌入图表有没有?小分组合计行不行?最底最?#19994;?#24635;合计有没有?支持不支?#31181;?#20174;?支持不支持链接钻取?

  2图表 ?#27604;?#25903;持折线、直方、饼图。不知道EXCEL所能支持的图表,它是否都能支持,而且像EXCEL一样好看。漏斗图有没有,里程图有没有?做领导报表(可以起名为管理驾驶舱或商业智能门户)时非常需要。

  3控件 可分组、可过滤、可定制查询、可定制列视图、可多排序、可导出、可预览、可小计的Grid控件有没有?可以权限管制行列数据,定制列视图的参照录入控件有没有?日历控件有没有?#22350;?#21153;凭证控件有没有?

  4企业内部?#35789;?#36890;讯模块、邮件收发模块、预警提醒模块有没有呢?

  其实,这是在企业应用中极为常见的一些公共功能。有一部份朋友给我QQ留言,他说平台架构就是:中间件+Hibernate(ORM框架)+structs(MVC框架)+spring(AOP框架)+JSF控件(UI框架)+Log4j(日志框架)+JUnit(测试框架)+Ant(Build框架)+JasperReports(报表框架)+JFreeChart(图表框架)+osWorkFlow(工作流框架)。

  我说对,这是平台架构,但不是企业管理软件的平台架构。企业管理软件的平台架构需要更上一层,能方便开发人员快速稳定的开发和修改。

  大连雅奇能一直存活到如今,从各方面看虽已跟不上未来,但目前很多小软件公司和小企业还在进行着初步的信息化,所以还是有很多的市场?#21344;?#30340;。(我看到华军软件里有人发布的所谓强大平台,一下载一看,原来是一个数据库维护软件,让人?#38480;危?#20294;是还有大量的个人或2人工作?#20197;?#19981;?#25103;芏分?#36896;着这类软件,我已经看到了很多雷同的软件了,也有市场?可能)。

  讲完最老的大连雅奇,在企业管理软件平台界,最有名的就数思维加速(现在?#25343;?#36215;步)。起步从1999年开?#35745;?#27493;,技术一?#22791;?#30340;很紧,做的也非常深入,我个人认为,起步是做企业管理软件平台最?#21028;?#30340;一个。

  1 起步加入了工作流,非常适应时代

  2加入了集团企业多组织结构,非常适应时代

  3起步有数据库建模工具,有版本管理工具,有部署工具,报表、图表自不用说。?#23588;?#36824;有甘特图和日历,还有?#35789;?#36890;讯工具

  4起?#25509;?#26377;自己研发的代码开发IDE。这是国内没有的。老宋为了解决常规平台自我封闭无法定制?#20869;?#30149;下了很大的气力,让简单开发和个性定制融合。

  5能支持JAVA中间件,也能支持COM+,能WEB,也能C/S。这也是国内没有的。

  IDE,既是起步的杀手功能,也是起步的软肋(想起一句古龙?#24149;埃?#25932;人的优点也就是他的缺点)。IDE这个东西,世界有三巨头:Eclipse、visual studio、Borland。大家都是干软件的,大部分都是选择这三类IDE,对这三类IDE很是习惯。但是现在要舍弃三巨头,用了起步的平台,就需要用起步的IDE,而且IDE还没有三巨头做的好(要想做好,谈何容易。君不见Eclipse有IBM巨资推动,visual  studio更是微软的一个重要产品线,投入大量人力。如果起?#25581;?#35201;做,那岂不是平台、IDE、工作流?#23478;?#24182;进?要知道,这三块中的每一块,都是需要单独一个公司,而且是相当实力的公司才能做好)。

  于是,上海普元学乖了。IDE,我们就用Eclipse。

  ?#27604;唬?#36824;是老三套:控件+工作流+报表。

  普元的平台框架有组织结构管理(不知道是否支持区域管理组织和集团管理组织?)、部署工具、权限管理(这个非常重要,不知道能不能管理到业务实体的每一个操作和数据行列可访问性?)、业务字典管理(这个没必要单提出来吧?运行参数的配置才是最重要的)。不过普元具备了日志、异常、定制任务。更难能可贵的是,普元还提出了Cache机制(这个在企业管理软件领域中其?#20302;?#38590;。它不像咱们的通常论坛网站,如天?#27169;?#20063;并发量大需要Cache,但是天涯也仅仅是看,而企业管理软件主要是频繁读写和业务计算处理,这怎么Cache,我也需要学习学习,过去一直主要?#35272;?#25968;据库设计和代码写法和功能设计来保证性能)。

  普元做JAVA,金富瑞就做.NET。

  三大件继续拿上来:控件+工作流+报表。

  但很可贵的是,金富瑞提出了虚拟组织这一说法。这个确实老遇到。还有就是权限管理,从菜单到数据到列到行到按钮,控制的挺细,不过细就是多,多就会漏洞多,看来金富瑞需要深刻去思?#23478;?#19979;数据库架构的设计。

  这些都是专注做平台的。

  但是,那些主要做管理软件的公司,也有自己的平台。甚至自己的平台还卖。如浪潮楼上(不过山东人的朴实与粗糙,尽在软件中)。

  自己用的平台,东软也有,但没有对外宣传,也不卖。?#20302;?#33258;己用,做了N多医保、税务?#31181;?#31867;的项目。(?#20197;?#32463;剖析的时候,发掘设计的思想和金蝶K3的平台特别相似)

  用友、金蝶这两大企业管理软件公司?#27604;?#20063;有自己的平台。用友有U8平台和NC平台,金蝶有K3和EAS平台。不过,明显的是,金蝶的平台架构思路比用友高一级。从业务实体自省到权限控制到日志到二次开发,金蝶颇有套路,思?#38750;?#26224;抽象高?#21462;?#32780;用友的平台,似乎还看业务是业务,看菜单是菜单。

  讲了这么多,几乎主流的平台厂商我都数了个遍,?#27604;?#20174;事各细分行业管理软件的公司也都有自己的平台,只不过那类平台和本行业业务又结合的特别紧密,开发自己行业软件特别快速稳定易用,但不具有普遍意义。

  我把?#20197;?#19978;一篇文?#36718;行?#30340;企业管理软件平台架构内容再贴到最后,以使大家好总览:

  1登陆用户口令验证、license许可验证、盗版验证、过期失效验证、版本差异验证

  2主控台 用户功能树 管理主控台

  3表单设计器、业务实体设计器、工作流设计器、报表设计器、功能菜单设计器、多语言设计器、多皮肤设计器、查询过滤定制器

  4UI框架:Grid/Toob bar/Tree/TabSheet/Menubar/参照录入组件/Edit/Button/Combo之类

  5单实体输入框架、主从List/Detail输入框架

  6运行配置参数设置、单号计数器、业务预警设置

  7异常框架、业务实体权限框架、业务实体存储引擎、业务实体查询引擎

  8报表:套打、单据报表、普通二维查询统计报表、交叉报表、图表

  9工作流引擎、消息引擎、自动任务引擎

  10企业组织结构设计工具、权限分配工具、数据导入导出工具、数据备份恢复工具、升级更新工具、错误诊?#32454;?#36394;工具、性能监测工具、日志查看工具

  11OFFICE集成、BO集成、通信集成、邮件集成、短信集成、IM集成、搜索集成、电?#30001;?#21153;集成、企业门户集成等等一切外围集成。

更多信息请访问:大家论坛

热门推荐

阅读排行

赌场送彩金 国际股票指数 上涨股票推荐 高中生炒股赚4.5亿北碚光大证券 股票涨跌无限制 上证指数最低点 股票涨跌怎么算公式 黑马股票推荐2017 如何看股票融资融券信息 11月森马服饰股票分析 股票涨跌原理