BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

CRISPY,一个新的远程框架

| 作者 Boris Lublinsky 关注 0 他的粉丝 ,译者 黄璜 关注 0 他的粉丝 发布于 2009年6月9日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

在名为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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

没人维护? by Yang Bob

项目的最后更新日期是2006/11月,难道没有人维护了?

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT