RESTFul已发布 连接Java和.NET的桥梁

开发
在这里我们将介绍Restlet开源项目(面向Java的轻量级REST框架)的新版本,这一框架是连接Java和.NET的桥梁。
Restlet开源项目(面向Java的轻量级REST框架)主要是沟通连接Java和.NET的桥梁,以方便Java开发者轻松使用ADO.NET Data Services。

近日位于法国的咨询服务公司Noelios Technologies发布了Restlet开源项目(面向Java的轻量级REST框架)的新版本,该版本包含了针对ADO.NET Data Services的Restlet扩展。此举是微软和Noelios Technologies协作的成果,这样Java开发者就可以轻松使用ADO.NET Data Services了。

通过ADO.NET Data Services框架,我们可以创建RESTful服务以及使用这些服务的客户端。根据MSDN所述:

ADO.NET Data Services框架包含了很多模式与程序库,以此创建并使用Web上的数据服务。该框架的目标是简化数据服务的创建,使用户能够轻松创建与Web集成良好、灵活的数据服务。因此,ADO.NET Data Services使用URI指向数据片段并通过简单、众所周知的格式来代表数据,比如JSON和ATOM(基于XML的feed格式)。
微软技术布道者Jean-Christophe Cimetiere撰写了一篇文章对ADO.NET Data Services(此前叫做“Project Astoria”)进行了详尽的介绍,并说明了该框架可以通过RESTful服务公开关系及非关系数据的原因。

为了让系统能够理解并利用数据上的语义,ADO.NET Data Services使用Entity Data Model(EDM,一种实体关系衍生物)并通过数据服务来对数据进行建模。这样就会以“实体类型”实例或“实体”的形式来组织数据并管理实体之间的关联关系。

对于关系数据来说,ADO.NET Data Services可以暴露由ADO.NET Entity Framework所创建的EDM模型。对于其他数据源(比如非关系数据)或是其他的数据库访问技术(比如LINQ to SQL)来说,ADO.NET Data Services又提供了一种机制将这些数据源建模为实体和关系(比如通过EDM schema描述)并将其暴露为数据服务。
大家可以通过此链接深入了解ADO.NET Data Services。

根据Restlet站点所述,Restlet是一个辅助开发RESTful客户端与服务端应用的框架。Restlet框架包含了一个Restlet API,该API提供了一套核心契约集来注册Restlet实现。这些实现可以是开源项目,也可以是商业产品。Cimetriere说到:

ADO.NET Data Services的Restlet扩展提供了一个高层次的client API来扩展Restlet框架的核心功能:可以访问位于ASP.NET服务器或是Windows Azure云计算平台上的远程数据服务。

Java开发者可以通过扩展的代码生成器创建符合ADO.NET Data Services所暴露的数据实体的Java类。之后Java应用就可以通过一个简单的方法调用访问这些数据了。Restlet引擎和扩展的运行时组件会负责Java客户端应用与ADO.NET Data Services之间的通信。
下面的组件图描绘了整体的架构(来源)。

框架图

由微软领导的其他Java互操作技术还有Apache Stonehenge(跨平台的SOA/Web服务互操作)和Azure .NET Services SDK for Java。大家可以通过www.interoperabilitybridges.com/projects/tag/Java.aspx了解更多关于Java-.NET互操作的信息。

【编辑推荐】

  1. .NET服务新版本计划十月发布 RESTful服务将增强
  2. Novell发布***个商业Mono产品MonoTouch
  3. 浅析提高.NET垃圾回收性能的几种方法
  4. 讲解Nhibernate与代码生成
  5. NHibernate2.1新特性之Tuplizers
责任编辑:彭凡 来源: InfoQ
相关推荐

2011-09-29 09:29:35

Java

2024-06-27 10:48:48

2010-03-26 11:09:52

GAE SDK

2009-09-29 09:24:54

.NET服务RESTful服务

2012-09-20 15:54:46

LinuxWindows服务器

2012-05-18 14:45:29

Fedora 17

2015-06-29 10:10:41

WebViewOCJavaScript

2012-09-20 09:17:18

LinuxWindows

2009-04-05 09:33:50

Chrome浏览器Google

2009-07-19 14:22:51

UbuntuLinux开源操作系统

2009-03-10 09:05:10

OSBF云平台ISB

2018-12-12 11:30:54

JavaString字符串

2016-06-29 10:42:42

云计算混合云

2009-02-04 09:31:30

SocketNetworkStreTcpClient

2024-07-26 21:55:39

RustRESTfulAPI

2009-01-13 10:13:05

Ja.NETJava整合.NET整合

2009-10-20 11:03:18

Spring 3.0

2009-07-28 18:00:11

ASP.NET程序

2011-02-13 13:04:56

Debian 6.0Squeeze

2023-06-14 16:27:05

点赞
收藏

51CTO技术栈公众号