soa

CORBA, RMI and SOA

ぐ巨炮叔叔 提交于 2019-12-05 07:08:36
问题 Web services is a Service Oriented Architecture implementation. But, can we say that CORBA, RMI and the Java EE platform are also an implementation of SOA? 回答1: If you say that SOA means WS-* standards, then the answer is "no". But if SOA means distributed components communicating using an agreed-upon protocol, then the answer is yes, you can think of CORBA, RMI, and Java EE as SOA. (My advice is to drop the "2" - it's been out of the picture for a long time. Please refer to it as Java EE

Business logic in Camel processors vs service endpoints

半世苍凉 提交于 2019-12-05 05:29:37
In a Camel route, should I be thinking about putting my business logic in a discretely hosted bean endpoint, like a message-driven bean or a web service, vs just implementing it in Camel processors? It seems like cleaner separation of concerns to use Camel just for mediation & orchestration, using Processors as filters, rather than as a container for business logic. However I don't forsee the need for an EJB container at this time, and it seems like I'd need one to host MDBs. So cleaner architecture vs smaller footprint, fewer technologies - Does anyone have thoughts, perspectives, or strong

SOA(Service-Oriented Architecture)

谁说胖子不能爱 提交于 2019-12-05 03:07:20
SOA( Service-Oriented Architecture ) 面向服务的体系结构 SOA( Service-Oriented Architecture ) 是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。 目录 1. 1 定义介绍 2. 2 体系结构 3. ▪ 松耦合的系统 4. ▪ 体系结构作用 5. 3 特性状况 1. 4 新兴变革 2. 5 为何选择 SOA 3. ▪ 简介介绍 4. ▪ 服务架构 5. ▪ 基础结构 6. ▪ 服务品质 1. ▪ 安全质量 2. ▪ 可靠信度 3. ▪ 策略计划 4. ▪ 控制能力 5. ▪ 管理能力 6. ▪ Web 服务 1. ▪ SOA 优势 2. ▪ 发展效益 3. ▪ 主要优势 4. ▪ 推动因素 5. 6 优点 定义介绍 编辑 面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是 SOA 的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 SOA 是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。

设计能力(二)

做~自己de王妃 提交于 2019-12-05 02:27:43
你如何考虑服务化 # 集中式与分布式 要谈微服务,那么必须建立在分布式的基础上,对于一个集中式系统也无需谈微服务。 # 集中式 集中式系统用一句话概括就是:一个主机带多个终端。终端没有数据处理能力,仅负责数据的录入和输出。而运算、存储等全部在主机上进行。 集中式系统的最大的特点就是部署结构非常简单,底层一般采用从IBM、HP等厂商购买到的昂贵的大型主机。因此无需考虑如何对服务进行多节点的部署,也就不用考虑各节点之间的分布式协作问题。但是,由于采用单机部署。很可能带来系统大而复杂、难于维护、发生单点故障(单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪)、扩展性差等问题。 # 分布式 分布式就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。分布式意味着可以采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务。计算机越多,CPU、内存、存储资源等也就越多,能够处理的并发访问量也就越大。 拿电商网站来说,我们一般把一个电商网站横向拆分成商品模块、订单模块、购物车模块、消息模块、支付模块等。然后我们把不同的模块部署到不同的机器上,各个模块之间通过远程服务调用( RPC )等方式进行通信。以一个分布式的系统对外提供服务。 # 服务化 提到分布式,一个不得不提的词就是服务化

【原】SOA抽象模板在业务中的封装和使用

和自甴很熟 提交于 2019-12-05 02:20:19
主要优势: 提供统一的模板,将SOA请求拆分为日志记录、校验、处理等过程 统一的日志记录埋点(记录请求、响应日志、记录处理过程) 集成LogTag,方便问题跟踪定位对 异常处理、构建标准的异常返回 记录SOA处理结果,处理时间等重要信息 SOA响应要求实现统一增加ResponseCode返回值。减少服务之间的沟通成本 请求中添加TransactionId,便于上下游的问题跟踪 描述: 目前所面临的有一个请求过来到soa服务端,流程大致是 预处理->校验->具体业务处理->返回后处理,但没有统一的组件对齐进行管理,导致其他开发人员各自有自己风格,很难对代码进行维护和梳理,于是经过内部研讨大致规划了一版具体处理soa流程的实现 来源: https://www.cnblogs.com/zdd-java/p/11897345.html

How to design REST URI for multiple Key-Value params of HTTP GET

人盡茶涼 提交于 2019-12-05 01:24:37
I am designing a RESTful API. One service should offer query functionality for multiple key-value pairs. For example, the client can query with one HTTP GET request for different products and the associated quantity. The client wants to query product 1 with the amount 44 AND product 2 with the amount 55. I actually don't want my URI to look like this: /produkt?productId1=1&productquantity1=44&productId2=2&productquantity2=55 because I don't know how many products are queried. Or like this: /produkt?product=1,44&product=2,55 because how can the client know that before the comma there is the

【微服务架构】微服务架构和SOA架构的区别

 ̄綄美尐妖づ 提交于 2019-12-05 00:50:44
SOA架构 SOA是一种面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。 SOA架构中有两个主要角色:服务提供者(Provider)和服务使用者(Consumer)。而软件代理则可以扮演这两个角色。该Consumer层是用户(人、应用程序或第三方的其它组件)与SOA交互的点,和Provider层则由SOA架构内的所有服务所构成。 虽然面向服务的体系结构不是一个新鲜事物,但它却是更传统的面向对象的模型的替代模型,面向对象的模型是紧耦合的,已经不符合业务开发时“高内聚,低耦合”的要求。虽然基于 SOA 的系统并不是完全的排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑到了系统内的对象,所以虽然 SOA 是基于对象的,但是作为一个整体,它却不是面向对象的。不同之处在于接口本身。SOA 系统原型的一个典型例子是通用对象请求代理体系结构(Common Object Request Broker Architecture,CORBA),它已经出现很长时间了,其定义的概念与 SOA 相似。 微服务架构 其实和 SOA 架构类似,微服务是在

Should instances of a horizontally scaled microservice share DB?

人走茶凉 提交于 2019-12-05 00:49:29
问题 Given a microservice that owns a relational database and needs to scale horizontally, I see two approaches to provisioning of the database server: provide each instance of the service with it's own DB server instance with a coupled process lifecycle OR have the instances connect to a shared (by identical instances of the same service) independent db server or cluster With an event driven architecture and the former approach, each instance of the microservice would need to process each event

WSO2 Community Experiences [closed]

杀马特。学长 韩版系。学妹 提交于 2019-12-04 23:33:15
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 6 years ago . In my current role I have been asked to evaluate a number of various SOA Governance stacks. One stack in particular, WSO2, caught my eye as it appeared to be enterprise-ready, and it had an open-source feel. On the WSO2 website,

Microservices VS. SOA

笑着哭i 提交于 2019-12-04 21:58:41
什么是微服务? 微服务是一种架构设计模式。在微服务架构中,业务逻辑被分解为一系列小的、松耦合的、分布式组件,组合起来形成大型的应用。每个组件都被称为一个微服务,每个微服务负责一个任务或功能。每个微服务可能被其它一个或多个微服务调用,来执行特定的任务,比如用一种统一的方式来处理搜索、图片展示,或其它需要在应用的不同场景下开发或维护多个版本的情况。 使用微服务架构还能形成一种机制来提高新手的生产率,减少新功能推向市场的时间。 每个微服务有一个有边界的代码库,以及关联的工具集;开发者不需要了解整个大型的复杂系统就能上手,只需要知道与其微服务相关的部分就好。 微服务可以被很快开发出来,因为他们可以使用手边最适合的语言和工具集,不需要担心应用其它组件的技术选型,也不用担心其他开发者对这些语言和工具是否了解。 为了充分发挥小团队轻便灵活的特点,团队需要有自治权,他们要快速做决定,并且屏蔽外部的监管。为了达到这个目的,整个工作组应该包含了从产品管理到发布和运营的所有相关人员。 由于微服务组件是松耦合的,通过API进行通信,对于大部分决定来说,高度的自治权并不影响整个应用的功能。 只要微服务向外开发了自己的API,并能被API调用执行对应的功能,整个系统就能运行良好。 由于一个微服务架构中有这么多独立的组件,在一个弹性的网络环境(比如公有云或私有云)中使用现代的DevOps方式