簡體   English   中英

JCA有什么好處?

[英]What are the benefits of JCA?

我們的應用程序通常通過Web服務,MQ,JDBC,專有(直接通過套接字)和其他類型的傳輸連接到不同類型的后端。 我們已經有許多實現允許我們從應用程序連接到這些后端,雖然所有這些實現都實現了公共java接口,但它們不共享任何其他內容。

我們已經意識到所有這些特定連接器實現都有共同的代碼部分代碼,我們決定通過一個通用連接器簡化未來連接器的開發。 此連接器將能夠將消息格式化為后端預期的格式,並使用可用的傳輸機制發送它們。 例如,MQ上或通過套接字的固定長度消息格式。

我們面臨的困境之一是這種連接器最合適的技術。 到目前為止,我們的連接器是實現常見Java接口的基本java類。 由於我們通常在某些Java EE應用程序服務器中托管我們的應用程序,因此Java Connector Architecture似乎是最適合此軟件的技術。 但是,實現符合JCA標准的連接器似乎相對復雜。 采用標准有什么明顯的好處 - JCA並且有益於額外的努力嗎?

事實上,JCA 似乎是最合適的技術。 已經有了很好的論據,即可移植性,標准化接口,連接池和事務支持。 不要忘記安全。

使用WebSphere Process Server,適配器可以作為SCA服務公開,如果這對您很重要,它可以帶來很多好處。

此外,一些開發工具對開發和測試JCA連接器有廣泛的支持。

另一個好處是(經驗豐富的)Java EE管理員和Java EE開發人員(應該)知道標准,因此管理和開發應該易於簡化。

但最終,您必須根據項目范圍,您對項目的未來計划或公司政策內的政策,找到實施JCA的理由。

簡短回答:我認為選擇JCA優於其他技術沒有任何好處,我認為這是一個缺點,因為你需要Java EE容器。

答案很長:

一段時間以來,我一直對這些Java EE標准持懷疑態度。 我沒有看到使用全功能Java EE服務器的令人信服的技術理由,因為對於所提供的每個功能都有更好的開源實現。 從“企業解決方案”轉移到/從“企業解決方案”移動時,我已經被實施不兼容性多次咬了一口。

JCA的想法現在就出現在這里,我正在努力嘗試apache camelspring integration 我全都是開源實現,你可以在任何地方使用。 還有很多事情要發生。 檢查此組件列表 當然,也許比JCA已經開發的更小,但每一點都是開源的,而且都在一個地方。 此外,我相信文檔更簡單,更完整。 對集成的渴望需要一個功能強大的SPI,它具有大量開源,真實的實例,以相同的方式開發,並且可以在同一個地方找到。

我討厭消極情緒,但我不喜歡功能齊全的應用服務器。 舉例來說,我會去Tomcat和陶土比其他“enterprisey”產品的任何一天 ,就像我會去駱駝JCA之前,直到JCA需要得到證實。 我不喜歡Java委員會的想法,告訴我應該如何開發自己的應用程序,因為我不相信它們。 我相信,當Java SE / RCP上的軟件可以像在Java EE環境或純Servlet容器中一樣輕松工作時,這符合我的最佳利益。

我剛剛開發了一個入站資源適配器,用於通過專有協議進行通信的gps設備。 這並不是那么麻煩,雖然我的印象是開發一個出站可能需要更多的工作。 JCA最糟糕的事情是缺乏文檔。 所有的書籍和文章似乎都有同樣的愚蠢的例子。

我最滿意的是便攜性。 編寫適配器后,您可以將rar(資源適配器存檔)插入任何應用程序服務器,以便為已部署的應用程序提供與ra支持的eis通信的能力。 或者你可以將rar捆綁到戰爭/耳中。

這些優勢主要適用於那些希望將連接器銷售到專有后端系統以供任何應用服務器使用的供應商,以及希望能夠插入連接器而不必擔心它是否僅適用於WebLogic而非Websphere等的客戶。這是Java EE的總體目標。

請注意,JBoss決定在JCA中添加幾個內容,例如JDBC連接通過JCA進行。

您未來的客戶端代碼將具有標准化的界面,一些池化和事務支持等,但重要的是要看到更大的圖景; 即好處不是針對您和您的一個項目,而是針對由許多應用服務器,許多后端系統,許多連接器等組成的軟件生態系統。

對於帶有綁定組件的JBI容器來說,這聽起來很好用。 討論 JCA與JBI。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM