为什么要学习WebServer框架?

                                                     为什么要学习WebServer框架?

1、 定义

Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言
下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

   之前并没有听说过什么WebServer框架,对于造轮子惯的我,之前也从基础搭建了一个web服务框架,对于网页界面的请求链接,多线程同步访问进行设计。如果自己实力够强完全可以实现一个针对自己应用的web底层调度框架。但话又说过来了,世界的发展潮流总被少数人控制,一些 ”懒人“为了节省人力物力时间成本,于是设计了一套便于用户使用的统一接口,这样用户就不需要自己在进行造轮子了。但是哪有什么万能公式一劳永逸的好事请,所以诞生出了好多的WEB 服务框架。为了能够更快更好的作出产品来说 学习一些基础的webserver框架也是必须的。

2、 几个比较流行的Webservice框架比较:

    0、Apache Axis1、Apache Axis2、Codehaus XFire、Apache CXF、Apache Wink、Jboss  RESTEasy、sun JAX-WS(最简单、方便)、阿里巴巴  Dubbo(除外)等

    1 Apache CXF 支持 WS-Addressing、WS-Policy、WS-RM、WS-Security和WS-I BasicProfile 

    2、Axis2 支持 WS-Addressing、WS-RM、WS-Security和WS-I BasicProfile,WS-Policy将在新版本里得到支持 

    3、Apache CXF 是根据Spring哲学来进行编写的,即可以无缝地与Spring进行整合 

    4、Axis2 不是 

    5、Axis2 支持更多的 data bindings,包括 XMLBeans、JiBX、JaxMe 和 JaxBRI,以及它原生的 data binding(ADB)。 

   6、Apache CXF 目前仅支持 JAXB 和 Aegis,并且默认是 JAXB 2.0,与 XFire 默认是支持 Aegis 不同,XMLBeans、JiBX 和 Castor 将在 CXF 2.1 版本中得到支持,目前版本是 2.0.2 

   7、Axis2 支持多种语言,它有 C/C++ 版本。 

   8、Apache CXF 提供方便的Spring整合方法,可以通过注解、Spring标签式配置来暴露Web Services和消费Web Services 

   9、Thrift由Facebook开发,解决了由不同语言编写的服务之间的调用问题。2009年Facebook将Thrift贡献给Apache基金会,成为一个开源项目。Thrift为典型的C/S架构(我项目中用到的

  10、gSOAP是一个开发SOAP和XML应用(它们组成了webservice)的工具,在英文中叫toolkit。它是跨平台的,webservice的客户端和服务器端,都可以用它来辅助开发。它主要的功能(特征)如下:

  • C/C++数据绑定工具,支持XML-RPCfrom/to JSON from/to C/C++ serialization
  • 支持WSDL 1.1,2.0, SOAP 1.1, 1.2
  • 支持REST HTTP(S) 1.0/1.1 operations (GET,PUT,POST etc) for XML, JSON,etc
  • 支持MIME and MTOM 附件
  • 支持IPv4,IPv6, TCP 和UDP
  • 支持CGI,FastCGI
  • 支持嵌入到Apache,IIS中发布
  • 自带了一个Web server (multithreaded, SSL, compression)用于发布
  • 可适用于WinCE, Palm, Symbian, VxWorks, Andriod, iPhone等小设备

3、如何抉择: 

1、如果应用程序需要多语言的支持,Axis2 应当是首选了; 

2、如果应用程序是遵循 Spring 哲学路线的话,Apache CXF 是一种更好的选择,特别对嵌入式的 Web Services 来说; 

3、如果应用程序没有新的特性需要的话,就仍是用原来项目所用的框架,比如 Axis1,XFire,Celtrix 或 BEA  gsoap  thrift等等厂家自己的 Web Services 实现,就别劳民伤财了。

4、thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#,                        Cocoa,JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。

   thrift最初由facebook开发,07年四月开放源码,08年5月进入apache孵化器。

   thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。

   简单来说,就是提供了rpc框架,序列化功能,多语言的代码生成等功能,跨语言间的协调开发就是基于这些功能来完成。
 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值