Web服务框架发展与REST服务开发

一、目前流行的WebService框架介绍:

  ①Apache Axis2

       Apache Axis2相比Apache Axis1更加有效、更加模块化、更加面向xml,支持容易插件模块扩展新功能和特性,例如安全和可靠。Apache Axis2是基于Apache AXIOM,它是一  个高性能、pull-based XML对象模型。Apache Axis2的关键特性:

l  解析xml更快。采用自己的对象模型和StAX (Streaming API for XML)。

l  更低的内存占用。

l  支持热部署。新服务加入到系统,无需重启服务。

l  支持异步webservice、

l  更加灵活。引擎给开发人员提供了充足的自由度可扩展客户头信息处理、系统管理、

l  更加稳定性。

l  支持WSDL1.1、WSDL2.0。

l  方便集成其他组件(Add-ons)。几个web services已经被集成,包括:WSS4J for security (Apache Rampart), Sandesha for reliable messaging, Kandula which is an encapsulation of WS-Coordination, WS-AtomicTransaction and WS-BusinessActivity.

l  良好的扩展性。

        ②Apache Axis2

Apache CXF是一个开源服务框架。Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了Celtix和XFire两大开源项目的精华,比如:JAX-WS and JAX-RS,主要特性包括:

l  支持Web services标准。包括:SOAP、the WSI Basic Profile、WSDL、WS-Addressing、WS-Policy、WS-ReliableMessaging、WS-Security、WS-SecureConversation和WS-SecurityPolicy.

l  支持不同类型前端开发模型。CXF实现了JAX-WS APIs,支持JAX-RS开发。

l  容易使用。CXF设计的简洁和直观,具有简洁APIs迅速的构建基于代码的服务,Maven插件使得工具集成更加容易、JAX-WS API支持、Spring 2.x XML使得配置更加容易。

l  支持二进制和遗留协议。CXF被设计为可插拔的架构,在不同的传输协议结合下,不仅支持XML,也支持非XML类型绑定,例如:JSON和CORBA。

  ③Apache Axis2

       Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。

二、概念介绍

  ①、Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

②、SOAP协议:简单对象访问协议,简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息。SOAP作为webService三要素SOAP、WSDL、UUID之一, SOAP用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构超文本传输协议(HTTP)的组合定义了一个标准的方法使用Internet上各种不同操作环境中的分布式对象

③、JAX-WS规范是一组XML web services的JAVA API,JAX-WS允许开发者可以选择RPC-oriented或者message-oriented 来实现自己的web services。

在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP,在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码。JAX-WS的运行时实现会将这些API的调用转换成为对应的SOAP消息。在服务器端,用户只需要通过Java语言定义远程调用所需要实现的接口SEI(service endpoint interface),并提供相关的实现,通过调用JAX-WS的服务发布接口就可以将其发布为WebService接口。在客户端,用户可以通过JAX-WS的API创建一个代理(用本地对象来替代远程的服务)来实现对于远程服务器端的调用。当然 JAX-WS 也提供了一组针对底层消息进行操作的API调用,你可以通过Dispatch 直接使用SOAP消息或XML消息发送请求或者使用Provider处理SOAP或XML消息。

通过web service所提供的互操作环境,我们可以用JAX-WS轻松实现JAVA平台与其他编程环境(.net等)的互操作。

三、

原文地址:https://www.cnblogs.com/fkeyta/p/8907364.html

时间: 2024-10-16 04:40:47

Web服务框架发展与REST服务开发的相关文章

基于.NET CORE微服务框架 -谈谈surging的服务容错降级

一.前言 对于不久开源的surging受到不少.net同学的青睐,也受到.net core学习小组的关注,邀请加入.NET China Foundation以方便国内.net core开源项目的推广,我果断接受邀请加入了队伍进行互相交流学习,最近也更新了surging新的版本 更新内容: 1. Castle.Core 兼容性问题,下一版本会去除,解决部分用户第一次编译VS卡死问题2. 增加容错降级3. 路由容错重构,针对于失败重试和失败没有重试,失败回调,4.增加部分功能单元测试5. 升级支持.

分布式服务框架选型:面对Dubbo,阿里巴巴为什么选择了HSF?

转载:http://www.sohu.com/a/141490021_268033 阿里巴巴集团内部使用的分布式服务框架 HSF(High Speed Framework,也有人戏称"好舒服")已经被很多技术爱好者所熟知,目前已经支撑着近 2000 多个应用的运行. 其对应早期的开源项目 Dubbo(因为某些原因,Dubbo 项目在 2012 年年底,阿里巴巴就停止了对此开源项目的更新),则更是在互联网领域有着非常高的知名度和广泛的使用. 本文通过对阿里巴巴 HSF 服务框架的介绍,让

