Java Enterprise软件与应有的软件

许多开发人员在其职业生涯的某个阶段最终进入了Java“企业”世界。 我知道这个词会引起各种React,这是正确的。 通常,存在许多有趣的技术挑战的环境最终会成为那些没人愿意从事的环境,因为它们脆弱,难以处理且没有乐趣。 大型项目中经常出现的问题通常是由于管理引起的,但是我已经看到开发人员做出了许多错误的决定,这些错误的决定导致了糟糕的软件,而这些都是以“企业”为名的。

什么是企业?

您可能会争辩说该术语几乎可以表示任何东西,这是正确的,但是出于本文的目的,我将以一种我认为与常用用法一致的方式对其进行定义。 普通的企业项目具有以下属性:

  • 通常在大型公司环境中
  • 涉及多层管理/指导
  • 首选来自Red Hat,IBM或Microsoft等大型供应商的解决方案
  • 偏爱知名的,既定的(尽管有时是不足的)产品和标准
  • 有关扩展和性能的担忧

既然我已经定义了我们正在谈论的项目类型,让我们看看它们通常看起来像什么。

典型的企业Java项目

我们大多数人都看到过企业项目的标志。 如果我们举个例子,那会有所帮助,所以让我们假设它是一个具有某些B2B功能的电子商务平台。 可能是这样的:

  • EJB3加上JPA和JSF –它们符合“标准”,每个人都可以使用它们,因此是安全的选择。
  • SOAP –它是标准的,定义了安全性之类的工作方式,因此无需担心。
  • JMS 消息驱动的Bean –适合平台,并提供可靠性和负载平衡。
  • 石英用于工作安排–一种“安全”的选择(比不认识的魔鬼好,比你认识的敌人好)。
  • 部署在JBoss上 –它得到了一家大公司的支持和付费支持渠道。

现在,像这样的项目存在的问题不一定是所选的单个技术。 我的示例中确实有一些问题,但真正的问题是如何做出选择以及使用某些技术的动机。

众所周知,与其他选择相比,上面的软件堆栈更难管理和使用。 开发将需要更长的时间才能启动,随着需求的发展,变更将变得更加困难,并且该项目最终将比其他可能的解决方案更加复杂。

企业决策

企业项目在做出选择时通常要确定的目标是:

  • 低风险技术–选择“安全”的选择,即使已知有严重的缺陷,也不会造成反吹。
  • 对标准的痴迷–与提供诸如EJB3或SOAP之类的定义明确的规范相比,对于提供有效地完成工作的最简单解决方案的担忧更多。
  • 需要SLA的有偿支持,通常无需担心响应的质量或及时性。
  • 出于对未知未来需求的担心而进行设计。

除了最后一个目标,这些目标不是坏目标,但它们往往使每个软件项目的实际目标都蒙上阴影。 所有软件项目的主要目标是交付一个项目,该项目:

  • 准时;
  • 符合要求;
  • 可靠;
  • 表现良好; 和
  • 易于维护和扩展。

这些应该是决策者在软件项目中无论大小的重点。 显而易见,有时特殊的组织需求会影响做出的选择,但是从根本上讲,好的选择通常适用于所有类型的组织。

那么,如果我们以这些目标重新构想我们的项目怎么办?

重新构想的企业项目

首先,有一点免责声明:在任何项目中都有很多方法可以使用,我不会断言以下技术要比前面提到的技术更好。 需要根据您的需求对工具进行评估,每个工具都不尽相同。

我将尝试做的是演示示例技术堆栈以及每种选择的理由。 这将显示出如何构建精心设计的系统,这些系统可以在企业环境中生存,而不必屈服于经常做出的错误选择。

