本文英文版发在:
http://www.theserverside.com/discussions/thread.tss?thread_id=43148
在公开回答 (
http://www.webofweb.net/manifesto/AppletAgainstAJAX.html) 为什么 WoW 当初选了Applet而不是AJAX的问题时, 我开始思考当前大规模软件组件相互集成的问题, 有了一些新想法.
概括来说, 我发现通常的 API(应用编程接口) 都是单一层次的, 即使是SOA中的服务定义也是. 描述为"单一层次"是因为它们是一个设计来被调用的一些 method/function 列表. 但是现在的软件组件其本身逻辑和调用它们的逻辑都复杂了很多, 而且相当一部分是 "多维" 的 - 结构化的对象和结构化的逻辑. 如此一来, 把多维的逻辑 压缩/抽象 成为单层的公开接口的必需工作量增长很快. 有些情况下, 这些抽象过程和为组合API设计规范的工作甚至有可能超过去理解和解决本来问题的成本.
所以我开始质疑这种通过公开接口来定义组件行为的方式, 还是这样最好? 别无他法? 我把这种方式叫做 基于调用的接合方式 (Invocation Based Interfacing), 这种方式下你都是通过调用去改变一个组件的状态或者获取它的结果.
然后我总结出一个截然不同的方式, 我称之为 基于东道的接合方式 (Hosting Based Interfacing). 在这种方式下 所谓的 特遣专员 被传递于软件组件之间, 各自完成预定的任务. 这样所带来的改变是软件组件不再需要定义公开的, 用来被反复调用/返回的 接口(服务), 而是公开它们的内部环境 (可能只需要把它们的部分内部逻辑直接公开出来, 无需再封装). 向接收到的 "特遣专员" 提供这样的环境以尽 "东道". 然后各种 "特遣专员" 就可以通过目标组件所提供的环境来完成自己的工作, 如果需要的话也可以构造新的 "特遣专员" 发送结果回去.
原始的想法已经在我设计 WoW 的 Traverser/Scener Architecture (
http://www.webofweb.net/webstart?r=412) 时体现出来, 不过现在感觉看得更清晰一些了.
不知道大家怎么想这个问题.
分享到:
相关推荐
- **提高系统灵活性与可扩展性**:SOA设计模式能够帮助开发者更好地理解和解决SOA开发过程中遇到的问题,从而提高系统的灵活性与可扩展性。 - **优化服务交互方式**:通过合理的模式选择和服务设计,可以有效优化...
### ESB和SOA介绍与比较 #### 一、SOA与ESB概念解析 **SOA(面向服务的架构)**是一种...通过合理的规划和实施,SOA与ESB可以显著提升企业的IT系统集成能力和业务响应速度,从而更好地支持企业的战略目标和发展需求。
通过遵循这些模式,开发人员可以更好地设计出符合SOA原则的服务,同时也能确保服务能够在不断变化的需求下稳定地演进。 #### 三、Façade服务模式 ##### 3.1 Façade服务概念 Façade服务模式是SOA设计模式中的一...
例如,书中可能会介绍一个金融服务公司的案例,该公司利用SOA来整合其内部的多个系统和服务,实现了更高效的数据共享和业务流程自动化。在这个过程中,XML、Web服务、ESB和BPEL等技术发挥了重要作用。 #### 六、...
这一架构模式的显著优势包括灵活性高、重用性强、实现成本低以及接口实现标准化等,使得应用开发平台能够更好地响应企业需求的变化,加速业务流程的迭代与优化。 #### 国内SOA应用平台的现状与挑战 随着中国企业在...
Oracle的SOA参考架构同样是一个综合性的框架,它侧重于为企业提供一个统一的SOA平台。虽然部分内容没有给出Oracle的具体细节,但可以推测其特点如下: - **集成性**:Oracle的SOA架构可能也强调了不同技术和服务...
### 大规模SOA系统中的分布式事务处理 #### 山穷水尽:背景与历史 ...尽管如此,分布式事务处理仍然是一个充满挑战的领域,未来还需要不断探索新的解决方案和技术手段,以适应不断发展的业务需求和技术环境。
为了更好地理解基于SOA的流程集成模型的实际应用,以下是一个跨企业采购流程的例子: 假设A公司需要从B公司采购原材料。在这个过程中,涉及到订单创建、询价、报价接收、订单确认等多个步骤。采用BPMM4WS模型,可以...
通过SOA,企业可以更好地应对市场变化,提高竞争力。 #### 知识点详解 **1. SOA的概念与价值** - **SOA定义**:SOA是一种设计思路,它将应用程序的不同功能单元(称为服务)通过服务提供者和服务消费者之间清晰的...
### Oracle SOA 最佳解决途径 #### 一、Oracle SOA 方法论背景 根据文档标题“ORACLE SOA最佳解决...此外,通过SOA成熟度评估,企业可以更好地了解自己的现状并制定相应的改进策略,最终实现SOA项目的可持续发展。
### SOA与EAI概述 在信息技术领域,随着企业需求的不断增长,系统集成变得越来越重要。本篇文章将深入探讨服务导向架构...未来的研究应该继续探索如何更好地利用这些技术来提高系统的可扩展性、灵活性和可维护性。
根据提供的标题、描述、标签及部分内容,我们可以推断出这份文档主要关注的是服务导向架构(SOA)与Web服务的基础知识...通过对这些知识点的学习,开发者可以更好地理解和应用这些技术,提高系统的可维护性和可扩展性。
它提供了一个强大的平台,能够帮助企业构建、部署和管理SOA环境下的服务。该产品具有以下几个关键特性: 1. **不可或缺的易管理性**:BEA AquaLogic Service Bus 配备了一套全面的管理工具,帮助管理员监控服务的...
所谓“信息孤岛”,指的是在一个单位内部或多个单位之间,由于种种原因导致的信息系统彼此孤立,无法实现有效、顺畅的信息交互与共享。这种现象限制了组织整体效率的提升,增加了系统的复杂性和维护成本。 针对这一...
### 知识点一:SOA的理解与定义 **服务导向架构(Service-Oriented Architecture,简称...通过明确的业务焦点、强大的业务架构支撑以及有效的性能监控机制,SOA能够帮助企业更好地应对不断变化的市场需求和技术挑战。
本书旨在为企业提供一个全面的路线图,指导如何通过利用面向服务架构(Service-Oriented Architecture,简称SOA)的原则来降低运营成本和风险,提高业务效率和灵活性,使企业摆脱技术变化的不确定性。 ### SOA在...