OA 软件产品的技术架构与开发语言决定了其核心产品的拓展性和跨平台对接等诸多元素结构,最直接的结果是导致产品的二次开发困难、插件组合对接实施困难、跨平台数据对接、维护成本高昂,而负责采购OA产品的技术官员对于技术和软件框架细节又无从完全把握,下面一些关于OA技术架构与开发语言方面的知识介绍,也许能够帮助大家解决一些问题。

   第一部分:OA软件的开发语言

OA软件的开发语言很多,目前较为常见的有ASP/PHP/.Lotu Domino/.Net/JAVA 五种语言,五种语言各有特色,其最鲜明的就是——他们代表了“计算机语言发展使用简史”。

1. ASP语言

ASP是微软的初始WEB产品,在97年左右推向市场,是最初较早的WEB语言技术,很多小型简单的网站都是用ASP语言开发的,由于是九十年代的产品,所以在计算机语言升级以后,其本身最大的一个问题就突显了出来其可扩展性比较差,与现在的主流计算机语言.NET和JAVA对接都很困难,所以我们经常见到很多用ASP语言技术开发的小型网站在2003年以后面临升级等问题时都令人头疼,最后很多公司都采取了弃用之前的ASP语言结构的产品转而使用最近的语言技术开发网站。

使用ASP语言脚本技术开发的产品最令软体工程师头疼的是ASP技术与.NET平台对接基本不太可能(笔者过去就经历过ASP网站改造成.NET网站的事情,那经历简直可以用“苦难”两个字来形容)。由于ASP的语言久远,所以现在在新开发的系统已经使用不多。今天市场上依然能够看到的ASP语言开发的OA软件多是在05年以前生产的产品的基础上改善的。

目前用ASP语言开发的产品有:金和标准版、赛飞OA等。

  2. PHP

PHP语言与ASP基本上属于同一时代的产品,但是成熟时间稍微比ASP要晚一点,PHP语言在开发上稍微比ASP复杂,其最大的优势就是其版本就像LIUNX系统一样是一个免费开放型的平台,开源代码很容易就找到,这样就解决了程序开发人员自己绞尽脑汁的去写程序,由于是开源的,很多程序在互联网上都可以找到,但是版权问题和安全性问题是一直困扰PHP技术的两个难题。国内的通达OA一直有很多盗版,其实根源问题就是PHP的开源代码性导致的(大家可以参考通达官网)。

和ASP一样,在2000年左右,PHP成为了网站的主流开发工具,PHP与ASP相比的优势就是跨平台性好些,但是如果面对大型结构的用户群或者门户网站,PHP又有一些力不从心。所以PHP技术也正在逐渐走下坡路。PHP语言目前仍有不少网站还在使用,但是主流的应用系统已经呈现正在放弃使用的趋势,基本层面上正在淡出了开发工具的选型范围。

目前应用PHP技术的OA产品有:通达,新思创,泛微的eOffice。

由于PHP的开源和ASP的易用性再加之其语言技术久远,造成一种事实——现在很多高校和计算机语言职业培训学校已经或者开始放弃了使用PHP和ASP教学,这也就决定了PHP语言技术正在沦为更新换代型的产品,对于使用者来说,就出现了未来的升级困难可能大的风险。

作为行销策略上的吸引点,很多采用PHP和ASP技术的OA软件多用低价的策略冲击市场,采用这两项技术的OA软件实际上更多的是应用于低端产品。

3. Lotus Domino

是IBM 在96年左右流行起来的OA开发工具,优点是开发速度比较快,基于Lotus的脚本进行开发,与Lotus 的邮件系统相整合,主要用来作工作流和内部邮件的传递,由于Louts采用专用的文档数据库系统,查询和数据统计效率就比较低下,与关系型数据库的整合很不好。所以Lotus Notes对于仅对单一的消息和工作流系统来说是不错的架构,但如果想做较大规模的业务整合或者业务开发会是困难重重。

使用Lotus Notes语言架构的OA产品最大的难点就是针对业务系统整合起来比较难。97年笔者曾经在北京见过IBM推广过Louts系统,也许在国外懂louts语言的人很多,但是事实上在国内懂louts系统的人少之又少,这也就决定了louts在中国国内市场上一直都打不开局面的原因之一,由于懂louts语言的技术工程师较少,所以使用louts语言开发的软件的产品面临最大的困难是升级维护,物以稀为贵,louts系统工程师的支付成本也相对比较高昂。

