【IT168 分析评论】现在市场上的oa基本上可归结为两大阵营,即php阵营和java阵营。但对接触oa不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异。其实, PHP + MYSQL 不值钱不仅仅局限于oa软件,而是整体上PHP + MYSQL开发的软件都不如java开发的软件值钱。为什么PHP + MYSQL 的OA为什么不值钱呢?首先得明白php和java之间的差异才行。

1、系统的技术架构比较

  分层是将系统进行有效组织的方式,分而治之的思想是计算机领域中非常重要的思想。在好的分层思想引导下,便能实现“高内聚、低耦合”,也能将具体的问题割裂开来,易于控制、易于延展,更易于分配资源。PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就十分强大,可以实现多层的网络架构。运用MVC的设计模式,可使oa系统具有更加高效、合理的系统架构。技术架构的落后,使运用php编写的oa软件系统先天不足,而后天又无法补足其先天上的劣势。使得系统在可拓展性、需求应变性上与JAVA编写的oa软件系统的差距越来越大。架构的差距,注定了php做的oa充其量是个小家碧玉,始终无法和java这种大家闺秀同台竞技。

2、数据库访问比较

PHP可编译成具有与许多数据库相连接的函数。将自己编写外围的函数去间接存取数据库。通过这样的途径当更换使用的数据库时,可以轻松地修改编码以适应这样的变化。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL,Sybase的接口,彼此都不一样。由于PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。

  而Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库,访问数据库的接口比较统一。如果同样是将开发的web应用从MYSQL数据数转到ORACLE数据,PHP需要做大量的修改工作,而且比较繁琐。但JAVA开发的便只需要很少的更改便能实现。

  数据库访问方式的差异,奠定了php开发出的oa和java开发出来的oa是马车和火车的差距,前者只能亦步亦趋而且额度有限,后者却是工业化的结晶,不仅能够包容万物而且速度上稳步提升。

 3、安全性对比

  在同是开源和跨平台的java面前,php丢掉了很多的优势。在代码的安全性上尤为突出。php的开发程序在别人拿到代码后,可以很容易的进行修改。而java开发的程序由于无法看到完整的源代码,只能看到一些编译好的类文件,所以安全性较高。加之系统架构的优势,在安全性上php和java是相去甚远。

  如果非要将php和java在安全性上做个比较的话,同一个小偷光顾php那是随便拿来随便改,想拿什么拿什么,拿的高兴还能大笔一辉某某到此一游。而光顾java的时候,便会发现警察把守,内设自动报警装置,即便突破重重阻扰后进入居室。那值钱的东西都放在加密后的保险柜中,只能望洋兴叹、铩羽而归。
4、前瞻性和拓展性

  从整体来说,php适用于中小型系统,而java适用于大型系统。Php能够将单一的事件做好,但却不适合完成集成度较高的多项并发事件。为什么说php适合中小型系统而不适合做大系统呢?

  首先, php缺乏多层结构支持。而对于大型的系统负荷站点,只能采用分布计算。将数据库、应用逻辑层和表示逻辑层彼此分开,并将同层的根据流量分开,组成二维数组。而php恰恰缺乏这种支持。

  其次,PHP提供的数据库接口不统一,要将多个不同的数据库数据统一需要花费很大的力气。而JAVA则没有这种缺陷,可通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere,是通过CGI来提供支持的。
如果将Php比作将才,具备独挡一方的能力。那么java便是帅才,具有较好的前瞻性和拓展性,整体布局和协同能力强。能够指挥千军万马,最后逐鹿中原。

5、开发成本比较

  既然php在诸多方面都不如java优异,那么php开发出的oa产品何以与java产品竞争呢?在于Php阵营普遍走的是低端路线,而java阵营走的是中高端路线。两者之间交叉的区域较小。

  软件价格的高低很大程度上和自身成本和功能相挂钩。php的入门门槛较低,绝大多数学过c的程序员都很容易转型为php程序员,这使得php程序员的泛滥成灾的同时,低成本的php软件产品也层出不穷。以PHP最经典的组合PHP + MySQL + Apache为例,由于所有软件都是开源免费的,所以投入并不高。

  而java开发需要特定的环境,成长为一个合格的java程序员需要一定的时间,java程序员的成本也是php成本的几倍。Java的web应用服务器免费的有Tomcat、JBoss等,而要想具有很好的商业化服务便必须选用Web Sphere和 Web logic。这其中投入的成本无形中便超是php成本的N倍。所以,java开发oa的成本要远远高于php开发出来的同类软件产品。但也正由于java开发的成本较高,很难实现抄袭和短期内逾越的可能,也使得java用开发出的产品门槛更高。

  不怕不识货,就怕货比货。Php开发出来的产品也能用,但是和java开出的同类产品是没法比较的。正因为php开发的产品整体性能和java开发的相去甚远,所以php运用低成本的低价优势和同类的java产品抗争,以价格落差来平衡购买者的心态。所以,PHP + MYSQL 的OA不值钱也就不足为怪了。

