SOA On Tomcat专题3--Tomcat

本文详细介绍了Tomcat服务器的基本概念,包括其作为轻量级应用服务器的特点和与J2EE规范的关系。同时,文章深入探讨了WebService技术,解释了其在不同机器间进行数据交换的能力,并详细阐述了实现WebService所需的XML、XSD、SOAP、WSDL等关键技术。通过实际案例展示如何在公司SOA框架中利用Tuscany发布服务,以及与Spring、WebService、Hessian、JSONRPC等的整合方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tomcat 基本概念:

.Tomcat服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,Tomcat6.x支持Servlet 2.5和JSP 2.1。

.Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。有了Sun的支持当然就遵从J2EE规范,而所有遵从J2EE规范的应用服务器都必须支持SOAP协议。注意这里只是说遵从J2EE规范,没有说获得J2EE认证,我在网上搜了一下,也没有相关信息,说明Tomcat在处理高并发的企业级任务是较弱的。

机制:

.WebService是一项新技术,实现应用程序间的通信。, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么,都可以相互交换数据。目前比较流行的实现方法是使用.NET 和 Java两种技术。

要达到这样的目标,Webservices要使用技术:

◆XMLXML是在web上传送结构化数据的伟大方式,Web services要以一种可靠的自动的方式操作数据,HTML不会满足要求,而XML可以使webservices十分方便的处理数据,它的内容与表示的分离十分理想。是WebService平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。XML是由万维网协会(W3C)创建,W3C制定的XML SchemaXSD 定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。

◆XSDWeb Service平台是用XSD来作为数据类型系统的。当你用某种语言如VB. NET或C# 来构造一个Web Service时,为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如 SOAP。

◆SOAPSOAP使用XML消息调用远程方法,这样webservices可以通过HTTP协议的post和get方法与远程机器交互,而且,SOAP更加健壮和灵活易用。SOAP即简单对象访问协议 (SimpleObject AccessProtocol),它是用于交换XML编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例如,你可以使用SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负载保持相同。

◆WSDL Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述WebService及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。

◆调用RPC与消息传递

WebService本身其实是在实现应用程序间的通信。我们现在有两种应用程序通信的方法:RPC远程过程调用和消息传递。使用RPC的时候,客户端的概念是调用服务器上的远程过程,通常方式为实例化一个远程对象并调用其方法和属性。RPC系统试图达到一种位置上的透明性:服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上


下面附上一张WebService的流转图:

在附上一张Tuscany的架构图,公司用的版本是1.6:

最后附上Tuscany的运行环境,真相大白:


原来Tomcat是直接支持Tuscany发布服务的,在公司现在的SOA框架中用的Tuscany SCA1.6,实现方式是Spring,然后将服务绑定为WebService和Hessian、JSONRPC,调用WebService服务的时候SOAP协议包着XML和XSD这些特定的信息,去访问服务,至于Hessian服务就用HessianProxyFactory这样简单的方式就可以调用了。恩,就这样。

 

大家可以去IBM的开发网站上看:http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/,这篇文章将Tomcat的原理介绍得很清楚了。IBM是OSOA的贡献者,有很多资源提供给开发者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值