结合Dojo和JAX-RS创建RESTful服务

在客户端和服务器端的简易实现

最新版本的 IBM WebSphere Application Server Feature Pack for Web 2.0,为您创建 Ajax 样式架构提供一个端到端的解决方案。在客户端,功能部件包提供开源 Dojo JavaScript 工具箱。在最新版的功能部件包中 JAX-RS (基于 Apache Wink 项目)提供服务器端库,可用来实现连接 Dojo 的 RESTful 服务。

除了广泛的用户界面小部件外,Dojo 还提供了丰富的数据服务 API,可轻松地连接服务器端 Web 服务。Dojo 数据 API 从显示用户界面的小部件中抽象出惟一数据格式概念。Dojo 数据提供基本数据存储用来读取 JSON 数据,还有一些其他的格式,例如 XMLStore、CsvStore 等等。如果您使用 Dojo 的树型小部件,那么您就可以选择您想要使用的数据存储,并且数据存储负责树型小部件数据处理服务。

Dojo 的数据存储很容易连接到 RESTful 服务,RESTful 服务中引入 JAX-RS。JAX-RS 的 Apache Wink 实现使创建您自己定制的 Web 服务变得很容易。因此如果您想,也就是说使用 Dojo 的树型小部件来描述文件系统的表示形式,那您需要实现协议 Dojo 用法来描述文件系统的表示形式。Dojo 为您提供客户端服务时,您也需要写入服务器端实现中。JAX-RS 有助于服务器实现变得简单易懂。

一个示例

让我们用一个示例来说明。图 1 展示了客户端和服务器端的交互。在这个例子中,您可以以目录格式显示初始 FIFA World Cup Soccer 球队。您可以在服务器端采用目录结构,在客户端创建一个树型表示。在左边,diji.Tree 是用来显示包含在服务器中的目录信息的 Dojo UI 小部件。Dijit.Tree 依赖 dijt.tree.ForestStoreModel 和 dojox.data.FileStore。dijit.tree.ForestStoreModel 是从 dojox.data.FileStore 返回的数据之间的一个映射层。ForestStoreModel 负责创建一个含有目录清单虚拟根节点的 “Files”,并负责将所有内容放入根节点下。dojox.data.FileStore 负责打开服务器端的采用 JAX-RS 实现的 RESTful 服务连接。

服务器端运行一个 RESTful 服务,实现 rest/filestore/filelist 请求。JAX-RS 服务从 dojox.data.FilesStore 读取 HTTP GET 请求并将数据以 JSON 格式返回 dojo.data.FileStore。数据返回的格式是 JSON,dojox.data.FileStore 支持此格式。

图 1. 服务器端和客户端的 RESTful 交互

时间: 2024-11-03 18:28:14

结合Dojo和JAX-RS创建RESTful服务的相关文章

使用CodeIgniter 创建 RESTful 服务 REST API

介绍 在现在这个时代,你很容易把例如blog,CMS等等的服务整合到自己的网站里面.有一件事你也许没想过就是利用CodeIgniter去创建API接口.尝试几个RESTful服务的实现方法后,我发现过程非常麻烦,而且缺少你所期望的一些RESTful的功能.所以我自己建了一个,这个教程将告诉你怎样去利用这些代码创建属于自己的REST API,而且我将举些例子告诉你如何与自己搭建的API进行交互.   假设 ■你有自己的web 服务器,可以是本地localhost的,也可以是线上的,而且你知道如何去

用Java技术创建RESTful Web服务

简介:JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范.它能提供对传 统的基于 SOAP 的 Web 服务的一种可行替代. 在本文中,了解 JAX-RS 的主要组件.本文用一个例子展示了一个企业如何使用 JAX-RS 内的功能以 一种 Restful 的方式公开员工的联系信息. 背景 多年来,开发人员使用各种工具在其 Java 应用程序内创建 RESTful 服务.由于 REST 架构的简单性,主要需求 - 接收 HTTP 消息和 头部的能

使用Java创建RESTful Web Service(转)

REST是REpresentational State Transfer的缩写(一般中文翻译为表述性状态转移).2000年Roy Fielding博士在他的博士论文"Architectural Styles and the Design of Network-based Software Architectures"<体系结构与基于网络的软件架构设计>中提出了REST. REST是一种体系结构.而HTTP是一种包含了REST架构属性的协议. REST基础概念 在REST中所

用Jersey构建RESTful服务5--Jersey+MySQL5.6+Hibernate4.3

一.总体说明 本例运行演示了用Jersey构建RESTful服务中,如何同过Hibernate将数据持久化进MySQL的过程 二.环境 1.上文的项目RestDemo 2.MySQL5.6下载http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16-win32.zip 3.Hibernate4.3.4下载http://sourceforge.net/projects/hibernate/files/hibernate4/4.3.4.Fin

用Jersey构建RESTful服务4--通过jersey-client客户端调用Jersey的Web服务模拟CURD

一.总体说明 通过jersey-client接口,创建客户端程序,来调用Jersey实现的RESTful服务,实现增.删.改.查等操作. 服务端主要是通过内存的方式,来模拟用户的增加.删除.修改.查询等操作. 二.创建服务端 1.在上文项目中, 在"com.waylau.rest.resources.UserResource"中修改代码, 首先创建一个HashMap,用来保存添加的用户 private static Map<String,User> userMap = ne

用Jersey构建RESTful服务7--Jersey+SQLServer+Hibernate4.3+Spring3.2

一.总体说明 本例运行演示了用 Jersey 构建 RESTful 服务中,如何集成 Spring3 二.环境 1.上文的项目RestDemo 2.Spring及其他相关的jar ,导入项目 三.配置 1.根目录下下创建 Spring 的配置文件applicationContext.xml: 配置如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spri

weblogic 10.x 上开发restful服务

之前已经学习过 利用JAX-RS快速开发RESTful 服务,当时是jboss环境,如果原封不动的迁移到weblogic 10.x 版本,会杯具的发现应用启动失败,需要做些小调整: 项目结构如下: 需要在原来的Rest Service(本文中是MyService.java)外,再包装一层,创建一个Application的子类,本例中是 MyApplication.java,代码如下: 1 package yjmyzz.service; 2 3 import java.util.HashSet;

使用Mule ESB与Groovy编排RESTful服务

在过去几年中,REST风格的软件架构获得了越来越多的认可,这主要是因为它减少了系统对动件的需求.同时使系统耦合性更低,弹性更好. 目前越来越多的REST资源出现在企业应用中,因此对这些资源进行编排就显得非常重要了.比方说,典型的业务活动就包含了资源的创建,然后是资源的查找及其他资源的创建等. 本质上来说,与RESTful服务的交互是相当简单的:需要构造并发送适当的请求(请求头和请求体),然后分析返回的响应(响应头和响应体).完成这个处理并不需要什么特别的工具或是框架,只要有一个好用的HTTP客户

用Jersey构建RESTful服务9--Jersey+SQLServer+Hibernate4.3+Spring3.2+AngularJS

一.总体说明 本例运行演示了用 Jersey 构建 RESTful 服务中,如何集成 angular,用MVC分层的方式访问 RESTful 服务. 二.环境 1.上上文的项目 Demo7) 2.angular 库 ,本例为1.2.3 版本 3.样式 bootstrap-3.1.1.min.js 三.配置 1.完成项目结构  创建相应的目录结构 angularjs .bootstrap 的js,css文件放别放入相应的目录, 在js目录下再创建 app.js .controller.js 在pa