转载于:https://www.cnblogs.com/lan0725/archive/2008/08/05/1873952.html

PHP+MYSQL的OA为何没有Java的值钱?相关推荐

  1. oa php mysql_PHP+MYSQL的OA为何没有Java的值钱?

    [IT168 分析评论]现在市场上的oa基本上可归结为两大阵营,即php阵营和java阵营.但对接触oa不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异.其实 ...

  2. Java源码 JavaWeb开发框架 代码 SSH SSM OA ERP CRM Java项目[Java通用框架源码及开发视频教程]

    Java源码 JavaWeb开发框架 代码 SSH SSM OA ERP CRM Java项目 功能简介: A.代码生成器(开发利器) 生成Java各层次的类和JSP等文件,提高开发效率 B.阿里巴巴 ...

  3. Mybatis实现存取Mysql的Json字段映射Java对象

    Mybatis实现存取Mysql的Json字段映射Java对象 一.需求 二.解决方案 一.需求 在业务比较复杂的项目模块,为了应对多样化的场景,我们通常会在mysql中采用json格式来存储相应的信 ...

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

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

  5. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法 java.lang.ClassNotFoundException: com.

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法 java.lang.ClassNotFoundException: com.m ...

  6. sqlerror.java.1055,at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)

    错误提示是这样的: java.sql.SQLException at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at ...

  7. 本地mysql拒绝jdbc连接失败_jdbc连接MySQL数据库的诡异异常 java.net.ConnectException: 拒绝连接...

    今天遇到一个很诡异的异常,查了很多资料都没有解决. 用JDBC连接数据库的时候出现以下异常 @Test public void test() { try { Class.forName("c ...

  8. mysql的week函数与JAVA计算周的差别问题

    转载:mysql的week函数与JAVA计算周的差别问题_cwfreebird的博客-CSDN博客 今天遇到此问题,记录下解决办法.转载. 原获取周方法: public static String g ...

  9. mysql的decimal类型与Java的BigDecimal

    ps: mysql中的decimal , 在java中的用BigDecimal表示的. 文章目录 decimal BigDecimal 四则运算代码测试 BigDecimal 的 signum() 方 ...

最新文章

  1. python编程未来就业方向有哪些?
  2. 人生必须知道的十个为什么
  3. bootstrap-fileinput 使用
  4. Python爬虫入门教程石家庄链家租房数据抓取
  5. c mysql实体类生成工具_【干货分享】C# 实体类生成工具
  6. Xcode6 itunes完美打包api 方法
  7. go语言mysql删除记录_MySQL数据库删除操作-Go语言中文社区
  8. ccs变量观察窗口在哪_CCS3.3查看变量图形
  9. 5行代码秀碾压,比Keras还好用的fastai来了,尝鲜PyTorch 1.0必备伴侣
  10. 笔试编程题常用的一些技巧方法
  11. 每日一题--字符串数组重排(Google推荐面试书--Cracking the Coding Interview)
  12. 《前端框架开发技术》HTML+CSS+JavaScript 制作个人简历模板
  13. Unity 关于Activator.CreateInstance使用
  14. 安装nvcc CUDNN
  15. 对偶理论说明(深入理解)
  16. 深信服上网行为管理——仅用户访问某个特定网站,其他行为拒绝策略
  17. Windows10系统盘清理实用攻略
  18. POP3 SMTP邮件服务器搭建详细图解教程1
  19. 深度学习中的偏差和方差
  20. tensorflow-GPU配置成功测试代码

热门文章

  1. 剑指offer(Java实现) 求1+2+3+…+n
  2. 词法分析-中文分词技术-正向最大匹配法与逆向最大匹配法
  3. 机器学习知识点(六)增广矩阵求解拉格朗日乘子法的Java实现
  4. 数据结构源码笔记(C语言):Josephus问题之循环链接表
  5. U-BOOT介绍以及disk模块源码分析
  6. 动态规划----解121. 买卖股票的最佳时机---最大连续子序列和
  7. 正态分布||方差、均值的概念
  8. C++实现矩阵加减乘求转置
  9. web前端知识体系大全
  10. freeRtos学习笔记 (5)事件组