SOA-14: Continuous Integration in SOA Projects Andreas Gies

Similar documents
SOA-14: Continuous Integration in SOA Projects Andreas Gies

RED HAT JBOSS FUSE. A lightweight, flexible integration platform

RED HAT JBOSS FUSE A lightweight, lexible integration platform

ESB, OSGi, and the Cloud

Service Oriented Integration With Apache ServiceMix

Chapter 9. Inter-Bundle Communication

Hiram Chirino Platform Architect June 5th Whats's new in Fuse 6.2

A4M36ISS: Introduction. Jiří Pechanec QA Engineer September 17 th, 2015

JBI based ESB as backbone for SOI applications. Michael Wisler Zühlke Engineering AG Submission ID: 687

Real World Messaging With Apache ActiveMQ. Bruce Snyder 7 Nov 2008 New Orleans, Louisiana

Service Oriented Integration With Apache ServiceMix. Bruce Snyder 21 Nov 2008 Malmo, Sweden

Wednesday, May 22, 13. Java Business Integration

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. Kai Wähner

SOA Jumpstart for Federal Projects

Microservices with Red Hat. JBoss Fuse

Talend ESB. Getting Started Guide 5.2.1

Red Hat JBoss Fuse 6.1

Red Hat JBoss Fuse 6.0

Software MEIC. (Lesson 20)

Joram configuration from clustering to WAN distribution

Performance Benchmarking an Enterprise Message Bus. Anurag Sharma Pramod Sharma Sumant Vashisth

Building Large Scale Distributed Systems with AMQP. Ted Ross

Why real integration developers ride Camels

Upgrade Your MuleESB with Solace s Messaging Infrastructure

Solace JMS Integration with Red Hat JBoss Fuse (6.0)

Oracle Fusion Middleware

Overview SENTINET 3.1

: ESB Implementation Profile

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc.

Oliver Wulff / Talend. Flexibles Service Enabling mit Apache CXF

Module Day Topic. 1 Definition of Cloud Computing and its Basics

Purplefinder Enterprise Platform Messagng with ActiveMQ. Peter Potts 13 th October 2010

Open ESB v2, Open ESB.next and Project Fuji. Andreas Egloff Lead Architect SOA / Business Integration Sun Microsystems

Quick Start. Scalable Deployers in SDL Web 8.5. Feb 2017 SDL Web. Document owner: Richard Hamlyn

Vortex Whitepaper. Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems

Introducing Apache Geronimo 1.1. Aaron Mulder CTO, Chariot Solutions Committer, Apache Geronimo

Red Hat AMQ 7.2 Introducing Red Hat AMQ 7

Under the Paul Fremantle, CTO, WSO2

Red Hat JBoss Fuse 6.2.1

Complex event detection on an enterprise service bus

The coolest place on earth

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

presentation DAD Distributed Applications Development Cristian Toma

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon

Software MEIC. (Lesson 20)

CUSTOMIZE & SECURE YOUR ENTERPRISE MOBILE SALESFORCE INTEGRATIONS LIKE RED HAT

Apache Camel: Integration Nirvana

Web Services without JEE

Introduction to JMS & Apache ActiveMQ

J2EE Development with Apache Geronimo. Aaron Mulder Chariot Solutions

IEC : Implementation Profile

Middleware definitions and overview

Sentinet for Microsoft Azure SENTINET

OpenIAM Identity and Access Manager Technical Architecture Overview

Cloud-Native Applications. Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0

java message service marek konieczny

Project Creation Review

W H I T E P A P E R : O P E N. V P N C L O U D. Implementing A Secure OpenVPN Cloud

IBM WebSphere Business Integration Event Broker and Message Broker V5.0

Red Hat JBoss Fuse 6.3

Computer Network Architecture

MODERN APPLICATION ARCHITECTURE DEMO. Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift

Crossing boarders with the bus Integrating enterprise data with public APIs!

Integrating Legacy Assets Using J2EE Web Services

OpenESB Keh-Yoe Ong FAST (Field Assistance Support Team)

Introduction to WebSphere Platform Messaging (WPM)

Predicts 2004: Enterprise Service Buses Are Taking Off

Eclipse SOA Tooling Platform: Project Overview. An Overview of the Eclipse STP (SOA Tooling Platform) Project

Rapid Large-Scale SOA - Connected Products at Leapfrog Enterprises

LogicBlaze FUSE for WebSphere Application Server Community Edition Integration Guide

Eclipse SOA Tools Platform Project

Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze

J2EE Development with Apache Geronimo 1.1. Aaron Mulder CTO, Chariot Solutions Committer, Apache Geronimo

