网赌审核优惠活动:WebService入门介绍1

来源:百度文库 编辑:偶看新闻 时间:2024/05/01 17:35:05

        Web service到底是什么;在什么情况下你应该使用Web service?譬如:A公司使用了一套由PHP编写的业务系统,B公司使用了一套由C#编写的一套业务系统,C公司使用了由JAVA编写的一套业务系统......,那么如果A公司与B公司某天有合作需求,而且有频繁的数据交换业务。那么A公司的PHP系统能直接与B公司的C#系统进行交互吗?很显然这是两种不同的语言编写的系统,而且可能使用平台还不一样,如果直接访问是根本不可能办到的事。

        难道我们就没有解决办法吗?难到非要大量人工来干预吗?

        如果使用了WebService就能很好的解决这个问题, l从表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Web service 的应用程序叫做客户。 更精确的解释是: Web services是建立可互操作的分布式应用程序的新平台。作为一个Windows程序员,你可能已经用COM或DCOM建立过基于组件的分布式应用程序。COM是一个非常好的组件技术,但是我们也很容易举出COM并不能满足要求的情。Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。能够在一个分布式的计算环境中动态地描述、发布、发现和调用服务。

     为什么我们需要WebService呢?

    一、软件变服务:现在专家组提出这么一个问题,比如:一套正版的Office软件需要700RMB,如果A用户只用到里面的最最变通的功能,像排版,制表格等;B用户使用了Office的大量功能,而且天天使用,那么对A用户来说,是不是有点很亏啊!我不经常用而且用的功能少,买这套软件的价格与B用户的价格缺是一样,按理说我应该比他便宜才对。如今有一种“软件变服务”这第一种说法,就是:使用了那块功能交多少钱、使用了多少次交多少钱等等。如果实现了“软件变服务”那么就会有:去商厂买个太阳能热水器,我们都可以免费拿回家使用,只要给热水器分配一下IP地址,我们下班后发条短信就可以通知热水器可以开始热水了,而在这个过程中,嵌在热水器芯片上的程序就会自动的从你的银行账号上扣出一部分钱来,用于本次洗澡的费用给卖家......这就是一种“软件变服务概念”.

   二、l整合孤立的数据孤岛:现在有很多的资源不能充分被利用,由于操作平台的不一致,软件开发的语句不同等等因素,都阻碍了信息资源的高度共享使用,利用webservice能够很多的解决这个问题。       三、 l互连设备与异构系统:不管你的操作平台是windows还是linux还是unix,不管你的数据库是Oracle,Mysql,SqlServer,DB2,Sybase等,能够实现互访互问。

 

 

 

 

   四、 lEAI/B2B应用: 什么是EAI(enterprise application integration)企业应用集成 EAI是将基于各种不同平台、用不同方案建立的异构应用集成的一种方法和技术。EAI通过建立底层结构,来联系横 贯整个企业的异构系统、应用、数据源等,完成在企业内部的 ERP、CRM、SCM、数据库、数据仓库,以及其他重要 的内部系统之间无缝地共享和交换数据的需要。有了 EAI,企业就可以将企业核心应用和新的Internet解决方案结合在一起。EAI(企业应用集成)将进程、软件、标准和硬件联合起来,在两个或更多的企业系统之间实现无缝集成,使它们就像 一个整体一样。尽管EAI常常表现为对一个商业实体(例如一家公司)的信息系统进行业务应用集成,但当在多个企业 系统之间进行商务交易的时候,EAI也表现为不同公司实体之间的企业系统集成,例如B2B的电子商务。 B2B是企业与企业之间通过互联网进行产品、服务及信息的交换。

......

   现今主流分布技术应用的缺点:

   EJB也是做分布式应用的,它属于JAVA平台规范。如果在EJB上做WebService开发,那么只需要加一个 @WebService注解就OK了,非常的简便,但是它也有不足之处。EJB侧重于功能实现的细节上,而WebService则侧重于它能提供什么功能。

   目前分布式技术各自为政,互操作性差且紧耦合,局限在Intranet应用。

    WebService的优点:

    WebService 是业界组织超过160家公司加入联盟,达成异构平台,异构系统,不同语言的互操作规范,通过WebService将会推动产业新浪潮。

   WebService协议栈:

   1、通讯协议:XML文件

   2、消息格式:HTTP+SAOP

   3、描述语言:WSDL

   4、发现机制:UDDI Server,理想情况下,采用了UDDI做服务,好比访问百度,各国各个网友不会只访问到百度的同一台主机,可是我们的确是访问的是同一个IP啊,怎么会访问不到同一台主机呢?这里面应用了一个叫“负载均衡器”的硬件,我们访问百度时,负载均衡器会判断那台主机承受压力小就会将你的请求转发给它,这就好比UDDI了,我们要访问目标主机,首先要访问UDDI,得到目标地址,才真正去与目标通信。事实上,我们没有这样做,而是直接与目标地址访问了。

5、SOA:面向服务架构

WebService的实现框架:

1、使用axis实现WebService;

2、使用xfire实现WebService;

3、JDK1.6直接支持WebService.

 

 

最后我写了一个开源的程序,实现了查询天气预报及IP地址的功能:欢迎大家去下载使用.(调用了中央气象局的数据资源及IP资源库)http://download.csdn.net/source/1747740(由于服务变动,程序也随之更新,谢谢大家支持。)