种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

APP(中间件)

(2019-04-14 13:49:27) 百科综合
APP(中间件)

APP(中间件)

App 是英文Application的简称,由于iPhone智慧型手机的流行,现在的APP多指智慧型手机的第三方应用程式。目前比较着名的App商店有Apple的iTunes商店里面的App Store,android的Google Play Store,诺基亚的ovi store,还有Blackberry用户的BlackBerry App World,以及微软的套用商城. 苹果的iOS系统,app格式有ipa,pxl,deb,谷歌的Android系统,app格式为APK,诺基亚的S60系统,APP格式有sis,sisx,微软的windowsphone7、windowsphone8系统,app格式为xap。 一开始APP只是作为一种第三方套用的合作形式参与到网际网路商业活动中去的,随着网际网路越来越开放化,APP作为一种萌生与iphone的盈利模式开始被更多的网际网路商业大亨看重,如腾讯的微博开发平台,百度的百度套用平台都是 APP思想的具体表现,一方面可以积聚各种不同类型的网路客群,另一方面藉助APP平台获取流量,其中包括大众流量和定向流量。

基本介绍

  • 软体名称:Application

APP的前身

app server的前身是middleware(中间件),历史要长的多。早在上世纪六七十年代就已经开始在IBM大型机系统上广泛套用了,叫做TP Monitor,比较着名的是BEA的Tuxedo和IBM的CICS,运行在Terminal/Server模式的Server端,其功能主要是分离商业逻辑,进行分散式计算的,可以自动管理事务、资源和容错等等。因为发展的时间很长,所以技术非常成熟。middleware最早是用cobol编写的,现在还可以偶尔看到cobol的中间件的旧系统,再后来middleware改用C++来实现,着名中间件的有IBM的CICS,BEA的uexdo,仍然广泛的套用在高端系统中,特别是银行系统。

APP伺服器

市场上常见的app 伺服器的主要有以下几种:
1. Tomcat. Tomcat严格意义上并不是一个真正的App Server, 它只是一个可以支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些AppServer的功能,如JNDI,资料库连线池,用户事务处理等等。Tomcat被非常广泛的套用在中小规模的Java Web套用中;
2. BEA Weblogic.
3. IBM Websphere.
4. Jboss. Jboss是免费开源的App Server.
然而在面向对象的技术出现和广泛的套用之后,TP Monitor由于不是面向对象的,而是面向过程的调用,因此TP Monitor管理的商业逻辑并没有分散式对象系统中的商业组件那样的可扩展性、可重用性,表现出来很大的局限。
不过像PHP这样主要还是面向过程调用的函式式的语言来说,TP Monitor仍然可以支持的非常完美,由于有了TP Monitor的支持,PHP也可以套用在企业的环境中了。
我所知道的eachnet用的是: Linux+Apache+PHP+Tuxedo+Oracle
eachnet在上海好几个ISP那里放了伺服器,以保证服务不因某个ISP的问题而无法访问。我曾经见过eachnet在上海热线机房的伺服器,说出来,大家可能不信,eachnet竟然用的是自己攒的兼容机,世纪之星的机箱,估计不比我们大家自己买的兼容机强到哪里去。大概有六七台机器的样子,来负载均衡。
对象请求代理(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了。
App Server可以自动管理并发性、事务、对象分布、负载均衡、安全性和资源管理等等系统级功能。简单的来说就是App Server是管理服务端组件的,它给服务端组件提供了一个全功能可靠的运行环境。
打个比方来说,资料库系统是管理数据的,它也给数据提供了一个受监控和管理的运行环境,提供了事务、安全性、负载均衡,并发性等等系统级功能,对于使用者来说,你不需要自己处理资料库表的并发锁定问题,自己处理SQL语句的解析、自己处理索引的最佳化等等系统级功能,同样对于服务端组件的调用者来说也不需要自己处理并发请求、对象创建、销毁、快取,控制组件事务等等系统级功能。
App Server对服务端组件的的关係就是资料库系统对数据的关係。App Server完全是一个类似资料库系统这样一个非常複杂的服务端软体,所不同之处就是资料库系统(RDBMS)是管理数据的,而App Server是管理对象的。这也是我研究Weblogic Server之后的切身感受。
Microsoft是最早发布App Server的厂商,叫做Microsoft Transaction Server(MTS)。其他还有很多基于不同技术的App Server,不过随着EJB规範的发布,主流的App Server基本上都是基于J2EE的了。目前看来,AppServer市场主要就是实现J2EE规範的Java套用伺服器和Microsoft的.Net套用伺服器这两大主流。
Tuxedo等基于过程传统的中间件会继续在特定的场合发挥巨大的作用,像那些需要极高的回响性能和基于特定平台C/C++的场合,还是具有不可替代的作用。
App Server提供的服务端组件模型并没有解决所有的问题,基于不同技术实现的服务端组件之间不能互相调用和数据共享,比如EJB组件和COM组件之间不能之间交换数据,所以基于SOAP协定的Web Services试图解决这个问题,想把网际网路上所有的不同技术实现的组件服务都统一成单一的Web Services。这也是Web Services热门的原因之一,标準的统一对大家都有好处。

标 签

搜索
随机推荐

Powered By 种豆资源网||