[SOA]SOA新一代语言Einstein

Einstein是一门针对分布式SOA复杂环境而设计的语言,它建立在以下主要原则基础之上:
* 分布式:Einstein被设计成允许(潜在的)每条指令可以在彼此分离的机器上执行。接下来由用户决定代码中实际期望的分布式和并发性的程度。
* 事件驱动:Einstein是一门基于流程的编程语言,各条指令通过消息进行通信。
* 并发性友好:在创建时,Einstein就考虑支持并发性;它使用一组经过验证的避免共享状态的技术(消息传递、只读元组等),具备运行时感知的线程安全性。
* 适当的复杂性:Einstein采用了一些包括资源和模型在内的简单技术来减少实现分布式系统的复杂性。
* 代替各种技术:Einstein 意在解决过去用来进行多系统集成的技术过多问题。目前,在构建一个资源交叉(cross-resource)系统时,我们常常依赖ESB、网格技术、分布式状态系统、协调技术(如BPEL)和工作流等技术。Einstein被设计成一种代替所有这些技术的工具。
Einstein的语言基于以下概念:
* 资源,与变量极为相似,但是一般是粗粒度的。资源使用URI来访问。资源可被描述成不稳定(可安全用于多线程访问)、局部(不打算用于多节点访问或串行化)和幂等(接收一条消息多次的效果和只接受其一次的效果相同)。
* 提供者,为任何资源接收、传送、执行、查询、路由或以某种方式处理消息提供了一致接口。一个提供者可被分成3个组件:ResourceProvider(扮演一个资源工厂),Resource(实现)和Facades(一个资源为其所提供功能暴露的简单粗粒度接口视图)。提供者被自动加载进Einstein注册中心,中心包含了与所有可用资源和提供者相关的信息。
* 消息是Einstein资源间交换数据的主要机制。一条消息的有效负荷包括一个数据对象而非一个语言对象,它允许多种数据格式(如XML、对象图、CSV文件等)与Einstein进行交互。
* 执行组,包括流程执行组(顺序执行、类似编配语言中的sequence)、元组执行组(并行执行,类似编配语言中的fork/join)、组合执行组(与元组类似,但是至少有一个分支结束时即结束)和映射执行组(以上组的结合)。
http://einstein.codecauldron.org/tw/tiki-index.php?page=DownloadPage

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