2. The Basics : What’s SOA
An It Architectural service that supports integrating the business as linked
services.
Offer a communication protocol for the third-party sides over the
network.
Independent of vendors, products and technologies.
Loosely coupled applications.
Empower the interoperability of disparate systems
3. SOA and ESB
The use of Enterprise Service Bus (ESB) is the main step to realize the full
potential of the Service Oriented Architecture.
Service
Interface
Service Service
Interface
Service
Interface
Service
Interface
Service
Interface
Service Service
Service Service Service
Enterprise Service Bus (ESB)
Service
5. Enterprise Service Bus (ESB)
An architecture offers rules and principles for integrating numerous
applications.
Provides a way to leverage your existing systems.
The "bus" concept decouples applications from each other.
Offers transformation for a various data formats.(JSON, XML, CSV ..)
Insure the protocol negotiation between third-party sides (http, JMS .. )
7. Mule ESB
Mule is a lightweight Java-based enterprise service bus (ESB) and integration
platform developed by MuleSoft.
Why Mule ?
Highly scalable, allowing enterprises to start small and connect more
applications over time.
Deliver 100% uptime, process tens of thousands of transactions per second.
Support thousands of Mule servers deployed in a highly distributed
environment.
Provide tools that all Java developers are familiar with, such as Maven,
Eclipse, JUnit and Spring.
9. How it works...
Endpoints : Responsible for connecting to external resources and
delivering messages
Connectors : Various connectors for connecting with external
sources.
Components : Offers many useful functions such as logging, scripting
or even calling Restful or SOAP services
Transformers : Transformers convert message payloads to formats
expected by their destinations
Filters : Specify conditions that must be met for a message to be
routed
Flow control/Routers : Route messages to various destinations in a
Mule flow
11. Getting Started
Enterprise Service Bus (ESB) for connecting with Weather API in order
consume the service exposed by ForcastIO and extract informations about the
current weather status.
ESB Service :
Input : JSON ( longitude, latitude)
Method : POST
Output : XML ( longitude, latitude, summary, temperature, time, windspeed,
humidity)
PORT : 8081
Path : /api/weather
13. Getting Started
ForcastIO Service
Input : longitude, latitude
Output : JSON
Method : GET
HOST : api.darksky.net/forecast/
Path : /forcast/{secret_key}/{longitude},{latitude}
Port : 443