2

我是一名CS學生,在企業軟件行業擁有難得的經驗。當我讀到的企業軟件平臺,我主要是看一下這兩個:除JavaEE和.NET之外,還有其他語言/平臺的應用服務器框架嗎?

通過「企業軟件平臺」我的意思是有支撐框架和應用服務器與J2EE和WCF具有相同的特性:

[JavaEE]提供了部署容錯分佈式多層Java軟件的功能,主要基於在應用服務器上運行的模塊化組件。

WCF是根據面向服務架構原則設計的,以支持消費者使用服務的分佈式計算。客戶端可以使用多個服務,服務可以被多個客戶端使用。服務彼此鬆散耦合。

  • 這兩個「企業軟件平臺」有沒有其他的選擇?
  • 對於這個問題區域,沒有其他的編程語言使用更大的速率嗎?
  • 爲什麼沒有任何流行的C++/Qt應用程序服務器?

注:通過「應用程序服務器」我的意思是服務器主要用於GUI的軟件,而不是網絡服務器/ Web框架。請參閱what is the difference between web servers and application servers?

+0

Ruby on Rails ?. – 2010-05-12 00:00:06

+0

@Robert:我會說我的問題更多地是關於GUI軟件的應用程序服務器,我將把Ruby On Rails作爲一個Web框架。另見:http://stackoverflow.com/questions/1654642/what-is-the-difference-between-web-servers-and-application-servers – Jonas 2010-05-12 00:06:58

+0

**相關:** http://stackoverflow.com/questions/161991/what-makes-an-application-an-enterprise-or-enterprise-level-application – Jonas 2010-05-12 09:43:48

回答

4

那麼,你可以考慮高端的IBM大型機「應用服務器」,它們非常受歡迎。

TUXEDO是一個事務管理器,它賦予許多高端應用程序權力,如C++。

微軟當天有MTS(Microsoft Transaction Server)。它與C,C++,VB等交談。

應用服務器是一個很好的,模糊的術語。例如,Tomcat是一個應用程序服務器。可以說ZOPE可以被認爲是一個應用服務器。

但是在我看來,真正區分應用服務器和「只是代碼」的事情是事務管理器。我不認爲應用服務器是一個原始的Tomcat,例如,它基本上是一個非常酷的Web服務器。

大多數人依靠數據庫進行事務處理,但事務管理器在數據庫僅僅是參與者的較高級別上工作。事務管理器是應用程序服務器提供的服務和中間件方面的大量繁重工作。事務在業務流程中非常重要。

Java EE擁有事務管理器。我不知道任何其他「免費」系統,它提供了一個能夠進行分佈式事務的事務管理器。正如我所提到的,大多數人依靠數據庫並在此停留。

有幾個事務管理器支持Java JTA(Java EE服務器在內部是JTA兼容),這就是Spring爲了提供事務服務而插入的東西。 (Spring只是一個框架,它不是服務器本身。)

當您向操作系統添加TM時,整個機器可以成爲應用服務器。這就是MTS爲Windows所做的。因爲他們使這些服務的第一類(線程池,對象分配,數據庫池,事務處理等)成爲了大多數Java EE應用程序服務器的突出特點。許多操作系統提供所有這些服務,至少在流程級別。但是人們並不在乎將整個機器專用於任務,而且不得不調整操作系統來爲單一應用程序提供服務。但是,所有這些能力都在那裏。

添加現代虛擬機系統和專用的「單一任務」操作系統實例更有意義。 「這個Linux VM處理我的DNS」,「這個Linux VM處理我的電子郵件」等等。所以,也許操作系統將會重新變成一個專用的應用服務器。

+0

+1非常翔實的 – Jonas 2010-05-12 00:20:59

+0

太糟糕了,這根本不能回答問題。除了引用IBM大型機之外,除了Java和C#之外,沒有另一種語言的應用服務器。而Tomcat「只是一個非常酷的網絡服務器」?上次我查了一下,它是一個servlet/JSP引擎的參考實現。應用程序服務器不僅僅是一個事務管理器。除了分佈式組件及其生命週期管理,線程化,命名,排隊和其他服務之外。在我看來,僅僅引用TM可以簡化它。 – duffymo 2010-05-12 11:38:22

+0

@duffymo - Tomcat提供的很少。 Microsoft Windows爲C++,VB或絕大多數可以利用.NET或COM +的語言製作了一款優秀的應用服務器。 VMS很可能提供這些服務(我的VMS傳說已經過時了30年)。 Unix是一個很好的基礎,但開箱即不在那裏。您需要添加諸如CORBA,TIBCO和TUXEDO之類的東西來完善它。今天沒有人反感,並且運行Java JEE,因爲它提供所有這些,免費。 – 2010-05-12 15:24:28

相關問題