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腫的企業平臺的回憶會變得晦澀難懂。
翻譯自: https://www.javacodegeeks.com/2014/03/java-enterprise-software-versus-what-it-should-be.html
總結
以上是生活随笔為你收集整理的Java Enterprise软件与应有的软件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: s6安卓10(s6安卓7)
- 下一篇: java美元兑换,(Java实现) 美元