- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于我们正处于将我们的应用程序恢复到 SOA 设计的开始阶段,我有一些问题无法得到明确的答案/图片。
我一直在阅读大量书籍,主要是 Thomas Erl 的书籍,并遵循理解什么是任务服务、实体服务和实用程序服务的设计模式。
我遇到的问题是整个 DAL 概念的外观。所以这更像是一种理解的验证或澄清,以帮助为我们的平台制定最佳方法。
所以背景。我们目前有几个基于 Web 的电子商务应用程序,它们几乎是在孤岛中构建的,并且又几乎是彼此的副本。我们有支持应用程序,例如守护进程和杂项网络服务。这些应用程序中的许多应用程序都超过 5 年,并且仅基于技术(模型 1)构建。我们所有的应用程序都以进行拍卖为中心。因此,在促销 Activity 期间,我们将接受用户的出价,确定谁中标并返回该信息。每个销售 Activity 都有一定的时间可供用户使用。
公司正在转向 SOA 解决方案,因为我们最终做的很多事情不仅可以在我们的团队之间共享,而且可以在其他团队之间共享。
所以我对 DAL 的理解是,它本身是一个位于数据之上的服务,在这种情况下是不同的数据库——MSSQL、ORACLE、MSSQL。这些数据库中的每一个都有不同的模式(Oracle)等。
因此服务(任务、实体、实用程序和表示层,如果需要)将调用 DAL 以检索数据。 DAL 有责任根据消息的内容来确定它需要做什么才能满足请求。
例如,我们有一名安全服务候选人。此服务需要使用 LDAP 进行身份验证,并根据为该给定应用程序存储的数据进行授权。
这里的想法是,将创建一个实用程序服务来包装与 LDAP 通信所需的所有操作,并且安全服务将调用实用程序服务和 DAL 以获取授权数据。然后 DAL 有责任转到正确的数据库/模式来检索信息。信息将采用 XML 格式(标准 SOA 通信)。
那么,我走在正确的轨道上了吗?其他人有没有做过类似的事情?我还需要考虑哪些其他事项(目前正在获取我们在一小时内平均出价的统计数据)。
每个服务是否应该有自己的 DAL - 例如,安全服务是否应该将 DAL 作为服务的一部分,或者 DAL 是否应该是所有服务都可以使用的共享服务?
最佳答案
在您的情况下,用于完全基于 SOA 的部署的方法是使用 ESB、身份提供者和数据服务解决方案。
分解一下,DAL 应该使用数据服务来实现,这样,该服务将以语言中立的方式成为全局可访问的服务,并将支持重用和松散耦合。因此,您所有的数据访问逻辑都可以作为数据服务中的 Web 服务操作来实现。
所以对于身份验证和授权管理,在SOA 世界中,有一个标准叫做XACML。 ,用于细粒度的授权管理。因此,您需要的是一个 XACML 服务器,它会根据特定标准授权用户,其中还应该能够使用 LDAP 进行身份验证。
然后您的“安全服务”将在 ESB 的服务中实现,该服务将查询身份提供者以进行身份验证/授权,并根据其响应调用数据服务中的适当操作,并使用适当的参数获取数据,并将其返回给用户。
以上场景可以分别使用WSO2 Data Services Server、WSO2 Identity Server和WSO2 ESB实现,均为开源产品,可以自由使用和查找here .
关于java - 在 SOA 设计中使用数据访问层 (DAL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7177199/
我经常听到非技术客户或项目经理把面向服务的体系结构 (SOA) 作为一个流行词四处流传,几乎不关心或不了解它的实际含义(例如:“我可以购买 SOA 吗?”)。还有很多关于 SOA 的错误信息(例如:“
一些 SOA 基础是: 松耦合 可重用性 无状态服务 服务之间的正式契约(Contract) 粗粒度 异步 抽象底层逻辑(黑盒) 可组合(作为构建块的服务) 可发现服务 自治服务 它们中的大多数都可以
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 去年关闭。 Improve th
我是一名学生,我有一篇名为“网格计算”的学期论文和另一篇名为“SOA”的论文。 作为实验室练习的一部分,我创建了基于 SOA 的 Web 服务。但似乎网格计算处理相同的基于 WSDL 的服务。我实际上
它们有许多共同的特征。但是有什么区别呢? MOM 允许异步,而 SOA 不允许,这是唯一的区别吗? 最佳答案 SOA,即面向服务的体系结构,是一种体系结构,它定义了如何在不同应用程序之间构建对业务信息
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
所以我今天的开放式潜在主观问题是; 如果您有机会在今天的 Microsoft 技术上构建 SOA;你会从下面的选项中选择什么? WCF、WF + AppFabric BizTalk + ESB 工具包
Web 服务是一种面向服务的架构实现。 但是,我们能说 CORBA、RMI 和 Java EE 平台也是 SOA 的实现吗? 最佳答案 如果您说 SOA 意味着 WS-* 标准,那么答案是否定的。 但
我对这些 Web 服务术语 SOA、ESB 感到困惑。 任何人请解释。 最佳答案 SOA 是一种架构方法,您可以在其中以粗粒度的方式公开和封装“服务”。它没有规定任何技术机制或实现。 SOA更多地与系
关闭。这个问题需要多问focused 。目前不接受答案。 已关闭10 年前。 已锁定。这个问题及其答案是locked因为这个问题是题外话,但却具有历史意义。目前不接受新的答案或互动。 有人可以用简单的
“服务代理”在 SOA 模型架构中的作用是什么? 最佳答案 服务代理旨在成为服务的注册表,并存储有关哪些服务可用以及谁可以使用它们的信息。例如,最初设想为 Web 服务注册中心的 UDDI 现在被视为
我在网上看过,但我对包装器服务是包装遗留应用程序还是一组复杂服务感到困惑。 更新:从我收到的答案来看,SOA 中没有公认的“包装服务”定义,经过进一步调查,我意识到“包装服务”取决于定义它的人。我的意
我对 SOA 中编排的含义感到困惑,我阅读了很多定义但没有明白这个想法,你能帮我吗? 最佳答案 有两种主要方法可以从更大的类(class)粒度服务、编排和编排中执行所有必要的细粒度服务。 对于管弦乐队
我一直在研究异步消息传递,我喜欢它优雅地处理某些领域中的一些问题的方式,以及它如何使领域概念更加明确。但对于一般的领域驱动开发(至少在服务/应用程序/ Controller 层)来说,它是一种可行的模
我创建了一个名为 QM_MQ_TEST 的队列管理器 crtmqm QM_MQ_TEST strmqm QM_MQ_TEST runmqsc QM_MQ_TEST DEFINE CHANNEL(QM
我在 Weblogic 10.3.6 中有一个包含 SOA 服务器的域。我刚刚使用 JDeveloper 部署了一个名为 soa_1 的 SOA 应用程序以及名为 HelloWorld 的 BPEL
任何机构都在他们的商店中使用 Talend SOA Suite。 如果我没记错的话,它与 Oracle SOA Suite 和 Service Bus 相比如何,因为这两个产品都实现了 EIP 模式?
我最近开始了一个副项目。它应该是一本虚拟食谱书,具有存储和检索食谱 (CRUD)、对它们进行评分和搜索的功能。这不是什么新鲜事,但我想将它构建为桌面应用程序,以了解有关数据库、单元测试、UI 等的更多
什么时候分布式事务在面向服务的架构中有意义? 最佳答案 分布式事务在 SOA 环境中经常使用。如果您有一个调用多个服务的复合服务,则底层服务调用应作为单个事务处理。业务流程应允许其步骤回滚。如果底层资
我正在阅读有关SOA原理和模式的信息,但我无法理解什么是不可知论的服务。您对此有任何直接的定义吗?概念和用法是什么? 最佳答案 可以在Agnostic/non-agnostic revisited中找
我是一名优秀的程序员,十分优秀!