发布网友 发布时间:2022-05-02 22:56
共1个回答
热心网友 时间:2022-06-28 02:14
app server的前身是middleware(中间件),历史要长的多。早在上世纪六七十年代就已经开始在IBM大型机系统上广泛应用了,叫做TP Monitor,比较著名的是BEA的Tuxedo和IBM的CICS,运行在Terminal/Server模式的Server端,其功能主要是分离商业逻辑,进行分布式计算的,可以自动管理事务、资源和容错等等。因为发展的时间很长,所以技术非常成熟。middleware最早是用cobol编写的,如今还可以偶尔看到cobol的中间件的旧系统,再后来middleware改用C++来实现,著名中间件的有IBM的CICS,BEA的Tuexdo,仍然广泛的应用在高端系统中,特别是银行系统。
然而在面向对象的技术出现和广泛的应用之后,TP Monitor由于不是面向对象的,而是面向过程的调用,因此TP Monitor管理的商业逻辑并没有分布式对象系统中的商业组件那样的可扩展性、可重用性,表现出来很大的局限。
不过像PHP这样主要还是面向过程调用的函数式的语言来说,TP Monitor仍然可以支持的非常完美,由于有了TP Monitor的支持,PHP也可以应用在企业的环境中了。 eachnet用的是: 1 Linux+Apache+PHP+Tuxedo+Oracle eachnet在上海好几个ISP那里放了服务器,以保证服务不因某个ISP的问题而无法访问。
对象请求代理(Object Request Brokers)是另一种用的很多的中间件,支持分布式对象的调用。然而它的问题是仅仅是一个代理(Broker),系统级的功能需要自己来实现,这包括管理并发性、事务、资源管理和容错机制等等,而且不同的厂商提供的ORB之间也存在互操作的兼容性问题。 于是一种综合了TP Monitor和ORB功能的新的服务器出现了,叫做CTM(Component Transaction Monitor)组件事务监控器。用在我们特定的管理应用程序的环境中就是App Server。
在1997年开始,CTM市场发生了巨大的变化,因为这一年Sun的J2EE标准正式发布,从此除了微软之外,所有的CTM厂商都用Java来改写自己的产品,例如Sybase原来有一个叫做Jagus CTS的东西,如今已经变成了纯Java实现的EAServer,Borland的公司app server也是这样来的。这样一来,除了微软之外,就剩下基于Java的app server了。