mule

Mule 2 and Beyond

Ross Mason

CTO, Co-founder,

MuleSource Inc.

Agenda

?What is Mule?

?Introduction to Mule 2

–New platform

–New features

?Beyond Mule 2

–OSGi

?What else is going on with Mule?

–Review

–MuleForge

–MuleIDE

What is Mule?

Overview

What is Mule ESB?

Mule 2 - Buzzwords

?“Service Container”

?“Routing and Mediation Engine”

?“Runtime environment”

?“Light-weight, Embeddable”

?“Integration Platform”

?“SOA backbone”

?“Distributed Application

Environment”

Spring features in Mule

?Namespace Handlers

–Schema based Con?guration

–Xml no longer contains framework class name –Much more descriptive

–IDE / Editor friendly: code completion ?AOP Support

–New validation and monitoring possibilities ?Improved Transaction Integration ?JDBC / DAO support

Namespace Handlers

?Mule 1.x Con?guration

1

2

3

4

5

6

7

8

9

10

11

12

13

Namespace Handlers

?Mule 2.0 Con?guration

–No class names

–Properties are de?ned in the schema

–Validation that the properties are set correctly

Using different modules (namespaces)

xmlns:xsi="https://www.360docs.net/doc/4d2349831.html,/2001/XMLSchema-instance"

xmlns:spring="https://www.360docs.net/doc/4d2349831.html,/schema/beans"

xmlns:jdbc="https://www.360docs.net/doc/4d2349831.html,/schema/mule/jdbc/2.0">

. . .

Configuration Repository

?Con?guration can

be managed

centrally or per

server.

?Support for multiple

repositories.

?Mix and match

con?gurations for

different apps.

Under the Covers

?No more Mule Manager

–Replaced by ManagementContext ?Better Lifecycle support

–Registries manage object lifecycle ?Performance Optimization ?Improved QA

?OSGi Ready

Mule Streaming

?Allows services to consume very large events in an ef?cient way

?Event payloads are not read into memory ?Simple routing rules based on event meta-data still possible

?Can combine Streaming and non-streaming endpoints

?Support for Streaming Transformers…

–on the todo list

?Streaming support in Mule 2:

–SOAP, File, FTP, FTPS, TCP, SSL, HTTP and HTTPS

Streaming Example

?Streaming components are hosted in the streaming-model

?In Mule 2.0 the Streaming behaviour can be ‘discovered’

?Can mix non-streaming components by adding different component models

Calling out to another service ?Using Java interface bindings

Nested Router Bindings

. . . .

public interface CreditChecker

{

public void validate(PaymentDetails pd) throws ValidationException; }

Implementation

public class AmulzonService implements BookstoreService { private CreditChecker creditChecker;

public ProcessedOrder process(Order order) {

ProcessedOrder po = new ProcessedOrder(order); try {

creditChecker.validate(order.getPaymentDetails()); po.setSuccessful(“Order was processed sucessfully”); } catch (ValidationException e) { po.setFailed(e.getMessage()); }

return po; }

// setCreditChecker(..), getCreditChecker()}

Looking ahead

Beyond Mule 2.0

What is OSGi?

?Open Services Gateway Initiative ?Dynamic module system for Java ? A sort of Java OS

?SOA within your app!

Benefits of OSGi

?Plug & Play!

?Change parts of your app. dynamically without

requiring restarts

?Components dynamically discover each other for

collaboration

?Increased security: more isolation between modules of your app.

相关主题
相关文档
最新文档