35
WSO2 ENTERPRISE SERVICE BUS A FAST TUTORIAL

Wso2 tutorial

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Wso2 tutorial

WSO2 ENTERPRISE SERVICE BUS A FAST TUTORIAL

Page 2: Wso2 tutorial

ABOUT ME

Armando Ramírez Vila Technical Engineer in Computer Sciences (University Of

Oviedo).

Software Engineer at Equifax Ibérica.

Software Engineer at ICM (As consultant by Axpe Consulting) previously.

Software Engineer at C1Nn previously.

Contact

[email protected]

http://es.linkedin.com/in/armandorv

https://twitter.com/armandorvila

Page 3: Wso2 tutorial

PRESENTATION LAYOUT

Introduction

WSO2 ESB at a first glance

WSO2 ESB architecture

WSO2 ESB installation

WSO2 ESB in action

Corollary

Time to ask ?

Page 4: Wso2 tutorial

INTRODUCTIONWHAT IS THIS PRESENTATION ABOUT?

Page 5: Wso2 tutorial

A lightweight tutorial about WSO2 ESB.

A conccept prove of the WSO2 ESB.

A new skill for my tool kit.

A task of my course called «Master in Web Engineering».

Page 6: Wso2 tutorial

INTRODUCTIONWHAT IS AN ENTERPRISE SERVICE BUS ?

Page 7: Wso2 tutorial

Wikipedia «A software architecture model used for designing and implementing the interaction and communication

betwen mutually interactiong software applications in service-oriented architecture (SOA) »

Oracle «Enterprise Service Bus (ESB) is a way to create a service-oriented architecture».

“An Enterprise Service Bus (ESB) is a distributed middleware system for integrating enterprise IT assets using a service-oriented approach“

“An Enterprise Service Bus (ESB) is a distributed infrastructure used for enterprise integration. It consists of a set of service containers, which integrate various types of IT assets”

Open Source ESB in Action (Tijs Rademakers) “From an integration vendor perspective is a product offering that provides integration functionality, a

developer toolset, and a management environment”

“From the SOA perspective, an ESB can be used as an integration platform that enables existing IT assets and applications to be exposed as services”

Page 8: Wso2 tutorial

INTRODUCTIONADVANTAGES OF AN ENTERPRISE SERVICE BUS (FROM THE SOA PERSPECTIVE)

Page 9: Wso2 tutorial

Centralized acces point for all clients We are relatively independent of the service.

All our endpoints has similar URIs.

Centralized configuration We can set global security for all services.

We can set global logging for all request, or some of them.

Centralized administration We have got a unique middelware in which deploy our services.

We have got a unique middelware from which undeploy our services .

We have got a a point to set monitorization

Page 10: Wso2 tutorial

INTRODUCTIONENTERPRISE SERVICE BUS IMPLEMENTATIONS

Page 11: Wso2 tutorial

JBoss ESB Open source

So complex, it gives lots of support for the integration approach which we were talking before.

Project roadmap problems: Now JBoss community is beeting for SwitchYard, a more sophisticated framework which supports integration with another projects like jBPM, Drools, Apache Camel and more….

MULE ESB It is not open source.

It has lots of success, but It follows the integration approach as weel the SOA approaches.

Oracle ESB OSB in short, It is so expensive to start.

It is not so easy as weel.

WSO2 ESB It is Open Source.

It follows the SOA approach.

IT is easy of manage.

Page 12: Wso2 tutorial

WSO2 ESB AT A FIRST GLANCEA FIRST GLANCE

Page 13: Wso2 tutorial

At a first glance WSO2 ESB is: A middelware which enable architects to implement distributed SOA architectures, based on apply

proxies to enterprises services in order to carry out monitoring and an easier management of all services that are living in the organization.

WSO ESB Features are: Full XML and Web Services Support

Proven Interoperability and highly performant

Extensibility and Minimal Custom Development

Multi-protocol and Industry Driven Protocols

Task Scheduling and Event Driven Architecture (EDA)

Built-in Registry

Advanced Mediations & EIP

Server Management and System Monitoring

Page 14: Wso2 tutorial

WSO2 ESB ARCHITECTUREARCHITECTURE OVERVIEW

Page 15: Wso2 tutorial

Components Transports

WSO2 ESB supports all the widely used transports including HTTP/s, JMS or SMPT.

Endpoints

