TIBCO BusinessWorks 6: Integration, DevOps &...

24
TIBCO BusinessWorks 6: Integration, DevOps & Microservices TIBCO Fast Data Day Franfurt, Germany, 29.10.2015 Florian von Walter Director, Global Presales Product Group

Transcript of TIBCO BusinessWorks 6: Integration, DevOps &...

Page 1: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

TIBCO BusinessWorks 6: Integration, DevOps & Microservices

TIBCO Fast Data Day

Franfurt, Germany, 29.10.2015

Florian von Walter

Director, Global Presales Product Group

Page 2: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. This document is provided for informational purposes only and its contents are subject to change without notice. TIBCO makes no warranties, express or implied, in or relating to this document or any information in it, including, without limitation, that this document, or any information in it, is error-free or meets any conditions of merchantability or fitness for a particular purpose. This document may not be reproduced or transmitted in any form or by any means without our prior written permission.

The material provided is for informational purposes only, and should not be relied on in making a purchasing decision. The information is not a commitment, promise or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion.

During the course of this presentation TIBCO or its representatives may make forward-looking statements regarding future events, TIBCO’s future results or our future financial performance. These statements are based on management’s current expectations. Although we believe that the expectations reflected in the forward-looking statements contained in this presentation are reasonable, these expectations or any of the forward-looking statements could prove to be incorrect and actual results or financial performance could differ materially from those stated herein. TIBCO does not undertake to update any forward-looking statement that may be made from time to time or on its behalf.

Disclaimer

© Copyright 2015 TIBCO Software Inc.

Page 3: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

BusinessWorks ...

... does Integration

... supports multiple architecture styles

... supports the Microservices architecture style

... is DevOps enabled

Getting to Microservices is a journey

Key Take-aways

Page 4: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

Data

Systems

People

Process

Things

Integration

Human

Insight

Analyze

Optimize

Discover

Report

Analytics Event Processing

Live Analysis

Events

Discovery

Alerting

Intelligent

Technologies

APIs

Cloud

Fast

Data

Automated

Actions…

Contextual

Processes…

Cross-Channel

Notifications…

© Copyright 2000-2015 TIBCO Software Inc.

Integration - the foundation for Fast Data

Page 5: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

Messaging

Integration

API Management

B2B

MFT

MDM

Mainframe Integration

Cloud Integration

Connecting the enterprise since +15 years: From EAI over ESB and SOA to Microservices:BusinessWorks supports it all

EAI

ESB

SOA

MicroServices

BusinessWorks: THE Integration Platform

Page 6: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

MessagingEMS, FTL, Rendezvous

IntegrationBusinessWorks + Adapters/Plugins

API ManagementMashery /

API Exchange

B2BBusinessConnect

MFT

MDM

Mainframe Integration

Cloud Integration

Connecting the enterprise since +15 years: From EAI over ESB and SOA to Microservices:BusinessWorks supports it all

EAI

ESB

SOA

MicroServices

BusinessWorks: THE Integration Platform

Page 7: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

7

© Copyright 2000-2015 TIBCO Software Inc.

BusinessWorks - Connecting the Enterprise

Adapters

1. Adapter for Database

2. Adapter for File

3. Adapter for IBMi

4. Adapter for LDAP

5. Adapter for PeopleSoft

6. Adapter for SAP

7. Adapter for Siebel

8. Adapter Framework for

BW6

Plugins

1. ActiveSpaces

2. Big Data

3. CICS

4. Data Conversion

5. EJB

6. FTL Palette

7. IBMi Plugin

8. Large XML

9. MDM

10.MFT

11.MS Dynamics CRM

Plugins

12.Marketo

13.Mobile Integration

14.Netsuite

15.Oracle E-Business

16.Salesforce.com

17.Secure FTP

18.Sharepoint

19.SmartMapper

20.Websphere MQ

21.BW Unit Test

22.Maven BW New

New

New

New

New

New

Page 8: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

Your definition of Microservices?

One definition:

“Microservice architectural style is an approach to developing a single

application as a suite of small services, each running in its own process and

communicating with lightweight mechanisms, often an HTTP resource API.”- James Lewis, Martin Fowler

Another definition:

A Microservice is a loosely coupled service oriented architecture with

bounded contexts.- Adrian Cockroft

What are Microservices?

Page 9: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

• Componentization via Services

• Organized around Business Capabilities

• Products not Projects

• Smart endpoints and dumb pipes

• Decentralized Governance

• Decentralized Data Management

• Infrastructure Automation

• Design for failure

• Evolutionary Design

Source: http://martinfowler.com/microservices/#what

Some Microservices Characteristics

Page 10: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

• Fine granularity

• Clear responsibility per service (Bounded Context!)

• Clear boundaries (service contracts)

• Loosely coupled - (async) messaging between services

• No functional overlap

• Limit or avoid state in services to allow scalability

• Automation

… and many more

Some requirements for Microservices approach

Page 11: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

DevOps =

Enabler for

Microservices

Some key components

• CI: Continuous integration

• CD: Continuous delivery

• Automated testing

• Automated builds

• Automated infrastructure

• End-to-end monitoring

• Central log management

DevOps & Microservices

Page 12: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

BusinessWorks supports Microservices architecture style:

• Componetization via Application Modules, Shared

Modules & tailored deployment via EARs

• Support for inherently distributed architecture via

messaging

• Enabled for DevOps – full CLI/scripting tooling available

