热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

EJB组件与可重用性的矛盾

EJB组件与可重用性的矛盾
EJB技术正在像其他辉煌过的技术一样走到了一个关口。2000年以前这项技术充满了传奇色彩,被大批企业不假思索地接受。然而理想毕竟是理想,经过了几年的发展,今天这项技术却正在被怀疑或者至少说让技术人员犹豫不决,现实的是J2EE的对手出来了,.NET似乎又有着后发的技术优势。大部分的探讨和争论已经开始转向这两个体系结构的对比。Java阵营内部同样发出了怀疑的声音,最直接的就是对EJB的攻击,因为人们发现原来这项技术所做的承诺似乎都走向了相反的方向

  1.大量的案例由于采用了这种技术反而使得系统开发日趋复杂,而不是想像的简化开发周期加长成了家常便饭,实现一个进销存就把很多人难倒。

  2. EJB成了昂贵的代名词,而不是期望的成本降低

  3. 废了半天劲还不如用消息传递进行系统互操作

  4. 最终发现彻底地摆脱平台是不可能的

  但是Java总归还是不错的,于是有了Spring等等N种体系。EJB开始让人们困惑。任何技术和人生一样有它的困惑期,但是EJB给人们的困惑尤为经典,更具意义。J2EE和其他体系的对比已经泛滥于网上,实际应用的经验也随处可见,以至于不需要这里介绍,但是EJB现在并未被单独地被重视这是应该值得注意的,这与J2EE发展史却是背道而驰的。必须承认这么一个事实,EJB是被单独提出和定义的,最早是完全单独的一种规范,这与所谓体系结构并没有直接的关系,或者说EJB的意义和目标绝不只是在J2EE内封装商业逻辑,所以过于在框架内讨论EJB,或者说认为J2EE的弱点一定要蔓延到EJB上是否合适是值得探讨的。

  EJB诞生的初期人们的兴奋关键在于这种模型吸收了以往组件技术的精华,并有很大发展,使人们看到了强健的商业组件制造成本降低的期望,特别是跨越平台的可装配性和移植性,这是软件工程界一直的梦想,因为这意味着企业端计算程序设计工业化和细致分工也许要成为可能。这种思想目前也影响了界面一级的应用,例如所谓的Portlet技术,IBM公司的WebSphere平台的技术也许不是可怕的,但是有几十个合作伙伴事实上给它提供了类似的合作,这才真正是让对手感到害怕的。因此我们谈论EJB的时候,谈论它的价值和作用,脱离了它的设计目标也就失去了更大的意义,以下的商业环境和软件技术瓶颈应该重新被审视:

  1. 软件工程就重用领域来讲是否超越了组件时代,或者说已经不需要组件了?

  2. 软件的重用是否只需要互调用而不需要重复装配,乃至装配到不同的部位?

  3. 商业逻辑是否仍然需要封装,并保持强健的特性,不间断地服务

  4. 组件和强健和可用性是互联特性能取代的吗?

  5. 是否有更廉价的组件形式超越EJB并同样获得众多的支持?

  6. .NET的组件标准和EJB是否有可比性,或者说什么组件形式和EJB才有可比性?

  当冷静地思考的时候就知道,技术不应该被当作明星吹捧,但同样也没有容易倒下的软件技术。EJB不成熟,但不等于可以轻易被否定。是EJB使得很多普通的程序员能够介入原来贵族似的组件开发,甚至是简单的Windows上面开发UNIX上的组件,EJB的历史问题大多数在于将这种技术错误地滥用:一个浏览人数少的可怜广告浏览程序也要用组件,对于一个只想简单算出库存的客户设计了所谓N年后才需要的扩展性。同样现实中在这一技术擅长的领域,至少目前还无法找到更强大的竞争者。技术选择是应用型的技术人员永恒的主题,类似的困惑会不断的出现,最重要的是认同它们的理想和目标,保持对它们客观清醒的认识。放到擅长的领域的技术才是最优美的,这和人生没有什么两样。
推荐阅读
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Win10下游戏不能全屏的解决方法及兼容游戏列表
    本文介绍了Win10下游戏不能全屏的解决方法,包括修改注册表默认值和查看兼容游戏列表。同时提供了部分已经支持Win10的热门游戏列表,帮助玩家解决游戏不能全屏的问题。 ... [详细]
  • 如何在联想win10专业版中修改账户名称
    本文介绍了在联想win10专业版中修改账户名称的方法,包括在计算机管理中找到要修改的账户,通过重命名来修改登录名和属性来修改显示名称。同时指出了windows10家庭版无法使用此方法的限制。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 电脑公司win7剪切板位置及使用方法
    本文介绍了电脑公司win7剪切板的位置和使用方法。剪切板一般位于c:\windows\system32目录,程序名为clipbrd.exe。通过在搜索栏中输入cmd打开命令提示符窗口,并输入clip /?即可调用剪贴板查看器。赶紧来试试看吧!更多精彩文章请关注本站。 ... [详细]
author-avatar
mobiledu2502854717
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有