Date post: | 15-Jul-2015 |
Category: |
Technology |
Upload: | yenlo |
View: | 59 times |
Download: | 0 times |
Rob Blaauboer, Senior Consultant, Yenlo
ESB meets IoT, a primer on the Enterprise Service Bus
March 11th 2015
Ishan Jayawardena], WSO2
About the presenters
2
Rob Blaauboer Senior Consultant, Yenlo
Rob is a Senior Business Consultant and Solu?on Architect with more than twenty years experience. In addi?on to his work he is an ac?ve blogger working on a number of ar?cles on the 'Internet of Things' and a WSO2 'GeKng Started with ...' series in which he talks about WSO2 components and their purpose especially aimed at non technical readers.
Ishan Jayawardena Senior So>ware Engineer, WSO2
Ishan is a Senior SoLware Engineer in the integra?on technologies team where he mainly focuses on the WSO2 Enterprise Service Bus. In addi?on to his product development efforts he has also provided technology consul?ng on customer engagements, including customer QuickStart programs focused on Enterprise Applica?on Integra?on projects.
3
About Yenlo ๏ Global enterprise, founded in 2007
with an internaFonal focus on delivering integraFon soluFons based on Java open source
๏ #1 in the field of Integra?on Solu?ons
๏ #1 in Managed Services for middleware environments
๏ #1 Global Strategic Alliance partner of WSO2
๏ WSO2 Product Support
๏ WSO2 Development
๏ WSO2 QuickStarts
๏ WSO2 Training & Cer?fica?ons
๏ WSO2 24/7 Managed Services
๏ WSO2 Events
What Yenlo delivers 4
Enterprise Architecture
SoLware Development Managed Services
WSO2 Product Support WSO2 Development Support WSO2 QuickStart
WSO2 Training & Cer?fica?ons WSO2 Managed Services WSO2 Events
Agenda
5
An introducFon to the WSO2 ESB
๏ The need to integrate or connect systems
๏ Key funcFons of the ESB
๏ Use case Internet of Things doorlock and smart thermostat
Hop on the Enterprise Service Bus
6
Perhaps you have heard one of your colleagues men?oning ‘what we need is an ESB to tackle our integra?on issues’ or read in a magazine about the wonders of the Enterprise Service Bus. But what is it exactly?
Service Oriented Architecture
6
o What is SOA? o Architectural approach based on
discrete pieces of software providing functionality as services to other applications. Services are well defined and reusable.
o ESB in the Context of SOA? o SOA: Design/develop smaller
components as services for reusability
o ESB: Communication and interaction between these services
The WSO2 ESB Manager works together with other components
7
The ESB is like a traffic cop
6
“The Enterprise Service Bus acts like a traffic cop, directing communication between systems but also telling you to walk faster”
ESB in the broader picture
6
An ESB is foremost an architectural model. Core of the model is the fact that the ESB acts as a central place for message exchange. An ESB is a cri?cal component of a Service Oriented Architecture (an architectural model where components offer services via messages to other components). The fact that it is called enterprise service bus gives an indica?on where the ESB can play an important role: the Enterprise. Especially in these environments, where a large number of systems and applica?ons are in use, ESB can help organiza?ons to enable new products and services built on these disparate systems. But lets not forget IoT and Cloud!
Image pnwra CC Flickr hcps://www.flickr.com/photos/pnwra/
Monoliths
6
Originally computer systems were designed as so called monoliths. The system performed one or a couple of tasks and kept its data precy much to itself. With the advent of client server architecture and the three-‐?er model: presenta?on – logic – data, monolithic systems became less popular. The separa?on of these ?ers or layers was the beginning of the Service Oriented Architecture movement.
Image Brian Glanz CC Flickr hcps://www.flickr.com/photos/brianglanz/
Point to point connecFons
6
At first, connec?ons between systems were so-‐called point-‐to-‐point communica?on. This means that a direct connec?on was made between the two communica?ng systems. When the number of systems that needed to be connected or exchange informa?on grew, the number of connec?ons that need to be maintained grew more rapidly. Because if you want to have five systems connected to each other you need to define 25 connec?ons (5^2). This becomes quickly unmanageable; imagine an enterprise with 100 separate systems.
A
B
C
D
E
1
2
3
4
5
Hub and Spoke EAI architecture
6
A becer solu?on was needed and that led to the enterprise applica?on integra?on (EAI) products. An advantage over a point-‐to-‐point connec?on but the hub and spoke architecture has now proven to become boclenecks in the system. The enterprise service bus is the next logical step in connec?ng disparate IT systems and programs.
Not only for legacy systems!
6
We already talked about the applica?on infrastructure that you will find in an enterprise. Given the fact that most enterprises have been using IT systems for the becer part of 40 years it’s not uncommon to find systems wricen in almost any imaginable language (from PL/1 to Cobol to PowerDesigner) running on in some cases obscure hardware and opera?ng systems. New devices are also added, how are we going to connect those?
000010 IDENTIFICATION DIVISION.
000020 PROGRAM-‐ID. HELLOWORLD.
000030 DATE-‐WRITTEN. 10/08/04 00:04.
000040 AUTHOR. UNKNOWN AUTHOR.
000050 000100 ENVIRONMENT DIVISION.
000200 CONFIGURATION SECTION.
000210 SOURCE-‐COMPUTER. MAINFRAME.
000220 OBJECT-‐COMPUTER. MAINFRAME.
000230 000300 DATA DIVISION.
000310 WORKING-‐STORAGE SECTION.
000320 01 TEKST PIC X(12)
000330 VALUE "HELLO, WORLD".
000410 000500 PROCEDURE DIVISION.
000600 MAIN-‐LOGIC SECTION.
000700 MAIN-‐LOGIC-‐BEGIN.
000710 DISPLAY TEKST.
000600 MAIN-‐LOGIC-‐END.
000700 STOP RUN.
Working with WSO2 ESB
High-level Message Flow (Programming Model)
Client Service
In Sequence
Out Sequence
Fault Seq.
1 2 3
6 5 4
!
Building Blocks
Client Service
Endpoints
Mediators
Sequences
Transports
Building Blocks
o Sequences o Define logic for handling incoming (request) and outgoing
(response) messages o Sequences list mediators in order of execution
o Mediators o Take action on the message
o Filter, Transform, Drop, Send, Property, Payload Factory
o Endpoints o Define external destination for a message, usually a service
o Transports o Carry messages in a specific format
ESB and Eclipse (DEMO)
6
Message Flow in the ESB
6
Transports and pipes
6
Message mediaFon
6
Transport and pipes
6
Tasks and events
6
Apart from this you can also use tasks and events with the ESB. A task in WSO2 ESB allows you to run a specific piece of code by inser?ng it automa?cally into the ?meline. Events are no?fica?ons published to any system that is interested in this event. Even the ESB itself can listen to events and take ac?on when they arise. An integra?on pacern facilita?ng this is the publish-‐subscribe pacern.
Endless possibiliFes
6
Scalable
6
In order to have a high performance and high availability solu?on the ESB supports thousands of concurrent nonblocking HTTP(s) connec?ons per server that will allow even the most demanding organiza?ons to u?lize the ESB. One of the examples of high load implementa?ons is eBay that has implemented WSO2 ESB and has over 1 billion transac?ons per day. Of course the ESB can also support organiza?ons that have lower demands or requirements.
Try the ESB yourself! Trying the API manager is quite simple. What you need to do to try it on your own PC is:
• Download the WSO2 ESB from the WSO2 website
• Unzip the ESB
• If you don’t have JDK installed, download it and install
• Set the JAVA_HOME parameter
• Go to the BIN directory and start the WSO2Server (bat or sh) file
• Access the consolehcps://localhost:9943/carbon
29
Try the ESB yourself!
On the roadmap for ESB ESB 4.9.0 The core founda?on for a comprehensive Integra?on plazorm as a Service (iPaaS) » Connectors, » Connector Store, » mul?-‐tenanted inbound messaging; » integra?on templates Carbon Version: 4.3.0
28
Flickr CC Jon Rawlinson hcps://www.flickr.com/photos/london/
Internet of Things
6
On the top of Gartner’s Hype Cycle
Introducing Toon
Introducing Okidokeys
�
�
Toon®
Monitor locking the frontdoor lock. If it is closed with a key or from the app we will log in to the smart thermostat and see what program is chosen. If the thermostat is locked to a specific program we leave it as is, if not we set the program to ‘Away’ turning it off.
What would we like to achieve?
Login Okidokey
Call lock status API every 5 minutes
Login Toon (oAuth)
Door closed?
No
Yes
Get Thermostat Status
Locked on program?
Stop
No
Yes
Call API Set to Away
Status
Stop
Discussion IoT and ESB
German example
QuesFons & Answers
30
31
hcp://www.slideshare.net/YenloBV
Download the webinar presentaFon on slideshare:
Contact us !