• Supports architectural requirements

Microservices Architecture with BusinessWorks

Page 13: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

Microservices Architecture Example

Customer v2

Product

Order

SQL

Mongo

SQL

Cache

API Gateway

Web Server

Order Handling

Customer v1

Customer Router

Service X

Bounded Context

WebService

REST

JMS

REST/JSON

JMS

REST

HTTP

REST/XML

REST/JSON

REST/JSON

Page 14: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

Sample BW DevOps Pipeline

BusinessStudio

Automated BuildAnt & bwdesign(generates EAR)

AutomatedDeployment(bwadmin)

Jenkins

Version Control

Automated Testingcurl/soapUI/other

Commit & Push

Notify via Commit Hook

Check out

Deploy to testenvironment

AutomatedDeployment(bwadmin)

Deploy toproduction

environment

ConfigureMonitoring &

Logging

On successOn success

Page 15: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

• Clear responsibility

• One BusinessWorks Application Module per service

• BusinessWorks Shared modules for schemas, service contracts and other sharedresources

• Avoid dependencies between service implementations

– Use well-defined contracts

– Use loose coupling via messaging

• Version control for services:

– Use versioned URLs, destinations or namespaces

– Use routing to provide single endpoint for multiple versions of same service

• Still valid and important:

– ESB concepts (routing, protocol bridging, transformation, mapping, etc.)

– SOA concepts

– Enterprise Integration Patterns (http://www.enterpriseintegrationpatterns.com/ )

Service Design

Page 16: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

Topic Tools

Service contracts Swagger, IODocs, WSDL

Version control Subversion, Git, etc.

Automated builds Ant, Maven etc.

Continuous build & integration Jenkins, Commit hooks

Automated testing soapUI, curl, wget, BusinessWorks,…

Continuous integration Jenkins

Log management LogLogic

Monitoring & Alerting TEA, Hawk, LifeView, etc.

DevOps tooling pipeline

Page 17: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

Automation with BusinessWorks

DevOpsfully

supported

Step Tool Activities

Install TIBCO Universal Installer

Silent install (runtime only)

Configure bwadmin Create domain, AppSpace, AppNodes

Build bwdesign Import, validate, build projects

Deploy bwadmin upload, deploy, start BW Apps (EAR)

Test Bwtest, BusinessWorks

generate client, build unit tests, drive integration tests

Scale bwadmin add/remove servers/AppNodes

Page 18: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

#!/bin/bash

export GITREPOUSERNAME=<user>

export GITREPOPASSWORD=<password>

export GITREPOHOST=<host>

export GITREPOPATH=<repopath>

export PATH=/opt/tibco/bw-622/bw/6.2/bin:$PATH

export BUILDDIR=/tmp/bwbuild

mkdir -p $BUILDDIR

cd $BUILDDIR

git -c http.sslVerify=false clonehttps://$GITREPOUSERNAME:$GITREPOPASSWORD@$GITREPOHOST/$GITREPOPATH

# continued on right column...

cat > bwdesignscript.txt <<EOF

pwd

system:import $BUILDDIR/<project>/src/bw

ls

system:validate

system:export tibco.bw.samples.micro.book

system:export tibco.bw.samples.micro.bookinfo

system:export tibco.bw.samples.micro.bookinventory

system:export tibco.bw.samples.micro.order

quit

EOF

bwdesign -data $BUILDDIR/bstworkspace execute$BUILDDIR/bwdesignscript.txt

Example Build Script

Page 19: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

Monitoring

• TEA

• Hawk

– Plugins for BusinessWorks, EMS,

OS etc.

• EMS Central Console

• Integration into existing

monitoring infrastructure via Hawk

via Hawk SNMP Plugin, CLI, API

Log Management

• LogLogic for central log

management

– Collect log entries in central

database

– Search & correlate logs in one

place

Operations

Page 20: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

• Policy management

– Security (authentication, authorization)

– Encryption & Digital Signature

– Throttling

– Protocol bridging

– Censorship

– …

• API Management

– Access portal for API consumers

(internal or external developers)

– Publish API documentation

– …

API Management

MasheryAPI Exchange

Page 21: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

Disclaimer: Docker is currently not officially supported by TIBCO

• Run BusinessWorks services in Docker

• Complete service runtime in one package:

– JVM

– BW runtime

– EAR + dependencies

• One EAR per Docker image

• Use Docker volumes for log files

• Log messages go to stdout/stderr as event stream

• Linked images for persistence (i.e. database, document store)

Using Containers (Docker)

Page 22: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

BusinessWorks ...

• ... does Integration

• ... supports multiple architecture styles

• ... supports the Microservices architecture style

• ... is DevOps enabled

Getting to DevOps and Microservices is a journey.

Summary

Page 23: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

• Git: https://git-scm.com/

• Subversion: https://subversion.apache.org/

• Jenkins CI: https://jenkins-ci.org/

• Ant: https://ant.apache.org/

• Maven: https://maven.apache.org/

• Microservices: http://martinfowler.com/microservices/

• 12 Factor: http://12factor.net/

• Reactive Manifesto: http://www.reactivemanifesto.org/

References

Page 24: TIBCO BusinessWorks 6: Integration, DevOps & Microservicestibco.comevents.de/fastdata/followup/pdf/track1/2015O… ·  · 2015-11-11TIBCO BusinessWorks 6: Integration, DevOps & Microservices

Q & A