Technical Overview. Elastic Path Commerce

Introduction to WebSphere Platform Messaging (WPM)

Camel User Guide. Apache ServiceMix Version 4.5.0

JBoss to Geronimo - EJB-Session Beans Migration

Reactive App using Actor model & Apache Spark. Rahul Kumar Software

Sentinet for BizTalk Server SENTINET

Tackling Application Integration Nightmares with WSO2 ESB. Hiranya Jayathilaka

Architectural patterns and models for implementing CSPA

GlassFish High Availability Overview

PoS(ISGC 2011 & OGF 31)115

Apache CXF Web Services

Datacenter replication solution with quasardb

Red Hat JBoss Fuse 6.1

lean enterprise middleware High Volume Web API Management with WSO2 ESB

Artix ESB. Getting Started with Artix. Version 5.5, December 2008

System Specification

AN EVENTFUL TOUR FROM ENTERPRISE INTEGRATION TO SERVERLESS. Marius Bogoevici Christian Posta 9 May, 2018

Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's

Quickstart Guide. Apache ServiceMix Version SNAPSHOT

WSDM = Web Services Distributed Management, an open standard/specified ratified by OASIS

The BROADEN Distributed Tool, Service and Data Architecture

Boss integration and automation. Tal Portal JBoss Enterprise Consultant

Services Oriented Architecture and the Enterprise Services Bus

Cisco Group Encrypted Transport VPN

1.2. Name(s) and address of Document Author(s)/Supplier: Sahoo: 1.3. Date of This Document: 12 July 2008

Enterprise Messaging With ActiveMQ and Spring JMS

Best Practices for Extending the WAN into AWS (IaaS) with SD-WAN

Transcription:

Service Mix 4 Topologies Principal Architect http://www.fusesource.com http://open-source-adventures.blogspot.com About the Author Principal Architect PROGRESS - Open Source Center of Competence Degree in Computer Science from the University of the German Forces 1992 Working with middleware like MOMs, CORBA, J2EE, WS and ESBs ever since for Sterling Software, Iona Technologies and PROGRESS Specialized on ESB based architectures since 2002 2 Software used for the examples The examples are based on the FUSE releases of Apache ServiceMix and Apache ActiveMQ The FUSE community provides Access to Committers as many Apache commiters are employed by the FUSE team 3 Enterprise support Open source adaption in the enterprise requires 24x7 reliable support Increased testing on a CI environment maintained by the FUSE team Enterprise qualities of service Ensuring sensible Enterprise deployment and backwards compatibility Documentation and training for the Apache projects released under the FUSE brand Backed by large, enterprise company 1

FUSE products FUSE ESB 3 Based on Apache Service Mix 3 FUSE ESB 4 Based on Apache Service Mix 4 FUSE Message Broker Based on Apache ActiveMQ FUSE Services Framework Based on Apache CXF FUSE Mediation Router Based on Apache Camel FUSE Integration Designer Eclipse tooling for implementing EIP flows FUSE HQ Management and Monitoring of the FUSE infrastructure 4 FUSE ESB 4 default topology 5 Why do we look at topologies? Topology the physical layout of a FUSE ESB 4 deployment Requirements of scalability, fault tolerance and reach can be addressed by using multiple FUSE ESB 4 instances Patterns are required to achieve an extensible, maintainable and deployable topology The patterns involve naming conventions and required configuration elements 6 2

FUSE ESB 4 default topology 7 FUSE ESB 4 default topology Message Broker Kernel Api bundles JBI CXF Camel Console ActiveMQ Jetty Scripting Admin Spring DM Logging Provisioning Deployer OSGi 8 FUSE ESB 4 default topology OSGi Kernel with standard extensions for logging, Spring support, Administration, Provisioning, Deployment and an extensible shell API bundles can be installed if they are required by the applications on the node Typically provide OSGi wrapped API libraries like Camel, CXF, ActiveMQ etc. API bundles are typically provided by a provisioning infrastructure based on Maven bundles contain the communication endpoints and integration flows The Message broker configuration is also placed in the application layer as this is one key element investigating different communication topologies 9 3

FUSE ESB 4 default topology - simplified Message Broker FUSE ESB Instance Symbol Usage The Transport Connector of the message brokers used by messaging clients The Network Connector of the message brokers are used to interconnect brokers The Client Connectors are JMS connections that provide JMS connectivity to the application bundles We will concentrate on JMS topologies with the FUSE ESB 10 FUSE ESB 4 default topology multiple nodes Network of Nodes Most simple setup Established with a simple Multicast Network connector Requires a multicast connection for dynamic discovery 11 FUSE ESB 4 default topology multiple nodes Network of Nodes Within broker configuration on each node define a discoveryuri for the transportconnector define a multicast network connector for that uri <transportconnectors> <transportconnector uri="tcp://scrooged:61616" discoveryuri="multicast://default" /> </transportconnectors> <networkconnectors> <networkconnector uri="multicast://default" /> </networkconnectors> 12 4

