Webinar: Distributed OSGi nodes with Spagic

29
1 www.eng.it Open Source SOA Universal Middleware Distributed OSGi nodes with Spagic 3 Version 3.0

description

Presentation supporting the webinar delivered by Gianfranco Boccalon on 29th April 2010 within SpagoWorld Webinar Center.

Transcript of Webinar: Distributed OSGi nodes with Spagic

Page 1: Webinar: Distributed OSGi nodes with Spagic

1www.eng.it

Open Source SOA Universal MiddlewareDistributed OSGi nodes with Spagic 3

Version 3.0

Page 2: Webinar: Distributed OSGi nodes with Spagic

2www.eng.it

What you will see in this Webinar

Topics of this Webinar

� Introduction: Spagic main features

� Distributed Service Execution

� Technical Explanation

Page 3: Webinar: Distributed OSGi nodes with Spagic

3www.eng.it

Introduction: Spagic SOA Universal Middleware

� Life-cycle management

� Monitoring

� Modularization� Reusability

� Versioning

� Standardization

It’s a platform for creating new servicesIt’s a platform for creating new services

Page 4: Webinar: Distributed OSGi nodes with Spagic

4www.eng.it

It’s a platform for composing servicesIt’s a platform for composing services

The design of processes is done through the BPMN standard :

� Opportunity to mix automatic services and human activities� Roles separation on human activities

� Process Monitoring

Introduction: Spagic SOA Universal Middleware

Page 5: Webinar: Distributed OSGi nodes with Spagic

5www.eng.it

Introduction: Spagic Architecture

Page 6: Webinar: Distributed OSGi nodes with Spagic

6www.eng.it

This feature applies to service execution within orchestration processesThis feature applies to service execution within orchestration processes

Distributed Service Execution

Page 7: Webinar: Distributed OSGi nodes with Spagic

7www.eng.it

Default execution model

Spagic Service Manager

All services deployed on a single Service Manager instanceA specific service is dedicated to the orchestration of other services

All services deployed on a single Service Manager instanceA specific service is dedicated to the orchestration of other services

Page 8: Webinar: Distributed OSGi nodes with Spagic

8www.eng.it

Default execution model

Spagic Service Manager

Page 9: Webinar: Distributed OSGi nodes with Spagic

9www.eng.it

Default execution model

Spagic Service Manager

Page 10: Webinar: Distributed OSGi nodes with Spagic

10www.eng.it

Default execution model

Spagic Service Manager

Page 11: Webinar: Distributed OSGi nodes with Spagic

11www.eng.it

Distributed execution model

SpagicService Manager 2

SpagicService Manager 1

CreditCheckCreditCheck

ConfirmOrderConfirmOrder

NotifyNoCreditNotifyNoCredit

InvoiceGenerationInvoiceGeneration

……

Page 12: Webinar: Distributed OSGi nodes with Spagic

12www.eng.it

Distributed execution model

SpagicService Manager 2

SpagicService Manager 1

CreditCheckCreditCheck

ConfirmOrderConfirmOrder

NotifyNoCreditNotifyNoCredit

InvoiceGenerationInvoiceGeneration

……

Page 13: Webinar: Distributed OSGi nodes with Spagic

13www.eng.it

Distributed execution model

SpagicService Manager 2

SpagicService Manager 1

CreditCheckCreditCheck

ConfirmOrderConfirmOrder

NotifyNoCreditNotifyNoCredit

InvoiceGenerationInvoiceGeneration

……

Page 14: Webinar: Distributed OSGi nodes with Spagic

14www.eng.it

Distributed execution model

SpagicService Manager 2

SpagicService Manager 1

CreditCheckCreditCheck

ConfirmOrderConfirmOrder

NotifyNoCreditNotifyNoCredit

InvoiceGenerationInvoiceGeneration

……

Page 15: Webinar: Distributed OSGi nodes with Spagic

15www.eng.it

Spagic Console

A single monitoring console for all Service Manager instancesA single monitoring console for all Service Manager instances

Page 16: Webinar: Distributed OSGi nodes with Spagic

16www.eng.it

Technical insight: Services Activation

How is the interaction between components performed ?The components send and receive messages

How is the interaction between components performed ?The components send and receive messages

Page 17: Webinar: Distributed OSGi nodes with Spagic

17www.eng.it

Technical insight: Services Activation

The components don’t interact directlyThe components don’t interact directly

Page 18: Webinar: Distributed OSGi nodes with Spagic

18www.eng.it

Technical insight: Services Activation

