JAX-RS的大多數實現都有一個客戶端API,因此如果在兩個項目之間共享註釋接口,安裝應該很容易。通訊可能比其他解決方案慢,因爲您必須序列化/反序列化所有參數和響應,通常採用XML或JSON格式。我並不擔心優化進程間通信,因爲與本地主機的通信仍然比遠程機器快得多。如果您希望公開部分此API,REST將是最佳選擇,無論性能如何。
如果通訊只會在內部,而您確實關心性能,您可以使用更專門的框架,如Protocol Buffers。 JAX-RS是JavaEE標準,REST雖然已經很成熟,但可能比性能更重要。對於更大,更復雜,基於JavaEE的系統,一個通用的解決方案是使用消息和集成框架,如Apache ActiveMQ和Apache Camel,它們也支持像Apache CXF這樣的JAX-WS/JAX-RS框架,並且應該優化進程間通訊。對於小型應用程序來說,這看起來像是過度殺傷。
我從來沒有使用EJB,所以我無法真正地將它與其他解決方案進行比較。從我聽說的情況來看,整個EJB方法是複雜的,並且在業界還沒有很好地適應。我也會擔心一些關於跨平臺兼容性的問題。
我會選擇一個不太複雜且易於設置的解決方案。最後一件事:根據我的經驗,當您希望兩個應用程序經常在同一臺計算機上運行並希望對其進行優化時,它們可能首先應該合併到單個服務器應用程序中,或者可能是其中一個服務器應該是另一個可選的插件。