标签: soa

SOA和分布式事务

分布式事务何时在面向服务的体系结构中有意义?

soa distributed-transactions

5
推荐指数
1
解决办法
2743
查看次数

我们可以在MVC架构中实现SOA风格吗?

是否有可能为基于Web的架构提供基于MVC的布局,其中SOA是架构风格.或者换句话说,服务可以成为MVC的M,V,C的一部分.如果是这样,每种服务都可以包含哪些服务.另外,你能给我一个真实世界的例子吗?

model-view-controller soa

5
推荐指数
1
解决办法
8088
查看次数

RPC系统与企业服务总线的区别

RPC系统(如Twitter的Finagle)和企业服务总线(如Mule)之间有什么区别?他们每个人都善于解决什么样的问题?

soa rpc esb mule finagle

5
推荐指数
1
解决办法
2316
查看次数

服务之间数据的参照完整性

在SOA中,我一直对使用来自不同数据库或不同服务的数据的服务如何具有参照完整性以使最小数据跨数据库或服务重复而感到困惑.

例如,您在某种身份验证数据库中有一个用户表,并且您希望在另一个数据库中重用此用户信息.您还希望强制该用户的记录存在于身份验证数据库中.假设您要将身份验证数据库中的用户帐户与另一个数据库中的新闻文章相关联.怎么做的?你会用LDAP之类的东西做到这一点?

如果身份验证信息包含在同一个数据库中,只是一个不同的表,那么我可以看到如何使用外键来创建新闻文章和用户帐户之间的关联.

我一直试图寻找关于这个问题的答案,但我必须使用错误的短语,因为我没有提出任何有用的东西.

database service soa database-design

5
推荐指数
1
解决办法
380
查看次数

WCF消息和数据合同,DTO,域模型和共享程序集

我有一个调用我的WCF业务服务层的Web客户端,后者又调用外部WCF服务来获取实际数据.起初,我以为我会使用的DTO,并在不同的层独立商业实体......但我发现,倡导的DTO的简单的例子,是,好了,琐碎.我看到太多的重复代码并没有多少好处.

考虑我的域名:

示例域我有一个单独的UI屏幕(Asp.net MVC View),显示患者的药物清单,不良反应(药物之间)以及患者可能患有的任何临床情况(如抑郁或高血压).我的域名模型从顶层开始:

   MedicationRecord
      List<MedicationProfile> MedicationProfiles
      List<AdverseReactions> Reactions
      List<ClinicalConditions> ClinicalConditions

   MedicationProfile is itself a complex object
      string Name
      decimal Dosage
      Practitioner prescriber 

   Practioner is itself a complex object
      string FirstName
      string LastName
      PractionerType PractionerType
      PractionerId Id
      Address Address    

      etc.
Run Code Online (Sandbox Code Playgroud)

此外,在进行WCF请求时,我们有一个请求/响应对象,例如

   MedicationRecordResponse
      MedicationRecord MedicationRecord
      List<ClientMessage> Messages
      QueryStatus Status

   and again, these other objects are complex objects
   (and further, complicates matter is that they exist in a different, common shared namespace)
Run Code Online (Sandbox Code Playgroud)

在这一点上,我倾向于MedicationRecordResponse 我的DTO.但在纯DataContracts和DTO以及设计分离方面,我想这样做吗?

   MedicationRecordResponseDto
      MedicationRecordDto
      List<ClientMessageDto> 
      QueryStatusDto

   and that …
Run Code Online (Sandbox Code Playgroud)

wcf soa domain-driven-design datacontract dto

5
推荐指数
1
解决办法
5263
查看次数

PHP应用程序中适当的RESTful SOA方法?

所以,我最近在SOA上阅读了很多,并一直在努力实现一些有用的东西.我从一个简单的博客开始,创建RESTful API.到现在为止还挺好.它完美地运作.但是,在编写将使用RESTful API的Web界面时,我开始脱掉头发.我不知道我做的是否正确.

例如,Web界面具有管理面板.该管理面板通过file_get_contents和流选项向API发出HTTP请求.现在,API是localhost,以及Web界面,但整个过程有点慢.这是正确的吗?这是实施SOA的正确方法吗?此外,我正在处理一些重复的代码进行验证.我应该在哪里验证数据?在API或Web界面中?什么是最好的方法?

欢迎提示,教程,特别是书籍.这是使用Silex实现的,它建立在Symfony组件之上.

