enterprise service bus - university of california, · pdf fileucla enterprise service bus ......

19
Information Technology S i Enterprise Service Bus An Integration Platform for UCLA Curtis Fornadley, ESB Program Manager Bruin Tech-a-Thon December 11, 2014

Upload: dinhnguyet

Post on 06-Feb-2018

230 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

Enterprise Service BusAn Integration Platform for UCLA

Curtis Fornadley, ESB Program ManagerBruin Tech-a-Thon

December 11, 2014

Page 2: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

UCLA Enterprise Service Bus (ESB)

• The What & Why of Enterprise Service Bus?• How it is Implemented at UCLA• How it is Used - Today and in the Future• Brief Introduction to Web Services

• Purpose: Raise awareness and understanding of ESB on the campus and get people thinking about uses for it in their respective areas.

Page 3: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

My ESBMind Map

Page 4: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

ESB TechnologyMind Map

Page 5: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

Number of Interfaces = n(n-1)/2 ~ n2

Why ESB? Multitudes of point-to-point integrations are costly to build and maintain.

Page 6: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

ESB Enables Real Time Data Exchange

Current data processes are largely built around a daily or weekly batched exchange.

Lacks the infrastructure to enable Real Time data exchange.

Consumer Requests Data

Data Provider Creates Extract

Database

Cron job runs at some interval

Data file sent to a FTP drop

Page 7: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

ESB Provides the Plumbing

ESB = Secure, Scalable, and Cost Effective Way to Manage Information Flow Among Systems.

Page 8: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

ESB and SOA

Service Oriented Architecture (SOA ) is an architectural approach where you Encapsulate and Expose “Services”. It does not prescribe a specific technical implementation.

SOA facilitates Integration and Interaction between systems. If system A exposes services using a SOA you can interact with those

services from system B.

An ESB is a Technical Implementation that aids in delivering a SOA.

There are 2 roles in SOA/ESB Service Provider Service Consumer A software agent may play both roles

Page 9: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

ESB Concepts

ESB first appeared ~2002 Middleware – no UI to visualize

Application to Application Communication

Four Pillars of ESB: Messaging (MOM, queuing) Web Services (SOAP & REST) Transformation (XML, XSLT, JSON…) Routing Intelligence

“Leave and Layer” Asynchronous data sharing

Page 10: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

The UCLA ESB UCPath was the initial driver for ESB at UCLA The Shared UCLA ESB is hosted by IT Services

Red Hat JBoss Fuse - Open source integration platform (ESB) Based on Apache ServiceMix and Java Technologies CXF Service Framework, ActiveMQ (JMS), Camel Routing, OSGi

Robust monitoring with JBoss Operations Network (JON) & AppDynamics

UCB, UCI and UCR are also on Fuse

UCLA ESB follows the PAAS/IAAS model of application tenancy, isolation, capacity modeling, periodic upgrades & best practices

Page 11: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

The UCLA ESB Separate environments (Dev, Test, QA, Prod) to aid integrations

development through the software development lifecycle. All environments run on the IT Services VM Infrastructure

The ESB is Not an application hosting platform. Core business logic and data processing reside outside the

ESB in application data centers and server environments

A WS application can be deployed into the bus as a Service Provider (servicing clients), or as a Service Consumer (invoking services) or both.

Page 12: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

The UCLA ESB Services Production:

ORA Post Award Management System - FS Key Entry WS Bruin Bill Consolidated Billing FS applications IWE Menu’s

QA: UCPath FAU Validation, IDM (Real Time) PeopleSoft/Oracle (batch file interface) All application communication with UC Oracle ODS will be through the UCLA ESB

Pipeline: IAMUCLA Student Affairs/IWE projects Financial System Replacement OPUS Faculty Information System

Page 13: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

Two Kinds of Web Services

Simple Object Access Protocol (SOAP) Defines a standard communication protocol for XML-based message exchange WSDL is an XML-based language for describing Web services to clients and how

to access them Allows for rigid specifications of data exchange format and data types Can use different transport protocols including HTTP

Representational State Transfer (REST) Lightweight, shorter learning curve Consumer can get the contents of an object using an HTTP GET,

Use a POST, PUT, or DELETE to modify or add an object

REST can return text in any format - XML, plain text, JSON, HTML Data consumers need to know what to send and what to expect back

Page 14: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

SOAP Overview

Page 15: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

SOAP ExampleTo get WSDL: http://webservices.it.ucla.edu/iamucla/students/123456789?wsdl

Verbose XML that provides details on how to interact with the service

SOAP Request:<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Body xmlns:m="http://webservices.it.ucla.edu/iamucla"><m:GetStudent>

<m:studentUID>123456789</m:studentUID></m:GetStudent>

</soap:Body></soap:Envelope>

SOAP Response:<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Body xmlns:m="http://webservices.it.ucla.edu/iamucla"><m:GetStudentResponse>

<m:studentUID>123456789</m:studentUID><m:studentName>Joe Bruin</m:studentName>

</m:GetStudentResponse></soap:Body></soap:Envelope>

Page 16: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

REST Example

Assume a method mapped to HTTP Get: http://webservices.it.ucla.edu/iamucla/students/123456789 Result is returned as text:

<student><uid>123456789</uid><name>Joe Bruin</name>

…</student>

Page 17: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

UCLA Campus Web API

Many Web 2.0 web applications have moved away from SOAP-based web services towards RESTful web resources.

RESTful web APIs are accessible via standard HTTP methods by a variety of HTTP clients including browsers and mobile devices… or other services.

Already out there: Google, Yahoo, Twitter, Amazon etc.

ESB can serve as a proxy to provide Restful interfaces to SOAP based web services

Imagine all campus data services, like SRDB, available in this format

Page 18: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

Web API and Microservices

Page 19: Enterprise Service Bus - University of California, · PDF fileUCLA Enterprise Service Bus ... Based on Apache ServiceMix and Java Technologies ... Web API and Microservices

Information Technology S i

Questions?

For More Information:https://spaces.ais.ucla.edu/display/esb/UCLA+Enterprise+Service+Bus

We Are Hiring!The ESB team is looking for Java Programmers

-Senior Integration Developer, ESB (PAIV)-Integration Engineer, ESB (PAIII)-Application Developer, ESB (PAIII)

Curtis [email protected]