OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

soa-rm message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [soa-rm] Are API gateways the new ESB?


Thanks Mike,

I was aware of the Facade design pattern, and like containers, which also have a long history in the context of application servers and virtual machines, these structural designs have been attempts to efficiently address differing sets of concerns or design requirements. This has prompted me to do a review of the development of these architectural patterns leading to SOA and MSA going back to the fundamentals of Object Orientation, at least for myself. This has been a response to the amount of reading material that we have been reviewing. I am not surprised that you have in some sense, also been stimulated to review programming design principles leading to your work on COS. I think the work we're looking at in a side-by-side comparison of SOA and MSA will be valuable in this overall context.

I also think that Ken's work with SAFe could be valuable for bringing the practices of Agile development and DevOps into our perspective since philosophies behind team-building are crucial to the architectural choices being made.

Cheers.

Rex


On 11/25/2016 3:05 AM, Mike Poulin wrote:
First, to Ken, to be accurate I said that some MS are exposed to consumers, not only to other MS in the same application/container.
These consumers may be exteranl (regarding to the application/container) applications/devices; I do not know if they are 'end-users' or just 'middlemen'. I've seen many examples of such exposure.
 
To Rex, an API Gateway is a modern term that realises a very old pattern known as Facade. If a designer of an application wants to hide internal components and their interfaces from the external ((regarding to the application) consumers, a Facade component is used. This component translates/transformes externally exposed API into one or several internal ones. There are may be many patterns (for invocation of APIs) used; for example: Delagate, Moderator, Chain of Command, etc. The cost of using API Gateway (and all related patterns) is performance.
 
- Michael
 
 
 
Sent: Wednesday, November 23, 2016 at 10:04 PM
From: rexbroo <rexb@starbourne.com>
To: soa-rm@lists.oasis-open.org
Subject: Re: [soa-rm] Are API gateways the new ESB?

This topic led me to yet more reading, specifically NGINX articles supporting their API Gateway product line. In their Introduction to Microservices, https://www.nginx.com/blog/introduction-to-microservices/?utm_source=building-microservices-using-an-api-gateway&utm_medium=blog they say this:

... On the surface, the Microservices Architecture pattern is similar to SOA. With both approaches, the architecture consists of a set of services. However, one way to think about the Microservices Architecture pattern is that it’s SOA without the commercialization and perceived baggage of web service specifications (WS-*) and an Enterprise Service Bus (ESB). Microservice-based applications favor simpler, lightweight protocols such as REST, rather than WS-*. They also very much avoid using ESBs and instead implement ESB-like functionality in the microservices themselves. The Microservices Architecture pattern also rejects other parts of SOA, such as the concept of a canonical schema..."

I don't recall specifying WS-* or a canonical schema, but I did find their decomposition of the Microservices Architecture in their diagrams quite apt. However, since the the following article in their series, Building Microservices Using an API Gateway, https://www.nginx.com/blog/building-microservices-using-an-api-gateway/ concludes that

"...For most microservices‑based applications, it makes sense to implement an API Gateway, which acts as a single entry point into a system. The API Gateway is responsible for request routing, composition, and protocol translation. It provides each of the application’s clients with a custom API. The API Gateway can also mask failures in the backend services by returning cached or default data...." I suspect that API Gateways are very much like ESBs were. I have yet to read all of their articles, but I look forward to reading Event-Driven Data Management for Microservices https://www.nginx.com/blog/event-driven-data-management-microservices/?utm_source=building-microservices-using-an-api-gateway&utm_medium=blog

 

Rex

On 11/23/2016 11:55 AM, Martin Smith wrote:
Ken, Rex, Mike, and all-- Didn't get a chance to bring this up today but maybe we can discuss next time . .. 
 
This was also partly in response to Mike's comment that he believes that in Microservices API interfaces are typically/often exposed directly to end-users vs only to other MS components within an application container. 
 
Martin
 
 
 
--
Martin F Smith, Principal
BFC Consulting, LLC
McLean, Va 22102
703 506-0159
703 389-3224 mobile
 
-- 
Rex Brooks
Starbourne Communications Design
Email: rexb@starbourne.com
GeoAddress:
1361 Addison St. Apt. A
Berkeley, CA 94702
Phone: 510-898-0670 

-- 
Rex Brooks
Starbourne Communications Design
Email: rexb@starbourne.com
GeoAddress:
1361 Addison St. Apt. A
Berkeley, CA 94702
Phone: 510-898-0670 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]