Spagic Normalized Message RouterSpagic Normalized Message Router

Page 19: Webinar: Distributed OSGi nodes with Spagic

19www.eng.it

Technical insight: Services Activation

Spagic Normalized Message RouterSpagic Normalized Message Router

OSGi EventAdminOSGi EventAdmin

Page 20: Webinar: Distributed OSGi nodes with Spagic

20www.eng.it

OSGi Event Admin Service

Event SourceEvent Source

OSGi EventAdminOSGi EventAdmin

Event SourceEvent Source

Event HandlerEvent Handler Event HandlerEvent Handler

SendSend

Event HandlerEvent Handler

NotifyNotify

SendSend

NotifyNotify NotifyNotify

Page 21: Webinar: Distributed OSGi nodes with Spagic

21www.eng.it

A Message Oriented Middleware (MOM)

The services interact with messagesThe services interact with messages

Page 22: Webinar: Distributed OSGi nodes with Spagic

22www.eng.it

Courtesy of EcpliseSourcehttp://eclipsesource.com/blogs/2009/06/16/distributed-osgi-eventadmin-service/

The Distributed Event Admin Service

Page 23: Webinar: Distributed OSGi nodes with Spagic

23www.eng.it

Technical insight: Services Activation

Spagic NormalizedMessage Router 1

Spagic NormalizedMessage Router 1

OSGi DistributedEventAdmin

OSGi DistributedEventAdmin

Message Persistence Queue

Spagic NormalizedMessage Router 2

Spagic NormalizedMessage Router 2

OSGi DistributedEventAdmin

OSGi DistributedEventAdmin

Spagic NormalizedMessage Router 2

Spagic NormalizedMessage Router 2

OSGi DistributedEventAdmin

OSGi DistributedEventAdmin

OSGi DistributedEventAdmin

OSGi DistributedEventAdmin

Spagic NormalizedMessage Router 2

Spagic NormalizedMessage Router 2

OSGi DistributedEventAdmin

OSGi DistributedEventAdmin

Spagic NormalizedMessage Router 2

Spagic NormalizedMessage Router 2

OSGi DistributedEventAdmin

OSGi DistributedEventAdmin

Page 24: Webinar: Distributed OSGi nodes with Spagic

24www.eng.it

Distributed execution model

The Service Manager always “tries” to execute the service locallyThe Service Manager always “tries” to execute the service locally

SpagicService Manager 2

SpagicService Manager 1

CreditCheckCreditCheck

ConfirmOrderConfirmOrder

NotifyNoCreditNotifyNoCredit

InvoiceGenerationInvoiceGeneration

……

Page 25: Webinar: Distributed OSGi nodes with Spagic

25www.eng.it

Distributed execution model

The Service Manager always “tries” to execute the service locallyThe Service Manager always “tries” to execute the service locally

SpagicService Manager 2

SpagicService Manager 1

CreditCheckCreditCheck

ConfirmOrderConfirmOrder

NotifyNoCreditNotifyNoCredit

InvoiceGenerationInvoiceGeneration

……

CreditCheckCreditCheck

Page 26: Webinar: Distributed OSGi nodes with Spagic

26www.eng.it

Spagic Deployment Models

Enterprise Node

OSGi Service ContainerOSGi Service Container

ESBESB

Lite Node

OSGi Service ContainerOSGi Service Container

Java App. Server

OSGi Service ContainerApp Library

CustomApplication

Different deployment models availableDifferent deployment models available

Page 27: Webinar: Distributed OSGi nodes with Spagic

27www.eng.it

Some limitations

� BPEL Apache ODE engine, extended for the use of:

� OSGi Spagic connectors

� OSGi Bundles, as rules engine, CEP, Quartz, mail, XSLT, HL7

� Spagic Monitor for BPEL orchestration

Apache ODE (BPEL eng)Apache ODE (BPEL eng)

Spagic Service Manager (Equinox OSGi)

Apache Tomcat

Spagic MonitorSpagic Monitor

The feature is not available for BPEL processesThe feature is not available for BPEL processes

Page 28: Webinar: Distributed OSGi nodes with Spagic

28www.eng.it

Next steps

� Spagic 3 will be available on the OW2 Forge(http://forge.ow2.org/projects/spagic) by the end of April

� At now on the forge you find the release 3 RC (Release Candidate)

� On the next releases we’ll focus on the development of new services and connectors and we’ll provide new monitoring and management features

Page 29: Webinar: Distributed OSGi nodes with Spagic

29www.eng.it

Q & A

[email protected]