【干货】手动搭建一套可自动化构建的微服务框架

如何阅读 本文篇幅较长,我花了两天的时间完成,大约需要半小时阅读. 本文分为理论篇和实践篇,由于代码在手机端展示并不理想,建议大家收藏之后在PC端阅读.实践篇边动手边阅读更有助于理解. 在阅读的同时,也麻烦各位大佬多多分享! 本文你将学到什么? 本文将以原理+实战的方式,首先对"微服务"相关的概念进行知识点扫盲,然后开始手把手教你搭建这一整套的微服务系统. 这套微服务框架能干啥? 这套系统搭建完之后,那可就厉害了: 微服务架构你的整个应用程序将会被拆分成一个个功能独立的子系统,独立运行

用Asp.net写自己的服务框架

阅读目录 开始 理解Asp.net管线 HttpHandler HttpModule 关于Content-Encoding的解释 选 HttpHandler 还是 HttpModule ? 看不见的性能问题 更多实战介绍 实战演示 - 模拟更多的HttpMethod 实战演示 - URL重写 实战演示 - URL路由 实现自己的服务框架 利用[我的服务框架]将类公开成服务 [我的服务框架]支持的序列化的种类 [我的服务框架]对gzip的支持 利用[我的服务框架]发布服务的5种方式 我对发布服务的

分布式服务框架的热挂载以及多版本共存的简析与实现

现行的网络服务要想做大做好必须朝着分布式服务的方向去发展,比如阿里巴巴.京东这种大型的电子商务网站平台都采用了具有各自特色的分布式服务框架.分布式服务框架就是将各种服务挂载在不同的服务器上,然后进行整体的调度管理对外提供网络服务. 本博文主要讲解分布式服务的热挂载以及多版本服务共存的原理和实现,热挂载顾名思义就是在不停止框架服务进程的情况下挂载服务. 首先要实现服务的热挂载无非就是两种方式,一种是需要部署服务时候的手动操作,以及服务框架的主动监测.在这里讲解更加智能化的框架主动监测以及实现. 要

【GoLang】go 微服务框架 && Web框架学习资料

参考资料: 通过beego快速创建一个Restful风格API项目及API文档自动化:  http://www.cnblogs.com/huligong1234/p/4707282.html Go 语言构建 RESTful Web 服务:  https://www.oschina.net/translate/hardcore-google-communicating-go Golang中使用 JWT认证来 保障Restful JSON API的安全(英文):   http://www.tuico

Azure Stack技术深入浅出系列5:在Azure Stack上使用Web App PaaS服务及其背后原理窥探(开发案例)

App Service 是微软Azure的PaaS产品. 为任何平台或设备创建Web App PaaS服务和mobile App PaaS服务. 将应用与SaaS解决方案集成.与本地应用程序进行连接,以实现业务流程的自动化.在我们日常开发中,经常会使用Web App PaaS服务来承载企业的业务. 本文试图通过一个案例来分别详细说明Azure Web App业务的下列几大特点: 应用服务计划 多种语言和框架 持续集成和部署 连接数据库服务 可用性全局缩放 就在本文撰写过程中,Azure Stac

002 web基础之手动实现简易web服务框架

目录 一.软件开发架构 二.实现一个简单的web服务 2.1 S端修正版本 2.2 S端将html标签返回 2.3 浏览器携带参数访问S端时的处理 2.4 S端返回html页面给浏览器 2.5 减少代码冗余的server端 三.基于wsgrief模块实现简易web服务框架 3.1 通过后端获取当前时间展示到前端 3.2 后端通过获取数据库的信息,展示到前端页面 一.软件开发架构 C/S 客户端 服务端 B/S 浏览器和服务端 注意:B/S 的本质也是C/S架构 二.实现一个简单的web服务 我们

开源|ns4_frame分布式服务框架开发指南

导语:宜信于2019年3月29日正式开源nextsystem4(以下简称"NS4")系列模块.此次开源的NS4系列模块是围绕当前支付系统笨重.代码耦合度高.维护成本高而产生的分布式业务系统解决方案.NS4系列框架允许创建复杂的流程/业务流,对于业务服务节点的实现可串联,可分布式.其精简.轻量,实现了"脱容器"(不依赖tomcat.jetty等容器)独立运行.NS4系列框架的设计理念是将业务和逻辑进行分离,开发人员只需通过简单的配置和业务实现就可以实现逻辑复杂.性能高