云海OA办公系统,本身架构是基于java的J2EE框架,基于MVC框架构;提高开发效率,增强程序的可维护性和拓展性;而且还利用Controller将Model与View分离,降低它们之间的耦合度。云海 OA从前台应用(UI层) 、业务逻辑模型(Business Model) 、数据库模型(Data Model)提供丰富的封装组件。
Java是目前使用广泛、发展迅速、认同度高的企业应用开发技术。相对其他技术,它具有安全、开放、稳定、跨平台等突出优势。
Java技术是套标准,它由诸多顶公司和遍布全球的开发者起支持,所以技术的通用性和标准性比较高,目前基本上成为企业解决方案的事实标准。
可以跨平台的特性直是Java的大特点,它通过JAVA的JVM技术屏蔽了底层操作系统的细节,从而实现了所编写的代码可以在Windows平台上使用,也能够在其他平台(Unix,Linux)上使用。
目前用Java技术实现的企业应用可以运行在大型机、Unix、windows、linux等各种操作系统上,后台可以连接 Oracle、SQL Server、My sql、DB2、Informix等数据库,并且效率方面都有很不错的表现。这使得用可以灵活选择适用于自己的运行平台,降低成本。
提到开发技术,你可能还会想到.Net和Lotus Notes。
选择.Net技术,基本上就选定了微软平台。操作系统只能使用Windows,甚至低层硬件只能选择Intel的系列芯片,而不能在大机、Unix以及Linux等系统上使用,难以保证系统的灵活性和低成本。
数据库方面,.Net在自身的SQL Server上运行还可以,但在其他数据库的集成和运行上并不是很理想。而且,因为Microsoft更容易受到漏洞攻击和病毒侵入的特性,也使得.net的安全性受到很多用户的担心,我可不愿意每天都去打堆补丁。
至于Lotus Notes,它曾是80-90年代OA系统的主流,但现在很曲高和寡。这是因为其开放性和拓展性不足的弊端日益显现,与关系数据库衔接不好,服务器速度慢,数据运算能力差,统计报表不好出,与其他应用不好集成,不能轻松的实现数据整合和统流程。如果你的协同OA系统要跟其他业务系统(如ERP、CRM等)共同运做,彼此共享数据,那么Lotus Notes不是个好的选择。
而且Lotus Notes对于B/S开发的功能很弱,很多功能需要Java代理及外接数据库才好实现,展现、逻辑、数据之间耦合度较高,逻辑代码分布在表单、代理、视图等处,使得代码维护非常困难,维护成本高得惊人。
还有,要对比现在非常流行的php语言,php的组合很多,常见的就是在apache、mysql等架构下的应用,此类专题讨论很多,详见搜索,这里仅提供图图为说明:
Java开发的系统运行速度慢?不见得!
云海OA在性能优化方面进行很多技术突破,使系统的运行速度有了质的提升,事实上,在网络稳定的情况下,你感觉不出这是个Java开发的WEB系统,而更像个C/S系统。
1、基于数据库的CACHE缓存技术。
2、基于页面的PAGE CACHE服务器缓存技术。
3、采用了“推”的技术进行数据的刷新。
4、关键页面采用动态生成,静态的访问来实现。
5、采用C/S技术的OA办公助手,快速上传、下载大文件。
6、海量数据导致系统性能下降得到有有效解决。
A) 对于数据的获取,每次限定了大的数据量;
B) 对数据进行充分的索引优化,大大提高查询的性能。
C) 对于消息刷新等操作频繁的数据,进行了有效期的设定,默认只会弹出15天的数据。用户也可以根据自己的要求进行修改。
基于以上的优化,云海协同OA系统的运行性能非常好,50个用户同时在线时,在P4 2.4/512M内存运行下,CPU整体占用率不超过10%。这大大突破了传统的JAVA程序运行速度慢,运行硬件环境高的缺点。