soa

Microservices: What are smart endpoints and dumb pipes?

半城伤御伤魂 提交于 2019-11-30 02:23:06
I have read an article " Microservices " by Martin Fowler and find it difficult to understand smart endpoint s and dumb pipes . Please explain these terms, examples are welcome. I didn’t read the article, so I can only speculate what he can mean exactly, but as he gives ESB as an example against microservices and ZeroMQ as an example for micro services I hope my speculation will be pretty exact: One of the ideas of Unix (and Linux) is to build small independent applications and connect them via pipes. The probably most common set of two command which I’m using is ps and grep like this: ps aux

Product Versioning Microservices

耗尽温柔 提交于 2019-11-30 01:47:32
I go into microservices architecture based on docker and I have 3 microservices, which together create one product for example "CRM system". Now I want my client to be able to upgrade his product, whenever he wants to. I have 3 different versions of my microservices, which one should client see? I guess product version should be independent of microservices, because copying one of the microservices version would make me go into more trouble than having no version at all. So is there any pattern, idea to handle such situation? The only thing that comes to my mind is to have another repository

Difference between SOA and ESB

若如初见. 提交于 2019-11-30 01:03:10
I am confused in these web service terminologies SOA, ESB. Anybody please explain. SOA is an architectural approach where you expose and encapsulate 'services' in a coarse-grained manner. It does not prescribe any technical mechanism or implementation. SOA is more related to boundary / integration interaction between systems. So if system A exposes services using a SOA I can interact with those services from system B. An ESB on the other hand is a technical implementation that aids in delivering a SOA. SOA is service oriented architecture . In SOA services are decoupled and can interact with

浅谈微服务

寵の児 提交于 2019-11-30 00:45:12
欢迎访问我的个人博客: 戎码一生 简介 微服务最早由Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理 微服务架构与单体架构 单体架构所有功能模块放在一个单一进程中,并且通过在不同的服务器上面复制这个单体进行扩展。 微服务架构是将每一个功能模块分别放进到一个独立的服务中,并且通过跨服务器分发这些服务进行扩展,只有需要时才复制。 单体应用中,如果需要改动功能,那么则需要重新部署整个单体应用。而微服务则不需要,只需要重新部署修改的功能模块那个微服务。每一个功能模块都是可独立替换和独立维护的软件单元,完全体现了高可复用性,高可维护性,高可扩展性。 面向服务的架构 面向服务的架构(Service Oriented Architecture,SOA)是表示所谓服务的自包含功能单元的一种软件设计原则和架构设计模式。SOA推崇松耦合、复用性和粗粒度的服务设计原则。在企业架构方面,SOA带来的好处包括对业务需求的敏捷交付和迅速反应,通过降低集成成本提高投资回报率,通过复用组件降低开放成本。 SOA

Sending a byte array from PHP to WCF

◇◆丶佛笑我妖孽 提交于 2019-11-29 23:59:04
问题 I have to send a byte array (encoded photo) from my PHP client to the WCF host. when I do a var_dump() on my array in PHP I get an array[2839] which is ok but on the server side when I debug I see that received array is only byte[5]... Any idea how I can fix it? I used code like this $file = file_get_contents($_FILES['Filedata']['tmp_name']); $byteArr = str_split($file); foreach ($byteArr as $key=>$val) { $byteArr[$key] = ord($val); } $client = new SoapClient('http://localhost:8000/MgrService

DB consistency with microservices

梦想的初衷 提交于 2019-11-29 22:17:55
What is the best way to achieve DB consistency in microservice-based systems? At the GOTO in Berlin , Martin Fowler was talking about microservices and one "rule" he mentioned was to keep "per-service" databases, which means that services cannot directly connect to a DB "owned" by another service. This is super-nice and elegant but in practice it becomes a bit tricky. Suppose that you have a few services: a frontend an order-management service a loyalty-program service Now, a customer make a purchase on your frontend, which will call the order management service, which will save everything in

Queue alternatives to MSMQ on Windows? [closed]

↘锁芯ラ 提交于 2019-11-29 20:56:53
If you want to use a queuing product for durable messaging under Windows, running .NET 2.0 and above, which alternatives to MSMQ exist today? I know of ActiveMQ ( http://activemq.apache.org/ ), and I've seen references to WSMQ (pointing to http://wsmq.net ), but the site seems to be down. Are there any other alternatives? I can't begin to say enough good things about Tibco EMS - an implementation of the Java JMS messaging spec. Tibco EMS has superb support for .NET clients - including Compact Framework .NET on WinCE. (They also have C client libraries too.) So if you're building a

How to handle long running web service operations?

我的未来我决定 提交于 2019-11-29 18:02:20
问题 I have to create a Java EE application which converts large documents into different formats. Each conversion takes between 10 seconds and 2 minutes. The SOAP requests will be made from a client application which I also have to create. What's the best way to handle these long running requests? Clearly the process takes to much time to run without any feedback to the user. I can think of the following ways to provide some kind of feedback, but I'm not sure if there isn't a better way, perhaps

深入浅出SOA思想

◇◆丶佛笑我妖孽 提交于 2019-11-29 16:42:39
#0 系列目录# 聊聊服务架构 深入浅出SOA思想 微服务、SOA 和 API对比与分析 #1 SOA是什么# SOA的全称是Service-Oriented Architecture,面向服务架构。 是一种架构,不是一种具体的开发技术 。 SOA的出现,预示着一个 以服务为导向 的新IT(Information Technology)时代的到来。 SOA服务的理念思想, 本质上是一种业务和技术完全分离,业务又能和技术自由组合的思想 ,它达到了软件设计的最高境界。 SOA是 为软件集成而服务的 ,它实现了技术和架构的完全分离,消除了软件服务集成的所有障碍。 SOA超越了所有的具体技术(如WebService),也超越了所有具体的架构(ESB) ,同时,SOA也包含这些具体的技术和架构。 SOA在Java领域有两套标准: 一个是SUN推出的JBI(没有得到BEA和IBM的承认) , 另外一个是:IBM和BEA等公司推出的SCA和SDO标准 。 要真正理解什么是SOA需要从软件开发的技术发展史谈起。真正的软件开发从开始到现在经历了四个阶段,也可以说成是四代: 汇编语言开发; 面向过程的软件; 面向对象的组件开发; 面向服务的架构开发,也是今天要谈论的SOA架构; SOA与前面三代的软件开发技术对比, 不同点是SOA超越了软件开发语言本身 。 是一种面向服务的架构,与软件开发语言无关 。

SOA Question: Exposing Entities

99封情书 提交于 2019-11-29 15:47:26
问题 I would like to incorporate SOA pattern in my 3 tier structure. I created a Service layer (WCF Host) between the BLL and the UI. My structure setup is now looks like this UI <> WCF <> BLL <> DAL <---[Entities] ---> The problem is, I have my entities in separate DLL (ANd it was visible in ALL Layers except on the UI) Now, I need to expose it so that the consumer of my service can use it.In this case, the UI. How can I possibly do that? Entities.DLL namespace Entities { public class Account {