是否存在除JavaEE和.NET之外的其他语言/平台的Application Server框架?

时间:2010-05-11 23:54:38

标签: programming-languages frameworks client-server enterprise application-server

我是一名CS学生,在企业软件行业拥有丰富的经验。当我读到企业软件平台时,我主要阅读这两个:

“企业软件平台”是指支持与J2EE和WCF相同特性的框架和应用程序服务器:

  

[ JavaEE ]提供部署容错,分布式,多层Java软件的功能,主要基于在应用程序服务器上运行的模块化组件。

     

WCF 是根据面向服务的体系结构原则设计的,以支持消费者使用服务的分布式计算。客户端可以使用多个服务,并且多个客户端可以使用服务。服务彼此松散耦合。

  • 这两个“企业软件平台”还有其他选择吗?
  • 此问题区域的其他编程语言使用率是否更高?
  • 为什么C ++ / Qt没有流行的应用程序服务器?

注意:“Application Server”是指主要用于GUI软件而非Web服务器/ Web框架的服务器。请参阅 what is the difference between web servers and application servers?

2 个答案:

答案 0 :(得分:4)

嗯,你几乎可以考虑高端的IBM大型机机器“应用服务器”,它们非常受欢迎。

TUXEDO是一个事务管理器,它支持许多高端应用程序,这些应用程序用很多东西编写,比如C ++。

微软当天回来了MTS(微软交易服务器)。它与C,C ++,VB等进行了交流。

Application Server是一个很好的,模糊的术语。例如,Tomcat是一个应用程序服务器。可以说ZOPE可以被认为是一个应用服务器。

但是,在我看来,真正区分Application Server和“只是代码”的是事务管理器。我不认为原始Tomcat是一个应用服务器,例如,它基本上是一个非常酷的Web服务器。

大多数人依赖数据库进行事务处理,但事务管理器在更高级别工作,而数据库只是一个参与者。事务管理器是应用服务器提供的服务和中间件方面的许多繁重工作。事务在业务流程中非常重要。

Java EE有事务管理器。我不知道任何其他提供能够进行分布式事务的事务管理器的“免费”系统。正如我所提到的,大多数人都依赖数据库并停在那里。

有几个支持Java JTA的事务管理器(Java EE服务器在内部符合JTA),这就是Spring为了提供事务服务而插入的东西。 (Spring只是一个框架,它本身不是服务器。)

将TM添加到OS时,整个计算机可以成为Application Server。这就是MTS为Windows所做的事情。

Java EE应用服务器脱颖而出,因为它们将大部分服务放在第一类(线程池,对象分配,数据库池,事务等)。许多操作系统提供所有这些服务,至少在流程级别。但是人们并不关心将整个机器专用于任务,并且必须调整操作系统来为单个应用程序提供服务。但是,所有这些能力都存在。

添加现代VM系统,专用的“单任务”OS实例更有意义。 “这个Linux VM处理我的DNS”,“这个Linux VM处理我的电子邮件”等等。因此,操作系统可能会回归到专用的应用服务器。

答案 1 :(得分:1)

Spring.py适用于Python。