SOA架构数据访问

2024-05-07

在我的 SOA 架构中,我有几个世界碳基金服务.
我的所有服务都需要访问数据库。

我应该创建一个专门的 WCF 服务来负责所有数据库访问吗?
或者,如果我的每个服务都有自己的数据库访问权限,可以吗?

在一个版本中,我在一项服务中只实例化了一个实体层,而所有其他服务取决于这项服务。
在另一层中,实体层是重复的在我的每一项服务中。

第一个版本的主要缺点是耦合引起.
其他版本的缺点是图层复制,也许 SOA 是不好的实践?

那么,Stack Overflow 的好心人怎么看呢?


只是我个人的观点,如果您为所有数据库访问创建一个服务,那么多个服务依赖于一个服务,这有点违背了 SOA 的要点(即服务是自治的),正如您所阐述的那样。当你谈到层重复时,如果每个服务都有自己的数据要处理,那么这真的是重复吗?我意识到您可能具有与关系数据库交互的相同方法,或者从 OOA 时代起您就有一个为您封装数据访问的公共类库。这是我自己挣扎的事情之一,但我认为每个服务都有自己的数据层没有问题。事实上,在(第 1 章 - 第 8 页)- 她实际上描述了这一点并添加了“服务封装业务组件和数据访问”。如果您注意到每个服务都有一个单独的 DALC 层。这是一个很好的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SOA架构数据访问 的相关文章

  • 自托管 WCF REST 服务和基本身份验证

    我创建了一个自托管的 WCF REST 服务 带有 WCF REST Starter Kit Preview 2 中的一些额外内容 这一切工作正常 我现在正在尝试向服务添加基本身份验证 但我在 WCF 堆栈中遇到了一些相当大的障碍 这阻止了
  • 模拟 WCF 客户端代理的最佳方法

    有没有办法使用 Rhino 模拟框架来模拟 WCF 客户端代理 以便我可以访问 Channel 属性 我正在尝试对 Proxy Close 方法进行单元测试 但由于代理是使用抽象基类构造的ClientBase
  • WCF 仅跟踪失败的请求?

    我想将跟踪信息保存到 svclog 文件中 但仅限于失败的请求 这可能吗 如果是这样 具体如何 我有一个每分钟调用数百次的 WCF 服务 在极少数情况下 客户端会收到错误 500 该错误发生在 WCF 内运行的代码边界之外 通常是安全问题
  • 异步WCF调用来保存线程?

    In 另一个问题 https stackoverflow com q 19731600 279516 建议我发送异步网络请求 而不是在后台线程上发送同步请求 原因是为了不浪费一根线 我试图理解这是怎么回事 这是最初的做法 我可以理解这里怎么
  • 如何将对象列表发送到 WCF 服务?

    我正在构建 WCF 服务 我想接受 List 作为我的方法之一的参数 这是我的代码 ServiceContract public interface IProductService OperationContract int InsertP
  • 如何增加 dot net core 2.1 项目中 WCF 服务的超时值

    我发布此内容是因为我无法在 Stack Overflow 上找到任何位置通过连接服务添加服务引用来解决利用 WCF 的 Net Core 项目的此问题 我的问题是 由于长时间运行的操作请求 我面临客户端超时 那么 由于 Net Core 不
  • 为什么处置/关闭 WCF 客户端代理很重要

    我听说即使在以下情况下也必须处置 或关闭 WCF 客户端代理 你没有使用会话 没有需要确定性清理的非托管资源 例如打开的套接字 例如 当使用具有默认绑定配置的 BasicHttpBinding 时 即使在流行的网页中也应该没问题 对吧 va
  • 根据拦截和返回值自动重试客户端WCF调用

    是否可以拦截 WCF 调用的结果并重试该操作 例如 操作的返回值可能包含状态代码 指示我传递到原始调用的会话令牌已过期 在这种情况下 我可以检索新的会话令牌并使用新的会话令牌重试调用 是否可以通过使用 WCF 拦截返回值 检查它 然后以对操
  • 使用 SOAP 调用 WCF 服务

    我正在尝试在不创建 WCF 客户端的情况下测试 WCF 服务 我有类似的代码 问题here https stackoverflow com a 1643025 1397017 我希望完全控制 SOAP 负载 因此我希望能够发出我自己的 We
  • 多个 WCF 服务实现相同的服务契约接口

    多个wcf服务是否可以实现同一个服务契约接口 我想要做的是允许测试服务与真实服务互换 并指定在配置文件中使用哪个服务 例如 ServiceContract public interface IUselessService Operation
  • WCF 客户端 - 如何处理或忽略 MustUnderstand 标头元素?

    我正在写一个WCF使用 WS Security 使用非 Net Web 服务的客户端 服务的响应包含一个 Security 标头 其中 MustUnderstand 设置为 true 使用 ServiceModelListener 我确实看
  • “服务 X 的应用程序端点为零”,除非我在代码中添加端点 - 为什么?

    我跟着这篇 MSDN 文章 http msdn microsoft com en us library ms733069 aspx完全创建托管在托管 NT 服务中的 WCF 服务 当我在服务控制台中单击 开始 时 我会在事件查看器中看到以下
  • 如何在没有 ServiceHost 类的情况下使用 WCF 创建简单的 Web 服务器?

    我已经开始学习 WCF 并希望通过直接使用通道堆栈创建一个简单的 Web 服务器来了解其内部结构 我在网络上找到了很多理论 但我希望看到一个接收和响应 httprequest 的工作示例代码 我可以使用任何浏览器进行测试 我希望能够通过组装
  • 在 WCF 中通过 net.pipe 运行多个服务

    我正在构建一个分布式应用程序 需要 6 种不同的服务 我必须使用 Visual Studio 2008 在我的 XP 笔记本电脑上演示该应用程序 是否可以同时在 localhost 上运行多个服务 所有服务都使用 net pipe 例如 n
  • 如何在 IIS 中将 WCF 与 basichttpbinding only、SSL 和基本身份验证结合使用?

    是否可以仅使用 IIS 中的 SSL 和基本身份验证来设置 WCF 服务BasicHttpBinding binding 我无法使用wsHttpBinding binding 该站点托管在 IIS 7 上 并设置了以下身份验证 匿名访问 O
  • 为实体框架中的实体创建基类

    我想创建一个对我的所有实体都通用的基类 该类将具有 Save Delete GetByID 等方法以及其他一些基本功能和属性 我在 Linq to SQL 方面有更多经验 希望能在 EF 中获得一些类似的好示例 谢谢 像这样 public
  • 从 WCF 服务返回接口

    我有一些 NET 远程处理代码 其中在某些服务器端类中实现的工厂方法返回具体对象的接口 也在同一台服务器上执行 NET 远程处理会自动创建代理 并允许我将接口传递给客户端 然后客户端可以直接调用它们 接口示例 public interfac
  • WCF、REST、SSL、客户端、自定义证书验证

    我有一个无法解决的具体问题 让我详细解释一下 我是这项技术的新手 所以我可能使用了一些错误的术语 如有不明白之处 请指正并解释或要求解释 我正在创建一个自托管的 WCF REST 服务器 托管在 WPF 应用程序中 它使用 https SL
  • 有状态 WCF Web 服务

    我是 WCF 新手 我一直在尝试在 Web 服务中使用会话状态 我设法使用number http www codeproject com KB session SessionWithWS aspx msg 3227646 of http w
  • 远程服务器返回错误:NotFound。银光+WCF

    我正在尝试调用网络服务几个小时 我添加了 clientaccesspolicy xml

