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

相关问题