php soa symfony1 silex

5
推荐指数
1
解决办法
1634
查看次数

在PAAS中部署SOA样式应用程序

我目前正在考虑将SOA样式应用程序部署到云上的PAAS中.

我正在评估一些PAAS供应商,包括Cloud Foundry,Heroku和Jelastic.

目前,为了简单起见,我只有一个grails应用程序和一个带有嵌入式Jetty服务器的服务jar文件.这将扩展为多个服务和Web前端,中间的服务通过兔子mq和http的混合进行通信.

我现在正在努力了解如何将这些部署到PAAS上的拓扑结构.

我的问题是:

  1. 是否必须将所有服务和Web应用程序部署为PAAS中的顶级"应用程序"(例如,可以在Heroku中使用dynos?)

  2. 如果是这样,可以限制对服务的访问,以便只能从webapp(最终网关)向它们发出请求.

  3. 它们是否需要作为顶级应用程序存在,以便从负载平衡(和自动扩展)中受益,因为每个服务可能有多个实例.

  4. 如果每个服务都有自己的数据存储区,我再次假定这需要它是一个应用程序?

  5. 如果有一种方法可以在不使用每个服务的完整应用程序的情况下实现此目的,那么节点如何单独寻址?他们可以使用某种目录服务注册自己吗?

谢谢!

cloud soa heroku cloud-foundry

5
推荐指数
1
解决办法
661
查看次数

面向服务的体系结构 - 传输层(http与消息传递)

我们正在研究使用面向服务的体系结构(SOA)来拆分我们的体系结构(以及添加新组件).将有一些外部API将由第三方使用,我们将使用REST HTTP接口,但我想知道什么是最好在内部使用,因为所有组件都在我们的控制中,并将在相同的网络,但可能是不同的技术(主要是.net和ruby on rails).

使用消息传递系统(redis,rabbitmq,EMS,其他值得注意的例外,我没有听说过......)而不是HTTP(REST,SOAP等)会有很大的性能/功能提升.

我很难找到关于这个主题的好信息(正如你可能会说的)我对这个方面很新,所以任何建议或好资源都会受到赞赏!

Thnaks

messaging soa http rabbitmq redis

5
推荐指数
2
解决办法
1900
查看次数

什么是不可知的服务

我正在阅读有关SOA主体和模式的内容,但我无法理解什么是不可知的服务.你有直截了当的定义吗?概念和用法是什么?

soa

5
推荐指数
2
解决办法
6763
查看次数

授权服务如何在基于角色的微服务架构中实施所有权检查

假设我在博客应用上有三种类型的用户

  1. 作者(能够修改自己的帖子,但不能修改其他人)
  2. 管理员(能够修改所有帖子)
  3. 阅读器(无法修改任何帖子)

要管理此系统,我要提供三项主要服务:

  • 公开所有客户端将使用的API网关,并根据需要组合服务。
  • 一个邮政管理服务,为博客帖子提供CRUD操作(包括谁拥有哪些帖子的数据)
  • 一个授权服务,用于存储角色和权限,公开一个API,该API包含一系列角色(请求用户具有的角色)和一系列权限(访问API所需的权限),并确定这些输入的角色是否涵盖所有输入的权限。

现在,我正在努力的是资源的所有权(以及应该在哪里检查所有权)。

在不与其他服务进行通信的情况下,授权服务将如何确定用户是否应该能够访问他们拥有的内容,而又不知道如何确定用户是否拥有给定资源。

我对这个问题提出了几种不同的解决方案,尽管我对它们都不满意。

  1. API网关将查询管理帖子的其他服务,以确定请求用户是否拥有他们尝试访问的帖子,这意味着授权服务之外会发生授权逻辑。
  2. 服务管理博客帖子将基于所有权处理授权,这也意味着授权逻辑正在授权服务之外发生,以及未经授权的请求最初被标记为已授权的事实(因为它们仍将通过授权服务)
  3. 可以为授权服务提供有关如何检查所有权的知识,必须能够告知API是否应连同权限一起检查所有权。这将增加授权服务的复杂性,并增加跨服务通信,我希望将其尽可能多地委托给API网关,因为它应该是主要的服务编写者。

寻找关于替代方法的想法,或者洞悉解决此问题的最佳解决方案。

architecture soa authorization microservices

5
推荐指数
1
解决办法
356
查看次数