28
Introduction to SOI-Toolkit Simplify development of open source based integrations and services Magnus Larsson| [email protected]

Introduction to SOI-Toolkit - Callista Enterprise · Introduction to SOI-Toolkit Simplify development of open source based integrations and services ... • Increasing interest for

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Introduction to SOI-ToolkitSimplify development of open source based integrations and services

Magnus Larsson| [email protected]

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Background

• Increasing interest for open source based integrations and services

– Specifically based on Mule ESB

– For details on Mule ESB see:

– CADEC 2009: SOA and Open Source

– CADEC 2010: Replacing a commercial integration platform with an open source ESB

• Experience from many projects indicates need for an initial establishment phase

– Very much in common for most projects

2

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Things to consider…Before or during development (of in worst case afterwards…)

• Code structures and component model

• Dependency management

• Testing (unit and integration tests)

• Property files for environment specific configuration

• Logging, what to log, when and how

• Software configuration, build, release and deploy management

• Various OSS needs to be glued together

• Catalog of standard high level patterns

Common problems should be given a common solution!

3

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Result

• SOI-Toolkit was born…

– A toolkit for Service Oriented Integration

– Codebase from Volvofinans Bank AB

– Initiated in September and first release during October 2010

– Apache 2.0 license (business friendly)

– http://soi-toolkit.org

• Vision

– Simplify development of open source based integrations and services

– Support all software lifecycle phases of an integration or service

– Initial development, test, operations and maintenance

4

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

SOI-Toolkit - Building Blocks

55

Components

Select

Implement

and Test

Deliverintegrations

and services

integrations and

services

Deployed Integrations and Services

Pattern Catalog

Pattern basedcode generator

Reference Apps Monitor and Trace

Business Demands on

Integrations and ServicesEA and IT Gov. Strategies

Policies and Recommendations

Maintenance

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Supporting all lifecycle phases of a service

6

Enhance code and

rerun tests

Deploy to test

Test with other

systems

Deploy to production

Operations

Select pattern

Generate skeleton

code

Run generated

tests

Maintenance

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Sample high-level Patterns

7

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Pattern based Code Generator Eclipse plugin

8

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Pattern based Code Generator

• Generates

– Code structures

– Maven build files

– Services

– Tests

– Test consumers and test producers

– Logging

– Property files

– Deployable files

• Developer can focus on developing integrations and services using standard Mule functionality!

9

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

TestingHow to test large and complex integrations and services?

10

?

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

TestingMule ESB uses Spring, Maven, Eclipse and jUnit to support local automated unit testing of integrations and services!

11

!Infrastruktur-

komponenter

exekverar

inbäddat

i testerna

Ingen infrastruktur att installera

- Allt som behövs laddas ner av Maven

(med undantag för ftp och sftp server…)

Ingen deploy-fil att skapa…

- Alla tester kör direkt inne i Eclipse

Ingen deploy behöver göras…

- All infrastruktur är inbäddad i Eclipse

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Testing• Integration tests

– PROBLEM: Very often all systems are not ready for test…

12

?

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Testing• SOLUTION: Deploy test-producers (test-stubs)

for affected systems in Mule ESB

– Deploy as separate war-file

13

!

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Tutorial overview-

Demo time!

14

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Tutorial/Demo – SOI Toolkit Ref AppLogical view

15

Dealer system

Order systemShipping system

Mail system

Dealer admin

shippingRequest

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Tutorial/Demo – SOI Toolkit Ref AppPhysical view

16

Dealer system

Order system

Shipping system

Mail system

Dealer admin

Shipping-

Request

ESB (Mule)

Local file adapter (Mule)

Shipping-

Request

JMS + XML

File + XML

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Tutorial/Demo – SOI Toolkit Ref AppTechnical overview

17

Name Transports Transformation Quality of Service

CreateOrder(Dealer Order)

Sync SOAPAsynch JMS

XML CSV • Idempotent Receiver,eliminating duplicate requests.

ShippingRequest(Order Shipping)

JMS File None (XML) • JMS Retry + max retries DLQ.• Self healing connection.• Mule acts as a local file-adapter.

OrderConfirmation(Order Dealer)

JDBC SMTP DB Mime with attachment

• Resend of mail.• Self healing connection.

Dealer system

Order system Shipping system

Mail system

Dealer admin

shippingRequest

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Extended Demo – SOI Toolkit Ref AppPhysical view

18

Dealer system

Order system

Shipping system

Mail system

Dealer adminShipping-

RequestESB

Local

file adapter

Shipping-

Request

JMS + XML

File + XML

BAM (Esper)

BPM (JBoss jBPM)

Order admin

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Extended Demo – SOI Toolkit Ref AppsoapUI instead of a Dealer web-app…

19

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Extended Demo – SOI Toolkit Ref AppBPM – Process Orchestration with Mule ESB + JBoss jBPM

20

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Extended Demo – SOI Toolkit Ref AppBPM – Process decides that Order Admin needs to review an Order

21

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Extended Demo – SOI Toolkit Ref AppMail as Order Confirmation

22

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Extended Demo – SOI Toolkit Ref AppBAM – Business Activity Monitoring with Esper + Grails

23

BAM BILD

No Order Admin involved…

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Extended Demo – SOI Toolkit Ref AppBAM – Business Activity Monitoring with Esper + Grails

24

Order Admin Approves the Order

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Extended Demo – SOI Toolkit Ref App

25

BAM BILD

BAM – Business Activity Monitoring with Esper + Grails

Order Admin Cancel the Order

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Extended Demo – SOI Toolkit Ref AppBAM – Business Activity Monitoring with Esper + Grails

26

Order Admin is away…

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

You have seen the following in action…

27

Business

Systems

Core

Services

COTS Legacy

Composite

Services

Business Process

Management

Business

Systems Portals Web Apps

Inhouse

Service

Consumers Managem

ent &

Monito

ring

CE

P -

BA

M

Mule ESB

Apache CXF & Active MQ

JBoss jBPM

Esper

Grails

(Tracer)

SOI - Toolkit

Smooks

© 2011 Callista Enterprise | www.callistaenterprise.seCADEC 2011, Introduction to SOI-Toolkit

Want to know more?Visit http://soi-toolkit.org!

28