这是建议的堆栈:

  • 使用Thymeleaf的 Spring MVC –稳定的历史,大量的开发资源,快速的开发和灵活性。 不要害怕使用平台或库,但是要避免过多地“购买”它们的堆栈,您可能会后悔。
  • 在有用的地方使用jOOQ进行持久化的简单数据库层。 这使我们能够以更细粒度的方式管理性能,同时仍然可以轻松地与数据库进行交互并避免ORM陷阱 。
  • 使用杰克逊 JSON处理器的REST – REST和JSON都很流行,因为它们易于使用和理解,开发便宜,使用简单的标准并且为开发人员所熟悉。 锁定也不是什么大问题–与SOAP不同,我们可以轻松切换到另一个JSON处理器而没有太多困难。 可以使用SSL和基本身份验证轻松保护这一点。
  • 在ActiveMQ上使用JSON编码的消息进行JMS消息传递-松散耦合,可靠性和负载平衡,而不会被消息驱动Bean所困扰。
  • 黑曜石调度程序 –简单易用,可提供出色的监控并减轻开发人员的负担。 再一次,目标是在可能的情况下简化并降低成本。
  • 部署在Tomcat上 -不使用专有功能。 这可以帮助我们遵循标准,避免升级问题,并确保将来的工作正常。 当事情并非总是无法解决时,谁需要SLA支持?

我认为上面的堆栈和相应的说明有助于您从正确的角度来研究一个企业项目可以是什么。 这样做的目的是表明,即使是企业项目也可以是简单的并且可以灵活地构建– ated肿的框架和平台不是必需的部分,并且很少提供任何明显的实益。

收盘时

REST等技术的最新发展趋势令人鼓舞,并且正在进入企业界。 开发团队意识到,只要基础技术选择能够满足项目的性能,安全性等需求,简单就能带来可靠性和成本效益的解决方案。

软件世界发展Swift,并显示出朝着正确方向发展的良好迹象。 我只希望有一天,of肿的企业平台的回忆会变得晦涩难懂。

参考: Java企业软件与它应该从我们的JCG合作伙伴 Craig Flichel那里获得什么,在Carfey Software Blog博客上。

翻译自: https://www.javacodegeeks.com/2014/03/java-enterprise-software-versus-what-it-should-be.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/342040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤教育】国家开放大学2018年秋季 3819-21T燃气安全管理 参考试题