国内应用louts语言的OA产品:合强,开思

以上三种语言技术在90年代的时候都曾经是WEB或者主流开发语言,但是随着计算机语言技术的不断升级换代,这三种语言技术逐渐淡出人们开发OA软件的视线,使用这三种语言的技术工程师人员数量也呈现出阶梯数量级递减,也许到了2020年,ASP,PHP语言技术的工程师将会成为全球“稀有语言动物”,也只有到了那个时候做ASP,PHP语言的工程师拿的薪水会比主流工程师拿得多得多。

  4. .Net

目前国内计算机语言的主流技术之一,有一个现象大家都可以看到——现在软件公司的招聘广告,从招聘广告上我们看到现在更多的招聘对象都是JAVA和.net的技术工程师,从这个市场热度不难看出——JAVA和.net在未来很长的一段时间里将代表开发语言的主流。

论证其是否是主流原因的方法很简单,第一:是否有国际大厂商的支持。第二:可扩展性,可升级性,模块化,面向对象等等优势。产品开发出来的安全稳定性以及开发出来的可伸缩性。当然可扩展性和可升级性、模块化这些都是没有办法可视化的,对于那些对OA语言感兴趣的爱好者不防多看看计算机语言技术方面的书籍,其实每本书里都有介绍JAVA和.net在扩展、升级、模块化方面的均衡优势。第三:还有一个最为简单的验证方法,就是可以问问你身边搞过研发或者懂点计算机语言技术的朋友,他们都会给你一个明确的答案。

.NET语言开发的软件产品稳定性较高,产品可以模块化是一个存在的事实优势,但.NET具有很强的优势的同时,也存在一定的劣势,如跨平台、大数据并发。同时.Net与ASP对接时,就会导致产品的安全性变低,.NET平台的安全性会随着ASP的安全漏洞安全为黑客或者不法分子利用进而破坏,这个也就一直困扰软件技术工程师的一个最大的问题——.NET语言没有办法和ASP对接的最大一个因素之一。当然.NET如果不需要与ASP语言对接,那么也不存在这样的风险。

目前国内基于.Net 的OA产品有:金和C6(高端版本);领航.

   5. JAVA

  JAVA是1995年由SUN公司引进到我们这个世界的革命性变成语言,今天我们记住SUN这一全球性大公司的原因就是因为SUN在网络安全系统方面是最为优秀的提供商,JAVA的优秀在于与传统的软件比较就是:传统的软件往往与具体的视线环境有关,一旦环境有所变化就需要对软件做一番改动,耗时费力,而JAVA编写的软件能在执行码上兼容,只要服务器提供JAVA解释器,JAVA编写的软件就能在其上运行(更多解释可以见清华大学出版社出版JAVA2实用教程(第二版),在这免费做做广告o(∩_∩)o…)。

JAVA比.Net相比,可以跨平台,具有非常强的扩展性;可以在LINUX,UNIX上部署。对于超大型的OA系统,这是至关重要的。Windwos平台想实现上千并发不太现实,这是一个绝对的事实。JAVA在扩展性和稳定性上(SUN在网络安全方面的持续支持)的优越表现导致银行、税务、公安、政府这样基于有很高安全要求的公司或者单位在选择软件才产品的时候会首先选择JAVA语言开发的软件产品。

目前国内基于JAVA的OA软件:泛微的Ecology,;华天OA;用友致远。

由于JAVA和.NET语言开发的产品稳定性和安全性比较高的众所周之的原因,所以在OA软件的应用中使用JAVA和.NET语言开发的OA软件销售的价格会比ASP和PHP开发的软件价格通常要高,但是随着JAVA和.NET的语言技术的大规模使用,一旦JAVA和.NET开发的OA软件进入中低端市场,PHP和ASP结构的OA软件也将会面临全面被取代的局面。

目前国内OA行业中还有一种“功能为王”的声音,这部分主要是依靠ASP、PHP语言技术为主导的商家,这部分商家通常会强调“功能为王”,主观上来看这其实并不错,但是如果站在长期的目标来看,功能为王并不贴切,现有的功能满足并不等于未来的功能满足,JAVA和.Net之所以成为主流,这一点是任何技术流派不能阻止的,越老越多的软件工程师在学习使用这两种计算机语言,他们当然知道选择的原因。OA选型人员应该从更加长远的角度选择OA产品。找到最适合自己的OA软件产品最为重要。

