SO 是对 OO的补充, SO是为服务的整合而生, SO 把互联作为首要的目标, 提供平台无关互操作能力, 提供更多的互联:同步,异步,one-way, two-way, request-response, queued, streamed communication, SO是松耦合而OO是紧耦合, 基于OO的系统往往通过类库之间的依赖耦合, 基于SO的系统通过Message互相关联
简单介绍信Flex与Web服务的交互主要内容:<br>1.ActionScript与服务端的基本交互方式(REST).<br>2.ActionScript特有的数据传输格式(AMF)与服务器交互.<br>3.Flex与WebService。
Apache Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2是广泛使用Apache Axis栈的成功典范,不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。
什么是Webservice从表面上看,Webservice就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。对Webservice更精确的解释:Webservices是建立可互操作的分布式应用程序的新平台。作为一个Windows程序员,你可能已经用COM或DCOM建立过基于组件的分布式应用程序。COM是一个非常好的组件技术,但是我们也很容易举出COM并不能满足要求的情况。Webservice平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Webservice,只要我们可以通过Webservice标准对这些服务进行查询和访问。
Webservice的一个最基本的目的就是提供在各个不同平台的不同应用系统的协同工作能力。为了使得一个公司的网络应用达到最高的效率,存在它自己和它的合作伙伴,供应商以及客户之间的Webservice,应该能够实现无缝的交互。如果在众多的Webservice之间不能轻松的实现交互,那么该应用的效率将大打折扣。但是,在现实中这种情况是极有可能出现的。由于各个公司对业务的理解各不相同,就是理解相同的情况下,对于相同的概念也可能用不同的形式加以表现,具体而言就是对于同一数据可能采取不同的xml表示。由于以上的原因,对于协同性的问题应该在设计应用架构时就加以考虑,而不是留待以后去改变。
Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的RESTWebService,同时还支持Spring、JSON等技术。这些都将在后面的系列教程中讲解。在本文中主要介绍了如何使用Axis2开发一个不需要任何配置文件的WebService,并在客户端使用Java和C#调用这个WebService。
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。
它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。跨平台的,与语言无关。
理解 Web Service的概念<br> 理解Web Service的体系结构和工作原理<br> 运用Eclipse和CXF发布和使用简单的 Web Service
Axis2是目前比较流行的WebService引擎。WebService被应用在很多不同的场景。例如,可以使用WebService来发布服务端 Java类的方法,以便使用不同的客户端进行调用。这样可以有效地集成多种不同的技术来完成应用系统。WebService还经常被使用在SOA中,用于 SOA各个部分交换数据。本课程重点讲解了Axis2的核心功能,并提供了三个项目以使学员理解并掌握如何将Axis2应用于不同的场景。
使用Spring+CXF开发WebService。ApacheCXF提供方便的Spring整合方法,可以通过注解、Spring标签式配置来暴露WebServices和消费WebServices各种类型的Annotation。@WebService和@WebMethod是WSDL映射Annatotion。这些Annotation将描述WebService的WSDL文档元素和Java源代码联系在一起。
XFire是与Axis2 并列的新一代WebService平台。之所以并称为新一代,因为它:<br> 1、支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security等;<br> 2、使用Stax解释XML,性能有了质的提高。XFire采用Woodstox 作Stax实现;<br> 3、容易上手,可以方便快速地从pojo发布服务; <br> 4、Spring的结合;<br> 5、灵活的Binding机制,包括默认的Acegis,xmlbeans,jaxb2,castor。
介绍如何使用axis引擎来发布webservices。
前言SOA思想的核心在于"S",凡是从服务的角度去看待系统功能,并且构建和实现应用,都可以认为是SOA的某种实现形式。下面一段要说的是:SOA技术的核心在于"O"--只有做到Service-Orientation的技术,才能真正称为SOA技术。怎样才能算作Service-Orientation?我们再以OO进行类比:VB之所以被称为基于对象(Object-Based)而不是面向对象(Object-Oriented)的语言,是因为VB的运行时结构不具有VMT等基本构造,语法上也不支持私有成员,继承等基础特性,两者结合,就造成无法支持封装,继承,多态等面向对象的关键技术。一句话,VB不是围绕“对象”这个核心概念设计的语言。对于SOA技术,它也可以从这个角度划分两个层次:一个是SOA的“运行时”相关结构标准,例如SOAP,WSDL,WS-*等,相当于OO中的对象内部结构,VMT构造等。另外一个则是语言和工具层面的支持,例如基于元数据的服务描述,支持WebService的类库,Proxy生成工具等,相当于OO语言中提供的基本OO语法,类库,编绎器等。这两个层次共同构成SOA体系结构中的要素,让人们能够围绕“服务”这个核心概念进行系统开发和应用。因此,一种技术架构,平台或产品要称作SOA,应当同时具备这一两方面的特征。所以,下面将要讨论的JAX-WS技术,从上面的观点来看,也就是SOA技术的第二个层次,即语言和工具层面的支持--Java,例如基于元数据的服务描述,支持WebService的类库,Proxy生成工具等。
Axis2是目前比较流行的WebService引擎。WebService被应用在很多不同的场景。例如,可以使用WebService来发布服务端 Java类的方法,以便使用不同的客户端进行调用。这样可以有效地集成多种不同的技术来完成应用系统。WebService还经常被使用在SOA中,用于 SOA各个部分交换数据。本课程重点讲解了Axis2的核心功能,并提供了三个项目以使学员理解并掌握如何将Axis2应用于不同的场景。
经过研究以及和BOSS系统的开发方沟通,发现此BOSS系统是用纯HTTP+POST+XML的方式来进行信息沟通:XML是信息的载体、HTTP是传递的协议、POST是传递的方式。也就是说这和Web Service没什么关系。Web Service现在有两种不同实现SOAP和XML-RPC,XML-RPC(RPC是远程调用的意思)有一个开源的产品,其实现的低层也是基于HTTP+POST+XML的方式。我本来打算用纯Servlet就解决这个项目了,但老大说这样不行,可扩展性太差,因为福建是纯HTTP、也许广东就是SOAP或其他的方式,而且其中还存在一些构架设计等等方面的东东。 最后,我得到的要求和提示就是基于XML-RPC来实现这个项目,但XML-RPC是远程调用的方式,而福建BOSS并非远程调用,所以需要修改一下XML-RPC的源代码(老大花了一个下午改好了,而我花了一周多去研读和完整,水平不是一个数量级的呀,郁闷一下)。修改后的XML-RPC,在远程调用的实现外,再提供了一个纯HTTP+POST的现实方式。
开源多语言RPC框架。 完整的RPC框架实现,用脚本生成通讯相关的框架代码,开发者只需要集中精力处理好业务逻辑。比如搭建一个Hello World Service只需要几分钟。支持非常多的语言,包括PHP,以及最常用的WEB后端开发语言C++/Python/Java等,当然,还包括Ruby,Erlang,Perl,Smalltalk等其他的语言。拥有被Facebook、Last.fm等不少大规模互联网应用验证过的性能和可用性。