试卷代号:3922 汽车运用基础 试题答案及评分标准 (供参考) 2019年1月 一、单项选择题(下列各题的备选答案中,只有一个选项是正确的,请把正确答案的序号填写在括号内。15小题,每小题2分&#xf…

模拟视频光端机与数字光端机究竟有何区别

模拟光端机采用了PFM调制技术实时传输图象信号,发射端将模拟视频信号先进行PFM调制后,再进行电-光转换,光信号传到接收端后,进行光电转换,然后进行PFM解调,恢复出视频信号。数字光端机是一种通过数字电路控…

【渝粤教育】国家开放大学2018年秋季 8184-21T (1)护理伦理学 参考试题

编号:8634 18-19学年第1学期期末考试 Android智能手机编程 试题(开卷) 一、选择题:(每题4分,共40分) 1.在Android应用中需要添加访问互联网的权限配置(Permission)&…

什么叫光端机?视频光端机的分类具体有哪些?

什么叫光端机?光端机顾名思义就是光信号传输的终端设备,是一个延长数据传输的光纤通信设备,它主要是通过信号调制、光电转化等技术,利用光传输特性来达到远程传输的目的。 视频光端机的分类: 视频光端机在中国的发展是…

【渝粤教育】国家开放大学2019年春季 0505-22T护理学基础 参考试题

编号:0505 座位号 2018~2019学年度第二学期期末考试 护理学基础试题 2019年6月 一、名词解释(每题5分,共20分) 沟通 护理诊断 尿失禁 自体输血 二、填空 (每空2分,共30分) 1&a…

【渝粤教育】国家开放大学2019年春季 1025保险学概论 参考试题

试卷代号:1025 2019年春季学期期末统一考试 保险学概论试题 2019年7月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人收完考…

什么是3G-SDI光端机?

3G-SDI光端机设计和生产是适合于电视行业的高可靠、高性能的串行数字光传输设备,满足DVB回传和制作,现场制作,DVB-ASI传输,新闻采集,现场直播信号传输,远程演播室,通用数字视频传输业务,电信信号…

【渝粤教育】国家开放大学2019年春季 1171科学与技术 参考试题

试卷代号:1171 2019年春季学期期末统一考试 科学与技术试题(开卷) 2019年7月 一、选择题(每题2分,共10分) 1.自然界中一切物体的相互作用,都可以归结为四种基本的相互作用,即引力、弱…

【渝粤教育】国家开放大学2019年春季 133大学物理 参考试题

科目编号:0133 座位号 2018-2019学年度第二学期期末考试 大学物理 试题 2019年 7 月 单选题(本大题共5小题,每小题4分,共计20分) 静电场的高斯定理表明,静电场是 。 A. 有源场 B. 无源场 C. 保守力场 D. …

如何判断是不是真正的物理隔离网络光端机

现如今,随着各种通信技术的发展,光端机在各个领域应用非常广泛,尤其是在电力、银行、公安、部队、铁路、大型企事业单位专网这一块对物理隔离的以太网接入需求很大。虽然国内的光端机厂家很多,有很多厂家名义上说自家的是物理隔离…

weblogic中数据源_如何在WebLogic Server中创建MySQL数据源

weblogic中数据源使用应用程序服务器的一件很酷的事情是,它允许您在应用程序外部创建DataSource,并且可以与线程池和事务管理器等一起管理它。对于WebLogic Server,它附带了许多内置的JDBC驱动程序,例如Oracle数据库和MySQL等随时…

【渝粤教育】国家开放大学2019年春季 2175市场营销学 参考试题

试卷代号:2175 2 0 1 9年春季学期期末统一考试 市场营销学 试题 注意事项 2019年7月 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人收…

【渝粤教育】国家开放大学2019年春季 2588管理线性规划入门 参考试题

试卷代号:2588 2 0 1 9年春季学期期末统一考试 管理线性规划入门 试题 2019年7月 一、单项选择题(每小题6分,共30分) 1.设矩阵。 A. B. C. D. 2.线性规划模型…

您需要了解的所有有关System.gc()的信息

在本文中,我们试图回答有关System.gc()API调用的最常见问题。 我们希望它会有所帮助。 什么是System.gc()? System.gc()是用Java,Android,C#和其…

【渝粤教育】国家开放大学2019年春季 289法理学 参考试题

编号:0289 四川广播电视大期末考试 法理学(开卷)试题 一、名词解释:(每题5分,共20分) 1.法学的研究对象: 2.法系: 3.法的适用: 4…

【渝粤教育】国家开放大学2019年春季 556广告摄影 参考试题

编号:0556 座位号 2018~2019学年度第二学期期末考试 广告摄影 试题 2019年6月 一、名词解释(每小题5分,共15分) 定焦镜头及其特点: 景深: 全景与特写: 广告摄影试…

单E1光端机,V.35光端机,以太网光端机介绍及技术指标详解

光猫也称为单端口光端机,是针对特殊用户环境而设计的产品,它利用一对光纤进行单E1或单V.35或单10BaseT点到点式的光传输终端设备。光猫有E1光猫,以太网光猫,V35光端机等,那么,什么是单E1光端机,…

[渝粤教育] 兰州交通大学 信号处理基础[310106224] 参考 资料

教育 -信号处理基础[310106224]-章节资料考试资料-兰州交通大学【】 第一章单元测验 1、【单选题】具有一个独立变量的信号函数称为( )。 A、多维信号。 B、一维信号。 C、二维信号。 D、三维信号。 参考资料【 】 2、【单选题】 根据信号是否重复出现的…

光端机是做什么的?光端机的作用主要有哪些?

光端机,相信不了解通信这一行业的朋友肯定会觉得很陌生,但是它在我们的实际生活领域应用非常广泛,简单来说,光端机就是一种信号传输设备。由于很多朋友缺乏对光端机这一块的了解和认知,很多人对于什么是光端机以及光端…

[渝粤教育] 兰州城市学院 模拟电子技术 参考 资料

教育 -模拟电子技术-章节资料考试资料-兰州城市学院【】 第2章测试 1、【单选题】N型半导体是在本征半导体中掺入( ) A、五价元素 B、四价元素 C、三价元素 D、二价元素 参考资料【 】 2、【单选题】P型半导体是在本征半导体中掺入( &#xf…