第二部分:开发架构

语言是开发软件产品的基础,但是软件的另外一个特征也是非常重要的,那就是架构,事实上,搞软件的开发的技术工程师都知道这样一个事实——技术架构师的薪水非常高,这个在软件开发行业里面是不争的事实。

开发工具的架构从基础上决定了产品的先进程度,举一个简单的道理:“用不先进的底层研发出来先进的产品,是非常困难也是非常危险的。这就像我们盖房子,房子的基础架构是用钢结构搭建的和用石头和土搭建的当然不在同一个层次上,钢结构的房屋可以在上面继续盖楼,而土石结构的房子一旦在其上面盖楼就会面临倒塌的危险,安全系数是非常低的,纠其原因就在于结构的稳定性和生命周期导致的。

所谓的开发架构就是软件的基础设计。

OA选型人员在撰写软件产品需求的时候,是否考虑到了诸如需要实现实现跨数据库;页面和程序分离;是否提供与外界的程序接口(WEBSEVICE)等等核心要素问题,实践出真知啊,从人们过去的种种购买行为分析的结果表明:“客户在购买软件产品的时候,更多的只是关注眼前,而忽略了产品的外部接口,将来是否会发生跨数据对接等问题,看上去这些问题会离购买者很远,其实那是一种错误的观点,事实上是会时时发生,举一个简单的例子——由于在购买OA软件的时候没有考虑到会对接新的产品,所以买回来以后,企业的老板想要对接个手机审批办公系统,这个时候问题出现了,因为这可能会涉及到跨数据库和外部程序接口对接接口没办法对接等等诸多问题,所以在选择软件产品的时候,更应该重点关注一下对方软件的开发架构是什么样的,这里面包含着所谓的MVC和SOA的要领,现在互联网上有很多这方面的资料,而且大多都是第三方的,论述的较为公正,建议大家可以上网多搜一下。.

作为一个产品,为适应不同客户,肯定要适应不同的数据库,通常情况下小型客户采用MySQL;中型客户采用SQL SERVER;大型客户采用ORACLE,对不同的数据库采用不同的代码进行切换,开发的时候其实可能并不太麻烦,但是产品的不断升级,最后导致开发企业需要同时维护四五套版本,这样的作业方式很难做到做到及时升级,把大量的时间浪费在了不必要的功能之上,作为企业的网管都不愿意看到同一产品的多个版本需要同时维护的状况发生,这对于网管来说无疑是一个最大的考验和头疼的事情。

OA软件的发展趋势就是安全、稳定、易用、高效、拓展性,在未来OA产品在页面与数据分离、MVC/SOA、跨数据库平台操作上都是应用趋势,在这方面华天OA和泛微的ECology具有一定优势。

实际上选择OA软件要从以下四方面综合考虑其架构,也建议有OA需求的朋友可以多咨询身边懂技术的朋友和OA厂商,懂技术的朋友也可以给出不同的意见补充。

稳定性;可维护性;可升级性;可继承性综合这四个方面进行考虑。

   写在最后:

购买OA产品也要考虑未来成本,OA办公自动化软件具有很强的粘着性,其生命周期需要使用5年甚至到10年,而软件的架构好坏,直接决定了使用者购买的未来成本。

我给出OA软件的购买成本的基本算法如下,以供大家分享:

成本=购买成本+培训成本+二次开发成本+维护成本+更换成本(淘汰成本)

建议大家在购买OA软件产品的时候,重点要从开发语言和软件架构上开始,不要贪图便宜而忽略了OA软件存在的最基础的2个层面。也许只有用者才会知道事实上便宜的产品最后支付的成本并不会“便宜”。当然,如果大家能够买到语言和架构都比较合理,价格又适中的产品当然是最合适的。

查看原文:http://cio.it168.com/a2010/0308/857/000000857648.shtml

相关阅读:
  • 分析:面向OA系统的工作流引擎研发
  • 辨识OA系统“三块短板”提升数据使用率
  • OA软件的技术发展过程及未来趋势

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22955023/viewspace-628882/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22955023/viewspace-628882/