FUSE ESB 4 default topology multiple nodes List of Nodes Requires a specific setup for each node to connect only to the peer broker Connector can be a normal tcp or multicast connection Requires a multicast connection for dynamic discovery 13 FUSE ESB 4 default topology multiple nodes List of Nodes Easiest to establish with static network connection from each successor to it s predecessor in the list Important to set the duplex property to true 14 <transportconnectors> <transportconnector uri="tcp://scrooged:61616"/> </transportconnectors> <networkconnectors> <networkconnector uri= tcp://donald:61616" duplex= true /> </networkconnectors> FUSE ESB 4 lean messaging set up Lean Messaging Requires a message broker setup in only one node containers are not longer autonomous in terms of the communication infrastructure Does not require a network connector setup Is a classical hub and spoke topology 15 5

Service Mix 4 default topology 16 Geographically distributing FUSE ESB Nodes Node A Node B Node C Node D 17 Geographically distributed FUSE ESB nodes Within each node configure the brokers and restrict multicast discovery to a group corresponding to the node <transportconnectors> <transportconnector uri="tcp://scrooged:61616" discoveryuri="multicast://224.1.2.3?group=nodea" /> </transportconnectors> <networkconnectors> <networkconnector uri="multicast://224.1.2.3?group=nodea" /> </networkconnectors> 18 6

19 Geographically distributed FUSE ESB nodes Within the connecting Brokers add a transport connector with a global discoveryuri Also add a network connector connecting to that discoveryuri <transportconnectors> <transportconnector uri="tcp://scrooged:61616" discoveryuri="multicast://224.1.2.3:6256?group=nodea" /> <transportconnector uri="tcp://scrooged:61618" discoveryuri="multicast://224.1.2.3:6255?group=global" /> </transportconnectors> <networkconnectors> <networkconnector uri="multicast://224.1.2.3:6256?group=nodea" /> <networkconnector uri="multicast://224.1.2.3:6255?group=global" /> </networkconnectors> FUSE ESB 4 default topology 20 Scaling Services 21 Normally services can work as concurrent consumers on the same JMS queue The message brokers will distribute the messages across all service instances Message ordering might be important For all messages within a given destination =>Only one service is allowed to be active at any given time Only for groups of messages sent to a given queue =>Use JMS Message groups in that case 7

Scaling the messaging layer A normal Network of Nodes or List of Nodes can be used to address the messaging throughput Messaging throughput and latency might be concurrent goals Normally a Network of Nodes yields in lower message latency A List of Nodes is more a bus like Architecture with a minimal number of connections and low message volumes 22 Fan out strategy Used to push out a large number of events to a large number of consuming services A typical fan out factor is 1:50 The configuration should be done using static routes from the successors to their predecessors The message broker in the last tree level is optional 23 Service Mix 4 default topology 25 8

Highly available services Normally multiple instances of a service can be deployed to achieve fault tolerance Exclusive consumers may be used in cases where only a single Service is allowed at any point in time JMS Message groups will guarantee that all messages within one group are processed by the same Service instance 26 High Availability in the messaging layer The topologies discussed provide a certain level of fault tolerance already Sometimes it is required that one broker can take over seamlessly from another broker This can be achieved by configuring a master slave configuration Master/Slave pairs can then be combined into a network of Master/Slave brokers Network of Master/Slaves should be using multicast discovery for ease of configuration Easiest configuration was a shared directory between the Master and the Slave 27 High Availability in the messaging layer 28 9

Service Mix 4 default topology 29 Conclusion The FUSE ESB 4 default topology provides a quick start into the development and deployment of OSGi based Services We have shown patterns that address more throughput, message latency or fault tolerance Combining those patterns as shown in the geographic distribution sample allows for very flexible enterprise wide deployments It is important to sketch out the deployment and define naming conventions for all components deployed 30 References The Apache ServiceMix web site http://servicemix.apache.org The FUSE ESB web site http://fusesource.com/products/enterprise-servicemix4/ The Apache ActiveMQ web site http://activemq.apache.org The FUSE Message Broker web site http://fusesource.com/products/enterprise-activemq/ The FUSE community http://www.fusesource.com 31 10

Questions? Come and talk to us at http://fusesource.com/forums/index.jspa 32 Thank You 33 11