Endpoints stay as a logical component with the transports. Two sets of endpoints Address and WSDL.

Proxy Services:

The virtual services in the WSO2, a proxy service can access using a URL similar to a normal web service address.

Topics

Messages handling including subscriptions and events.

Page 16: Wso2 tutorial

Components Mediators

Using the mediator library one can implement widely used MEPs and EIPs.

Secuences

The sequences act as the configuration component for the mediators. Sequences allow to organize the mediators to implement pipes and filters pattern.

Tasks and Commands

Tasks provide facility to configure scheduled jobs in the WSO2 ESB.

QoS

Reliable messaging and security for proxies (Rampart).

Configuration, Registry:

WSO2 ESB has an inbuilt Registry/repository to store the configuration and configuration metadata and it provides the facility to use a remote repository as well.

Management and Configuration GUI

GUI components make the comprehensive management, configuration and monitoring GUI.

Page 17: Wso2 tutorial

How It works

1. An application sends a message to the ESB.

2. The message is picked up by the ESB transport.

3. Transport sends the message through a message pipe.

4. Quality of service aspects like Security and Reliable Messaging of the message is taken care in this pipe. Internally this pipe is the in-flow and out-flow of Axis2.

5. ESB can operate in two modes:

1. Message Mediation: A single pipe is used.

2. Proxy Services: Separate pipes connecting transport to different Proxy Services are used.

6. Both message transformation and routing can be seen as a single unit (WSO2 ESB call this the mediation

framework). Some transformations happens before routing decision has taken. Some transformations happens after the the routing decision has taken. This part is the Synapse implementation.

7.  After this message is injected to the separate pipes depending on the destinations. Here again quality of service aspects of the messages is determined.

8. The transport layer takes care of the transport protocol transformations required by the ESB.

Page 18: Wso2 tutorial

WSO2 ESB INSTALLATIONDOWNLOAD IT

Page 19: Wso2 tutorial

Download We can use google to find it (be careful, WSO2 has another products, type WSO2 ESB)

When we download the WSO2 ESB you have a zip file with the following content.

Page 20: Wso2 tutorial

Installation test We can test our installation in the next URL: https://156,35,95.66:9443/carbon

You must have admin users (juan.ramon/juan.ramon, lourdes.tajes/lourdes.tajes)

Page 21: Wso2 tutorial

Installation test Running !!

Page 22: Wso2 tutorial

WSO2 ESB IN ACTIONSERRVICES DEPLOYMENT AND A LITTLE MORE

Page 23: Wso2 tutorial

Management Console The management console has got 4 sections

Main: Here we can do the main tasks like create a proxy, deal with mediators and secuences and so on ..

Monitor: Here we can do monitoring of our services and read logs and statics.

Configure: Configuration of our installation, users, roles key stores , and so on.

Tools: Utitlities like WSDL validator, Java to WSDL or WSDL to Java.

Page 24: Wso2 tutorial

Deployed services There is already 3 web services

deployed

We can interact with these services before deploy any own service.

Page 25: Wso2 tutorial

Testing the echo web service We can test deployed services in the same way that we do it using SoapUI.

Page 26: Wso2 tutorial

Deploying a own service We can deploy an Axis services, only the code and the servies.xml file.

We can create a proxy to another web service deployed wherever.

Page 27: Wso2 tutorial

Deploying a own service We have to give a name and a end point and it’s all.

Then we can use this service instead of our original web service.

Page 28: Wso2 tutorial

Monitoring our services Centralized logs management

Page 29: Wso2 tutorial

Monitoring our services Transport statics

Page 30: Wso2 tutorial

WSO2 ESB Tools WSDL2java

Java2WSDL

Try it

WSDL Validator

Page 31: Wso2 tutorial

WSO2 ESB Tools WSDL2java

Java2WSDL

Try it

WSDL Validator

Page 32: Wso2 tutorial

WSO2 ESB Tools WSDL2java

Java2WSDL

Try it

WSDL Validator

Page 33: Wso2 tutorial

COROLLARYWHAT AT THE END ?

Page 34: Wso2 tutorial

Use an ESB is a good choice for SOA architectures which are based on web services.

There are several implementations which take several approaches and we have to get the better for us.

Use an ESB is not necessary as hard as it seem and It can be an interesting bet in a middle range.

My toolkit is now richer than earlier

Page 35: Wso2 tutorial

?TIME TO ASK