Random Notes whilst watching "Mule 4 Indepth" - Part 1 (Section 1.3: What is ESB and What is Mule?)

I was curious about wsdl:

What are WSDL, SOAP and REST?
https://stackoverflow.com/questions/3764681/what-are-wsdl-soap-and-rest

"A WSDL is an XML document that describes a web service. It actually stands for Web Services Description Language.
"SOAP is an XML-based protocol that lets you exchange info over a particular protocol (can be HTTP or SMTP, for example) between applications. It stands for Simple Object Access Protocol and uses XML for its messaging format to relay the information.
"REST is an architectural style of networked systems and stands for Representational State Transfer. It's not a standard itself, but does use standards such as HTTP, URL, XML, etc."

I wanted to understand more about Loose vs Logical coupling.

Why is loose coupling between services so important?
https://www.ben-morris.com/why-is-loose-coupling-between-services-so-important/

"Loose coupling implies that services are independent so that changes in one service will not affect any other. The more dependencies you have between services, the more likely it is that changes will have wider, unpredictable consequences."

Also worth a read:

Every time you ignore Loose Coupling a little donkey dies
https://blogs.mulesoft.com/dev/mule-dev/every-time-you-ignore-loose-coupling-a-little-donkey-dies/

The power of logical coupling.
If the web provider changes from SOAP to REST, you don't need to change your source code

Image: The Power of Logical Coupling

What is an ESB (Enterprise Service Bus)?

Enterprise service bus
https://en.wikipedia.org/wiki/Enterprise_service_bus
"An enterprise service bus (ESB) implements a communication system between mutually interacting software applications in a service-oriented architecture (SOA). It represents a software architecture for distributed computing, and is a special variant of the more general client-server model, wherein any application may behave as server or client. ESB promotes agility and flexibility with regard to high-level protocol communication between applications. Its primary use is in enterprise application integration (EAI) of heterogeneous and complex service landscapes."

Comments