SOA架构实现:Java SOAP Web Service and Delphi 7 Client (1)
开言
1. SOA 面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,
它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。
这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
详情请参考:http://www-128.ibm.com/developerworks/cn/webservices/ws-theme/ws-soa.html
2. WebService是实现SOA的一些技术的集合
WebService采用XML+ HTTP传递数据,比较流行的WebService协议主要有三种:
1) SOAP 是Microsoft提交给W3C的Web Service协议。
2) XMLRPC Microsoft费了7年的时间(大概,记不清楚了)才成功的把SOAP提交给W3C,
而Dave Winer(眼熟吧,RSS之父亲)借鉴SOAP实现了一个更轻量级的协议,那就是XMLRPC。
3) REST 是Roy Fielding的博士论文中提出的概念,其实,与其说REST是一种Web Service协议,
不如说REST是一种Web based软件架构,一种基于Resource State的服务访问架构。
详情请参考:http://www.mengyan.org/blog/archives/2006/06/09/125.html
3. SOAP框架
1) Apache Axis
Axis 是Apache的一种Java SOAP框架,目前版本已是2.0,比较权威。
官方主页:http://ws.apache.org/axis/
2) Codehaus XFire
Xfire 是一个获得MIT许可的下一代Java SOAP框架。
官方主页:http://xfire.codehaus.org/
3) SOA .net 微软的SOAP框架。
官方主页:http://msdn.microsoft.com/architecture/soa/
4. 技术选型
1. 协议:虽然XMLRPC传输数据的速度比SOAP快,但是,SOAP更完善、安全性更好,
而且经过技术加工,传输数据的速度还是非常好的,并且,是趋势,选它了。(又臭又长的一句话)
2. SOAP框架:SOA .net上手非常简单,但是嘿嘿,我还是更相信Java性能优于.net
在java阵营中,一直以来,Axis是权威,是光是电是唯一的神话,不过XFire的出现让它over了,
XFire的各方面性能优于Axis (详情请参考:http://xfire.codehaus.org/Stack+Comparison),
我就是喜欢实用派,不过Axis2.0出来了,不知道性能如何?支持新人,暂时选XFrie。
3. Client: 噢噢,.net的普及太慢了,我还是钟情于Delphi 7
5. Java SOAP Web Service 开发环境:
1. Database: mysql 5
2. ApplicationServer : tomcat 4.1
3. SOAP Framework : XFire 1.2
4. Other Framework : spring , ibatis
5. Develop Tools : Eclipse 3.1.0 , MyEclipse 4.1.1GA
6. Delphi 开发环境:
1. Delphi 7
2. 用到的主要构件:THTTRIO,VCLZip
7. 下一章准备开发环境搭建...