【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

连接 Java 和.NET 的 RESTFul Bridge 发布了

  • 2009-10-13
  • 本文字数:1189 字

    阅读完需:约 4 分钟

近日位于法国的咨询服务公司 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 互操作的信息。

查看英文原文: RESTFul Bridge Between Java And .NET Released

2009-10-13 20:241563
用户头像

发布了 88 篇内容, 共 258.5 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

2022年1月视频行业用户洞察:假期影响下活跃用户开始回升

易观分析

移动视频 视频app

虎符Hoo研究院:Cosmos是如何实现链与链的“港口”相连的?

区块链前沿News

Hoo 虎符交易所 虎符研究院 Cosmos

浅谈 AI 物联网基础常识 | 社区征文

liuzhen007

AI 新春征文 2月月更

再谈 AI 及未来的趋势 | 社区征文

宇宙之一粟

AI 新春征文 2月月更

记录一些Oracle操作命令

wong

oracle

会声会影2022美颜功能介绍 教你玩转视频美颜

懒得勤快

网络安全kali渗透学习 web渗透入门 如何进行NESSUS漏洞检测

学神来啦

迁移学习综述与未来展望 | 社区征文

战场小包

人工智能 迁移学习 新春征文 2月月更

当前主流视频编码技术浅析| 社区征文

王强

视频编解码 新春征文

你知道MySQL InnoDB 的内存组件有哪些吗?

程序猿阿星

MySQL MySQL InnoDB Buffer Pool

扔掉 Electron,拥抱基于 Rust 开发的 Tauri

百瓶技术

rust 前端 框架开发 tauri

IDP深度 | 企业到底需要何种数据分析挖掘工具?

Baihai IDP

人工智能 数据挖掘 商业智能

晟盾科技加入龙蜥社区,共建开源新生态

OpenAnolis小助手

Linux 开源

浪潮国资云:国资为引,助力国企上云用数赋智

浪潮云

云计算运维

从冬奥看中国科技(六):千里光伏初长成

脑极体

Bloom Filter 优化- CrimsonDB系列论文(一)

Emc

存储 LSM-Tree

【漏洞分析】反序列化漏洞

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

netty系列之:EventExecutor,EventExecutorGroup和netty中的实现

程序那些事

Java Netty 程序那些事 2月月更

学生管理系统模块4作业

刘洋

#架构实战营 「架构实战营」

模块 8 作业

miliving

基于CC2530(ZigBee设计)的温度报警器

DS小龙哥

2月月更

Spring Boot AOP 扫盲,实现接口访问的统一日志记录

沉默王二

Java

【架构训练营-模块三】

默光

架构训练营5期

AI安全技术总结与展望| 社区征文

herosunly

人工智能 新春征文 2月月更

网络损伤工具大乱斗

声网

Dev for Dev 网络损伤 网络仿真 网络与传输

提权方式及原理简介(面试)

喀拉峻

黑客

面试突击24:为什么wait和notify必须放在synchronized中?

王磊

面试 java面试

如何理解用户的行为?

石云升

产品经理 用户研究 用户模型 2月月更

系统学习 TypeScript(一)——认识 TypeScript

编程三昧

typescript

医疗保健行业如何从区块链中受益?

CECBC

安卓隐私沙箱来了!Android Privacy Sandbox简介

XCG00

android

连接Java和.NET的RESTFul Bridge发布了_Java_Dilip Krishnan_InfoQ精选文章