说说小弟我对SOA的理解
说说我对SOA的理解
说说我对SOA的理解,希望给像我一样菜的人入门推进一步;
SOA现在好像就两个东西流行,Axis和Xfire,基本原理两个都差不多,说得简单点都是客户端发出一条SOA请求消息,服务端接收处理了,返回一条SOA返回消息,不管是Axis或是Xfire都是一个Servlet,不同的是组成不同,Axis服务端由:Servlet container(Java实现类,server-config.wsdd,web.xml;Axis lib);Xfire服务端由:Servlet container(Java实现类,services.xml/Spring framework/Xfire lib);
其中各自都有一个最核心的实现类:
Axis Servlet最核心的实现类为:org.apache.axis.transport.http.AxisServlet;
Xfire Servlet最核心的实现类为:org.codehaus.xfire.transport.http.XFireConfigurableServlet;
至于WSDL写法就一个目标空间和命名空间,其它的格式都跟XML一样:
wsdlsoap:表示本WSDL是采用的标准的SOAP协议("http://schemas.xmlsoap.org/wsdl/soap/")
WSDL:表示本WSDL是采用的标准的WSDL协议("http://schemas.xmlsoap.org/wsdl/")
xsd:定义参数类型的一种国际标准,如用"type="xsd:string"来定义String类型("http://www.w3.org/2001/XMLSchema")
其中WSDL的创建工作包括三部分:
1.服务内容(接口,操作,输入,输出)
2.绑定类型,传输协议
3.服务地址
原理就这样,希望不会吓到你,希望看完有收获点什么;
说说我对SOA的理解,希望给像我一样菜的人入门推进一步;
SOA现在好像就两个东西流行,Axis和Xfire,基本原理两个都差不多,说得简单点都是客户端发出一条SOA请求消息,服务端接收处理了,返回一条SOA返回消息,不管是Axis或是Xfire都是一个Servlet,不同的是组成不同,Axis服务端由:Servlet container(Java实现类,server-config.wsdd,web.xml;Axis lib);Xfire服务端由:Servlet container(Java实现类,services.xml/Spring framework/Xfire lib);
其中各自都有一个最核心的实现类:
Axis Servlet最核心的实现类为:org.apache.axis.transport.http.AxisServlet;
Xfire Servlet最核心的实现类为:org.codehaus.xfire.transport.http.XFireConfigurableServlet;
至于WSDL写法就一个目标空间和命名空间,其它的格式都跟XML一样:
wsdlsoap:表示本WSDL是采用的标准的SOAP协议("http://schemas.xmlsoap.org/wsdl/soap/")
WSDL:表示本WSDL是采用的标准的WSDL协议("http://schemas.xmlsoap.org/wsdl/")
xsd:定义参数类型的一种国际标准,如用"type="xsd:string"来定义String类型("http://www.w3.org/2001/XMLSchema")
其中WSDL的创建工作包括三部分:
1.服务内容(接口,操作,输入,输出)
2.绑定类型,传输协议
3.服务地址
原理就这样,希望不会吓到你,希望看完有收获点什么;
1 楼
xwkp2008
2008-03-19
这个好像是webservice的概念
soa是架构在这个层面上的业务服务架构
soa是架构在这个层面上的业务服务架构
2 楼
jameswxx
2008-03-19
你自己根本没有理解什么是SOA,你连webservice是什么都没搞清楚。居然把webservice等同于SOA。
3 楼
Jatula
2008-03-19
批评的好,但是我想说,以初学者的角度来看,我就认为在JAVA这块,SOA就这样,没有什么web service,什么概念都不重要,要注意和区别的地方就这样,如果说要堆一大堆东西上去的话,IBM上面一大堆,不用我在这里说了;一开始就说什么单点登录(听起来很高级的东西)之类的,我想除了这个项目真的用到,不然的话,一般人不会硬着头皮去看;
在这里我也想说一件事,我老发现很多人写什么Hibernate(本身这个人SQL不过关,工厂模式也不会),如果你SQL不过关的话,建议不要用这个东西,很可怕;
SPRING(如果你不懂的动态代理模试,POJO也不要去学死活去学这个);
建议把SERVLET学好,我觉得SERVLET是最经典的;写了好久的JAVA(不是WEB这一块的),也还是觉得很多JAVA基础知识不会,还是会没事拿出来瞄瞄;
总结:算法+J2SE+数据结构+JSP(语法)+SERVLET----比起Hibernate+SPRING+STRUTS......更有意思;
在这里我也想说一件事,我老发现很多人写什么Hibernate(本身这个人SQL不过关,工厂模式也不会),如果你SQL不过关的话,建议不要用这个东西,很可怕;
SPRING(如果你不懂的动态代理模试,POJO也不要去学死活去学这个);
建议把SERVLET学好,我觉得SERVLET是最经典的;写了好久的JAVA(不是WEB这一块的),也还是觉得很多JAVA基础知识不会,还是会没事拿出来瞄瞄;
总结:算法+J2SE+数据结构+JSP(语法)+SERVLET----比起Hibernate+SPRING+STRUTS......更有意思;
4 楼
Jatula
2008-03-19
还是谢谢两位的指教,他们说得都没有错,是我的错,不过还是将错进行到底;还会继续更新,看看错错会不会得个对出来......
5 楼
mineral
2008-03-20
标题挺吸引人,点进来一看原来是在讲对web service 的理解。
6 楼
zhxp791008
2008-03-20
SOA!=webservice
7 楼
jnn
2008-03-20
SOA 是构架思想, web services是实现方式,两者不能等同。 用serlvet可以实现web services 的功能,但是扩展性不好,很多工作都要自己来做。
8 楼
Jatula
2008-03-21
哈哈,SOA其实很虚的东西,我也想知道谁能给出个定义来,哈哈,所以说虚的不如说实的;
9 楼
Jatula
2008-03-21
接下来说JBI,请各位继续来批我;多请指教!
10 楼
wu2004
2008-11-06
骗过来的。