架构与开发语言 购OA最重要的两个核心相关推荐

  1. oa java开发_[原创]OA系统买JAVA开发的还是PHP开发?

    [原创]OA系统买JAVA开发的还是PHP开发? 买OA办公系统的时候,发现OA的开发语言有很多种,有些是PHP的.有些是JAVA的等等.而对于不同的开发语言对OA系统的应用效果有什么影响,究竟哪一种 ...

  2. cs架构用什么语言开发_我为什么建议Python开发者将ES6作为第二语言

    ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应 ...

  3. cs架构用什么语言开发_学了C语言,能开发什么项目?

    直至今天还有人在喊着C语言都过时的语言了,还有什么值得去学的,看现在的python,JAVA等语言现在用起来多简单,谁还去学习老掉牙的C语言,事实真的是这样的吗?小编作为专门下载了这两种语言的底层源码 ...

  4. 常用的Web架构开发语言有哪几种?

    如果你是做Web开发的,Web框架一定会很熟悉,框架是Web架构开发中必不可少的工具,不仅可以提高开发效率,还能让开发项目更成熟,并且可以提升代码的可再用性,Web框架开发离不开相应的开发语言,以下是 ...

  5. 从0开始,精通Go语言Rest微服务架构和开发

    说在前面 现在拿到offer超级难,甚至连面试电话,一个都搞不到. 尼恩的技术社区中(50+),很多小伙伴凭借 "左手云原生+右手大数据"的绝活,拿到了offer,并且是非常优质的 ...

  6. 为什么好多公司的开发语言从C#变成了JAVA

    今天这篇文章不黑也不吹,就和大家唠唠一些我的所见及所闻,如有不妥之处请各位看官见谅. 从我之前的一些博客文章看,大家也能知道之前是一个微软技术栈的程序员,也就是主要C#,.net MVC的东东,后来换 ...

  7. 为什么好多公司的开发语言从C#变成了Java?

    今天来谈谈为什么好多公司的开发语言慢慢从C#变成了Java了. 其实也是希望大家能够讨论一下,如果是讨论的话我们就会建立一个基本的讨论标准,所以这里主要讨论的标准有两个: 公司定义:我们定义的是互联网 ...

  8. OA开发很简单 OA实施很复杂

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 很多人对 ...

  9. php最近还热门么,2018什么开发语言热门 PHP开发语言火侯还会持续吗

    2017年已成过去式,在崭新的2018年里, 2018什么开发语言热门?PHP开发语言会如何发展?还会象17年那样风采依旧吗?下面我们一起去分析一下2018年PHP开发语言是否将持续发展. 2018年 ...

最新文章

  1. 北大30岁女博导获2019 IEEE青年成就奖,全球仅三人,深耕微纳电子、神经形态计算...
  2. 微信支付开发(2) 微信支付账号体系
  3. [GKCTF2020]Pokémon
  4. 如何选一台好的中低端的笔记本电脑
  5. Hive的使用之控制台
  6. Visual Basic编程常见问题及解答(2)
  7. 开发Adobe AIR移动应用程序的考虑事项
  8. [转载] python打包程序在win10不能运行、点击无反应_Windows10平台用PyInstaller打成exe程序后不能运行请高手指点...
  9. 苹果发布会新品曝光 这款软件肯定用得上
  10. 1028: [JSOI2007]麻将 - BZOJ
  11. 在注册表更改Program Files的位置
  12. U8如何设置和调用凭证模板
  13. 前端知识点——Web Sockets
  14. 【注册表】1:深入认识注册表--注册表五大预定义项
  15. linux进入桌面后CPU狂转,笔记本风扇狂转+CPU调节问题
  16. 直链文件上传下载网站分享(一)
  17. linux xsh加密传输,WBB - 解决Xshell迁移/同步xsh文件时,ssh秘钥密码/密码丢失问题...
  18. 解决微信小程序开发工具右上角没有上传按钮
  19. 这5款微信小程序,实用又不占内存!
  20. C语言求一元二次方程根

热门文章

  1. skype安卓手机版_水晶直播app最新手机版-水晶直播app安卓免费版
  2. SSL证书是什么?为什么需要SSL证书?
  3. 小程序使用three.js开发VR场景漫游
  4. 第三方物流面向的中小企业
  5. 辨别盗版windows 7
  6. Xilinx zynq系列pcie xdma通信(一):下位机PL端
  7. asp.net学生档案管理系统
  8. Oracle中WITH ...... OPTION权限对于权限授予和收回的级联影响
  9. 全球11大即将IPO科技公司:人人网土豆网上榜
  10. [转]免费电话网专用免费平台