写点什么

CRISPY,一个新的远程框架

2009 年 6 月 07 日

在名为 CRISPY Web 服务的新文章中,Sachin Mahajan 讨论了一个名为 CRISPY 的新框架 (Communication per Remote Invocation for different kinds of Services via ProxYs) - 一个远程调用 API,支持多种传输方式包括: RMI,EJB,JAX-RPC,REST,XML-RPC,direct Java invocation,等等。所有的调用都可以同步或异步执行。援引 CRISPY 项目网站的说法,CRISPY:

…的工作方式是使用属性一类配置一个服务管理器,它将被用于调用远程 API。CRISPY 是一个简洁的 Java 代码库,其 API 位于你的客户端代码和你的代码必须访问的服务两者之间。它提供了一层抽象,解耦了客户端代码与要访问的服务及其位置与底层实现。这一想法的特别之处在于,所有的这些调用都是简单的 Java 对象调用 (远程调用或本地调用是透明的)。

CRISPY 的主要优势是

  • …易于使用。
  • …最少的配置。
  • 你可以从 Java 对象调用远程方法,就像本地调用一样。
  • 你不需要知道,(远程) 技术是如何工作的。
  • 你可以容易地更改所用的技术 (比如从 XML-RPC 换到 RMI)。
  • 服务不需了解一个远程接口或一个远程异常 (RMI 是如何的)。
  • 其参数可以是一个复杂的对象 (不需要编写串行器 (数据编制) 或者反串行器 (数据编出) 的部分)。

CRISPY 同时还提供了对于拦截器以及 / 或修改器更好的调用控制。拦截器在方法调用的前后都可以使用,可被用于日志记录,时间安排,等等。修改器同样可用于方法调用的前后。它们可被用于转换 / 扩展 / 丰富调用参数,比如,加入安全头部,转换 / 扩展 / 丰富执行结果。

CRISPY 框架的主要组件包括:

  • 服务管理器-这是创建服务的工厂。
  • 属性-用于配置服务管理器。
  • 服务接口- 普通的 Java 类。
  • 代理 / 执行器-所有来自服务接口的调用都会委派给代理 / 执行器。

CRISPY 同时还可以与其它的流行框架相结合。一张关于现有已实现集成的框架的列表中包括了 SpringFramework,HiveMind(Jakarta),PicoContainer(codehaus),OSGi,AspectJ,等等。

TheServerSide.com 网站的讨论将 CRISPY 与 APache WSIF,Spring remoting 以及其它提供相同功能的框架进行了比较-对多种传输方式提供统一的调用模型。

在许多需要将客户端代码与调用协议和服务位置解耦的情况中,CRISPY 都能得到很好的应用。

查看英文原文: CRISPY, a New Remoting Framework

2009 年 6 月 07 日 23:201282
用户头像

发布了 133 篇内容, 共 26.9 次阅读, 收获喜欢 1 次。

关注

评论

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

JavaEE知识体系梳理

空城机

Java Java介绍 Java EE 大学作业

墨迹天气成长中心页用户路径分析(模拟)

🙈🙈🙈

极客大学产品经理训练营

一份百投百中的计算机校招简历是如何迭代足足26版的?

拓跋阿秀

c++ 字节跳动 计算机 简历 校招

第八章作业

流浪猫

『Python爬虫』Python实现刷B站、爱奇艺等视频网站播放量(Python教学文章)

风骨散人

Python 爬虫

『C++』我想学C++,C++太难了,那我想入门,给我10分钟我带你入门

风骨散人

作业 - 第九周

eva

能进BAT、TMD的C++学习过程大分享

拓跋阿秀

c++ 字节跳动 计算机 BATJMD

互联网HR黑话指南

硬核编程

华为与开发者的“情谊”,在HDC.Cloud 2021上书写智能时代新篇

脑极体

如何提高Flutter应用程序的性能

老孟Flutter

flutter

数据分析(第八章作业)

大小姐

【Axure9百例NO.46】中继器多条件判断的优雅处理

zhuchuanming

原型设计 Axure 交互原型

计算机组成原理--主存储器

风骨散人

操作系统--死锁避免(银行家算法)

风骨散人

银行家算法

ARTS-Week-0

绝影

ARTS 打卡计划 ARTS活动

图论--网络流最大流问题

风骨散人

如何判断自己是否适合当前公司?

石云升

离职 28天写作 职场经验 3月日更

6年时间,从实习生到阿里巴巴的P7,这就是我这个三本生的进阶之路

神奇小汤圆

Java 编程 程序员 架构 面试

Service Mesh是什么,为我们解决了什么问题?

xcbeyond

Service Mesh 服务网格 3月日更

『计算机组成原理』 计算机系统概述(考研、面试必备)

风骨散人

第八章作业 - 用户路径

Au revoir

[老孟Flutter] Stateful 组件的生命周期

老孟Flutter

flutter

软件工程是否可以指导小团队的建设

风翱

软件工程 3月日更

产品经理训练营 - 第八章作业

joelhy

产品经理训练营

产品 0 期 - 第九周作业

vipyinzhiwei

Flutter 中与平台相关的生命周期

老孟Flutter

flutter

Python救救我!如何连接串口实现一个报警灯报警器

ucsheep

Python websocket 串口 报警器 报警灯

再推荐一款小众且好用的 Python 爬虫库 - MechanicalSoup

星安果

Python 自动化 爬虫 MechanicalSoup 小众

双非渣硕的我是如何拿到字节跳动研发岗SP

拓跋阿秀

c++ 字节跳动 互联网 计算机 校园招聘

推荐几本 Go 相关书籍

roseduan

go 书籍推荐 Go Concurrency Patterns Go web 书籍

4月17日 HarmonyOS 开发者日·上海站

4月17日 HarmonyOS 开发者日·上海站

CRISPY,一个新的远程框架-InfoQ