随机推荐

  • Java中对象的序列化需要什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 谁能告诉我Java中对象序列化的需求是什么 并给我一个示例场景来解释需求 我已经了解什么是序列化 我只是想了解何时使用它以及如何使用它
  • 如何判断一个日期是否在其他两个日期之间?

    我有以下代码 if date in start end print in between else print No date start end都是变量 格式为1 1 我应该怎么做才能打印出正确的结果 我尝试将日期设置为 10 2 开始为
  • android中如何实现列表之间的拖放?

    我试图做到这一点 以便用户可以从一个列表视图中拖动文本视图 然后将其放入另一个列表视图中 但我发现这非常困难 到目前为止我发现的最大问题是 onTouchEvents 似乎只能在 ACTION DOWN 事件起源的视图中听到 我将单击一个列
  • 将项目添加到 JComboBox

    我在面板上使用组合框 据我所知 我们可以仅添加带有文本的项目 comboBox addItem item text 但有时我需要使用项目和项目文本的某些值 例如在 html select 中
  • Fortran 中的数组第一个索引

    我认为 Fortran 中数组的第一个索引是 1 但是为什么这段代码可以工作呢 代码是 Wavewatch 的修改部分 http polar ncep noaa gov waves wavewatch http polar ncep noa
  • 使用 Hibernate 映射数组

    你能帮我使用 Hibernate 映射这个类吗 public class MyClass private Long id private String name private int values 我使用的是 PostgreSQL 表中的
  • c/c++ strptime() 不解析 %Z 时区名称

    我是 C 语言的新手 当我练习 C 语言时 我会花时间来回构建 tm 我注意到一些不同 请告诉我我做错了什么 include
  • iOS:同时使用 Facebook 和 Google、Google Plus 登录

    早上好 我正在尝试在同一视图中实现 Facebook 登录 工作正常 以及 google plus 登录 我正在遵循官方网站 Google 的指南 但 Facebook 按钮和 google plus 按钮之间存在问题 Facebook 告
  • 开始使用 Python 进行安全 AWS CloudFront 流式传输

    我已经创建了一个 S3 存储桶 上传了一个视频 并在 CloudFront 中创建了一个流分配 用静态 HTML 播放器对其进行了测试 它可以工作 我已经通过帐户设置创建了密钥对 目前我的桌面上有私钥文件 这就是我所在的地方 我的目标是让我
  • 从远程存储库下载父pom

    是否可以 以及如何 从远程存储库下载父 pom 为什么 我有一个包含许多模块的项目设置 父 pom 指定对第三方 jar 的依赖关系 如果其中一个模块需要其中一个罐子的更高版本中的新功能 我想 参考新的 jar 更新父 pom 更新引用新父
  • 通过浏览器的“BACK”功能加载页面时触发 onload 脚本(js 或 jQuery)

    当通过浏览器的 后退 按钮或键盘命令到达页面时 我找不到执行脚本的方法 背景 我需要知道是否使用浏览器的 后退 按钮或键盘命令打开页面 然后我可以检查存储的 sessionStorage 变量并触发一些适当的内容 例如 如果我将其放入我的页
  • python:如何改变音量?

    I used winsound Beep frequency duration 因为我想以指定的频率播放声音 现在 我需要更改这些声音的音量 我怎样才能做到这一点 我试图寻求帮助pyaudio but 如果您对外部库开放 您可以使用pydu
  • Perl OO 方法调用第一个参数值 (->)

    就 Perl OO 而言 到底做了什么 gt do 例如我拨打 main 电话 result a b gt mymethod 在我定义的包中mymethod 我使用以下内容 my class 总的来说 我显然没有向mymethod 那么哪里
  • 来自 Step Function 的跨账户 Lambda 调用

    我在帐户 A 中有 Step Function 并且在帐户 B 中有 lambda 但是在运行 step 函数时 它给出 An error occurred while executing the state lambdaB entered
  • 在将所有导航属性加载(惰性或急切)到内存之前对其进行过滤

    对于未来的访问者 对于 EF6 您最好使用过滤器 例如通过此项目 https github com jbogard EntityFramework Filters https github com jbogard EntityFramewo
  • 如何使用 WiFi Direct 打印文本文件

    我有一个正在运行的 Android 应用程序 可以显示用户统计信息 我想将纯文本格式 txt 的小报告发送到 WiFi Direct 打印机 我已经下载了示例demo https developer android com guide to
  • 如何将 React Native 按钮放置在屏幕底部以在多个 ios 设备上工作

    我还年轻 在网上搜索可以帮助我解决这个问题的教程 但没有找到任何东西 我知道如何将屏幕上的按钮从 A 点移动到 B 点 问题是我似乎无法将其固定在底部以在我的 ios 模拟器的不同外形尺寸上工作 到目前为止 我已经尝试过 marginTop
  • DirectShow 虚拟摄像机不会出现在某些配置的列表中

    我使用 DirectShow 过滤器作为虚拟相机 CLSID VideoInputDeviceCategory 它运行良好 但某些应用程序 配置不将此提要显示为源 例如 在 win 8 1 上 我可以通过 webrtc 在 Chrome F
  • Jekyll 服务错误:找不到 gem jekyll (>= 0.a) (Gem::GemNotFoundException

    做的时候sudo jekyll serve我收到以下错误 Users myusername rvm rubies ruby 2 4 2 lib ruby site ruby 2 4 0 rubygems rb 271 in find spe
  • SOA架构数据访问

    在我的 SOA 架构中 我有几个世界碳基金服务 我的所有服务都需要访问数据库 我应该创建一个专门的 WCF 服务来负责所有数据库访问吗 或者 如果我的每个服务都有自己的数据库访问权限 可以吗 在一个版本中 我在一项服务中只实例化了一个实体层