46
Logica is now part of CGI. Oracle Messaging: AQ vs. WebLogic JMS? Bertrand Caradec, Oracle BI Consultant November 2012

Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

  • Upload
    dangnhi

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

Logica is now part of CGI.

Oracle Messaging: AQ vs. WebLogic JMS? Bertrand Caradec, Oracle BI Consultant

November 2012

Page 2: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

© Logica 2012. All rights reserved. Logica is now part of CGI.

CGI: Neuer globaler IT- & Business Process Services Champion

* Logica-Mitarbeiter ausgenommen ** CGI-Umsatz basierend auf den Finanzergebnissen der am 31.12.2011 beendeten 12-Monats-Periode (IFRS); Logica-Umsatz basierend auf den Pro-Forma-Ergebnissen des Kalenderjahres 2011 (“Underlying Revenue”)

Erstklassige Business- und

IT-Beratung

End-to-End IT- und

Geschäftsprozess-

Dienstleistungen

36 Jahre erfolgreiche

Partnerschaft mit

unseren Kunden

Kundennähe in

Kombination mit

unserem globalen

Delivery-Netzwerk

Über 100 führende

IT-basierte Lösungen

85% unserer

72.000 Mitarbeiter

besitzen Firmen-

anteile*

Umsatz: **

C$10.4 Mrd Backlog:

C$17.7 Mrd

Service für über

5.000 Kunden von weltweit über

400 Standorten

CGI ist der

weltweit

6.größte unabhängige

Anbieter von

IT- und

Geschäftsprozess-

Dienstleistungen.

DOAG Konferenz 2012 - Nürnberg

Fokussiertes

Branchen- & Themen

Know-how in über

40 Ländern

Page 3: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 3 © Logica 2012. All rights reserved. Logica is now part of CGI.

Business Intelligence: Unser deutsches Team

150 Mitarbeiter – 1 Verantwortung

Immer die aktuellen Trends im Auge:

z.B. Big Data, Multi Device BI, Social Media, In-Memory

Erfahrenes Managementteam

mit tiefem fachlichen Verständnis & lang-

jähriger Erfahrung in komplexen Projekten

Vertrauensvoller Partner für u.a. für Dt. Telekom, Dt. Bahn, Vodafone,

KION, MAN, 1&1, EZB, Gothaer & buch.de

Umfassende BI Betreuung

Audit & Review, Architektur, ETL, DWH,

Reporting, Planung & BICC Beratung

Berlin

Hamburg

Bremen

Düsseldorf

Stuttgart

München

Frankfurt/M.

Darmstadt

Köln/Bonn

Mannheim

50 Mitarbeiter

10 Mitarbeiter 65 Mitarbeiter

4 Mitarbeiter

2 Mitarbeiter

10 Mitarbeiter

10 Mitarbeiter

Zusammenarbeit mit namhaften Partnern:

DOAG Konferenz 2012 - Nürnberg

Page 4: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 4 © Logica 2012. All rights reserved. Logica is now part of CGI.

Bertrand Caradec

DOAG Konferenz 2012 - Nürnberg

Oracle BI Consultant bei Logica mit den Beratungsschwerpunkten:

• Entwicklung mit Oracle DB seit 2003 in OLTP oder DWH Umfeld

• OCP Advanced PL/SQL, OCE Apex Developer

• IBM Cognos BI

• Java, XML

Page 5: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 5 © Logica 2012. All rights reserved. Logica is now part of CGI.

Agenda

Einführung MOM, JMS, WebLogic JMS & AQ

Messaging Projektbeispiel

Evaluierung und Ergebnisse

Zusammenfassung / Fazit 04

03

02

01

DOAG Konferenz 2012 - Nürnberg

Page 6: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 6 © Logica 2012. All rights reserved. Logica is now part of CGI.

Message-oriented Middleware (MOM)

DOAG Konferenz 2012 - Nürnberg

• allgemeiner Begriff für Hard- & Software die den Nachrichten-austausch zwischen distribuierten Anwendungen anbietet

• Anders als bei einer Remote Procedure Call (RPC) Middleware, wird der Nachrichtenversand asynchron vorgenommen

• Elemente eines MOM Systems: Clients, Nachrichten und der MOM Provider, der eine API und administrative Tools zur Verfügung stellt

• MOM Providers bei Oracle: AQ (Oracle Advanced Queuing), WebLogic JMS, GlassFish Message Queue, Tuxedo Message Queue

Page 7: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 7 © Logica 2012. All rights reserved. Logica is now part of CGI.

Java Message Service (JMS)

DOAG Konferenz 2012 - Nürnberg

• fester Bestandteil von JEE, 1998 von Sun spezifiziert

• aktuelle Version ist 1.1 von 2002, JMS 2.0 erwartet für 2013

• definiert eine sehr allgemeine API für die Ansteuerung einer MOM zum Senden / Empfangen von Nachrichten aus einem Java Client heraus

• JEE Anbieter müssen die JMS API umsetzen so dass der JMS Dienst bereitgestellt wird

• unterstützt zwei unterschiedliche Übermittlungsarten von Nachrichten: Point-to-point (Queue) Verbindungen & Publish/Subscribe (Topic) Kommunikation

Page 8: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 8 © Logica 2012. All rights reserved. Logica is now part of CGI.

Übersicht WebLogic

DOAG Konferenz 2012 - Nürnberg

• Seit der Akquisition von BEA in 2008, ist der Java EE Applikation Server WebLogic das zentrale Produkt der Oracle Fusion Middleware

• strategischer Applikation Server von Oracle (vor GlassFish & OAS)

• Fortgeschrittene Integration ins Oracle Portfolie

• Basis für BI Software (ODI, OBIEE), SOA und Prozess Management (Oracle Service Bus, SOA Suite) und Content Management (WebCenter)

• Aktuelle Version Version: 12c, vorherige Version: 11g(10.3.x)

• Mit der 12c Version: Implementierung von JEE6, EJB 3.1 und JDK 7 zertifiziert

• Hochverfügbarkeit mit Clustering, Skalierbarkeit

Page 9: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 9 © Logica 2012. All rights reserved. Logica is now part of CGI.

WebLogic – Java Message Service (JMS)

DOAG Konferenz 2012 - Nürnberg

WebLogic Server

JMS Server

JMS Module

Queues

Topics

ConnectionFactories

File Storage

JDBC Storage

JMS Client –

Message producer

Messages

JMS Client –

Message consumer

Message-driven Beans

Messages

• JMS Provider des WebLogic Servers

• Implementiert die JMS 1.1 Spezifikation

• Bietet zahlreiche Zusatzfunktionen: Store and Forward, Distributed Destinations, JMS Clustering, Unit-of-unit, Unit-of-work

Page 10: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 10 © Logica 2012. All rights reserved. Logica is now part of CGI.

Übersicht – Oracle AQ

DOAG Konferenz 2012 - Nürnberg

• Bestandteil des Oracle RDBMS

• erschien mit der Version 8.0.3 als erstes integriertes Messagingsystem in einer Datenbank

• wird bei jeder Oracle Edition (XE, SE, EE) kostenlos mitgeliefert

• seit der Version 10.1 als „Oracle Streams AQ“ neu genannt

• intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler benutzt

• PL/SQL API für die Administration und Enqueuing/Dequeuing

• JMS Schnittstelle zu AQ (aqapi.jar, Java Package oracle.jms), die JMS Clients greifen per JDBC an die Oracle Queues zu

Page 11: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 11 © Logica 2012. All rights reserved. Logica is now part of CGI.

Oracle AQ – Features

DOAG Konferenz 2012 - Nürnberg

• Point to point (single consumer queue) oder Publish/Subscribe (multi consumer queue)

• Für multi consumer queue: Propagation, Subscription List, Multiple Recipients

• Nachrichten sind in normalen Oracle Tabellen gespeichert: SQL-based Zugriff, Standard Oracle Features: backup, recovery, export/import, Hochverfügbarkeit, Skalierbarkeit

• Exception Queues (Nach x Sekunden ohne Dequeue oder nach x gerollbackt Dequeue)

• Enqueue Optionen (Message Grouping, Recipient List, message delay, message expiration), Dequeue Optionen

• Data Dictionnary Views (DBA_QUEUES, DBA_QUEUES_TABLES, AQ$<queue table>), Statistic View V$AQ

Page 12: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 12 © Logica 2012. All rights reserved. Logica is now part of CGI.

Agenda

Einführung MOM, JMS, WebLogic JMS & AQ

Messaging Projektbeispiel

Evaluierung und Ergebnisse

Zusammenfassung / Fazit 04

03

02

01

DOAG Konferenz 2012 - Nürnberg

Page 13: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 13 © Logica 2012. All rights reserved. Logica is now part of CGI.

Messaging Systemlandschaft

DOAG Konferenz 2012 - Nürnberg

Page 14: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 14 © Logica 2012. All rights reserved. Logica is now part of CGI.

Das aktuelle Messaging arbeitet mit AQ

DOAG Konferenz 2012 - Nürnberg

Page 15: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 15 © Logica 2012. All rights reserved. Logica is now part of CGI.

Technische Details des aktuellen Systems

DOAG Konferenz 2012 - Nürnberg

• XMLTYPE ist der Payload Type der Nachrichten

• die Ausgangsqueues sind als Multiconsumer Queue definiert, während die Eingangsqueues als Subscriber einer Ausgangsqueue eingetragen sind

• XMLTYPE Nachrichten werden anhand des Packages DBMS_XMLDOM zuerst in eine DOM Struktur umgewandelt und sequentiell mit DOM Elementen gelesen

• Die Exception Queues, die nach einem bestimmten Dequeue-Timeout oder nach x Rollback Dequeue der normalen Queue gefüllt werden, werden nach X Tagen geleert

Page 16: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 16 © Logica 2012. All rights reserved. Logica is now part of CGI.

Redesign des PasInSys Servers

• neue Anforderungen erheblichen Erweiterung der Soll- und der Ist-Daten (Faktor 100)

• aktuelle technische Architektur und Hardware können diese Erweiterung nicht erfüllen

Ein Redesign wird benötigt!

• Für das Messagingsystem bedeutet dies:

• Evaluierung der Messagingsystemen Oracle AQ & WebLogic JMS

• Technologieevaluierung für den internen / externen Datenaustausch mit den neuen Anforderungen (2000 Nachrichten/s)

DOAG Konferenz 2012 - Nürnberg

Page 17: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 17 © Logica 2012. All rights reserved. Logica is now part of CGI.

Bestandteile der Evaluierung

DOAG Konferenz 2012 - Nürnberg

• Messaging Provider: Oracle AQ 11GR2 vs. WebLogic Server 10.3.5 JMS

• Messaging Format: XML vs. Objektstruktur

• Systemreaktion auf Nachrichtgröße: Standard Prognose Meldung (ca. 13 KB in XML Format) vs. BIG Nachricht (5 Mal so groß)

• Skalierung, Netzwerklast

• Hinweis: Die Evaluierung bezieht sich nur die reine Messaging Technologie, nicht die technische Nachrichtenverarbeitung

Page 18: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 18 © Logica 2012. All rights reserved. Logica is now part of CGI.

Agenda

Einführung MOM, JMS, WebLogic JMS & AQ

Messaging Projektbeispiel

Evaluierung und Ergebnisse

Zusammenfassung / Fazit 04

03

02

01

DOAG Konferenz 2012 - Nürnberg

Page 19: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 19 © Logica 2012. All rights reserved. Logica is now part of CGI.

AQ Evaluierung - 1 Queue 1 Queue

DOAG Konferenz 2012 - Nürnberg

Getrennte Messungen

1) Messung des reinen Enqueuings in die Ausgangs-queue: nur die Enqueue Jobs laufen (Dequeue Jobs gestoppt)

2) Messung des AQ Propagation Jobs mit der Zeitdifferenz: max(remote enqueue time) – max(local enqueue time)

3) Messung des reinen Dequeuing aus der Eingangs-queue: nur die Dequeue Jobs laufen

Page 20: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 20 © Logica 2012. All rights reserved. Logica is now part of CGI.

1 Queue 1 Queue – Ergebnis Einqueuing

DOAG Konferenz 2012 - Nürnberg

Local enqueuing

Page 21: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 21 © Logica 2012. All rights reserved. Logica is now part of CGI.

1 Queue 1 Queue – Ergebnis Propagation

DOAG Konferenz 2012 - Nürnberg

Propagation + remote enqueue

Page 22: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 22 © Logica 2012. All rights reserved. Logica is now part of CGI.

1 Queue 1 Queue – Ergebnis Dequeuing

DOAG Konferenz 2012 - Nürnberg

Dequeuing

Page 23: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 23 © Logica 2012. All rights reserved. Logica is now part of CGI.

1 Queue 1 Queue – Fazit

DOAG Konferenz 2012 - Nürnberg

• Das lokale Enqueuing & Dequeuing lassen sich gut parallelisieren

• Die Propagation wird durch die Parallelisierung des Enqueuings nicht verbessert

• Das UDT Standard Format ist mit Abstand das effizientestes Format. Besonders beim Einsatz der Propagation (um den Faktor 3 schneller im Vergleich mit dem XML Standard)

• Ein BIG UDT Objekt lässt sich schlechter enqueuen oder dequeuen als das entsprechende BIG XML Objekt

• Die Dequeuing Performance mit XMLType ist unabhängig von der XML Größe

Page 24: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 24 © Logica 2012. All rights reserved. Logica is now part of CGI.

AQ Evaluierung – n Queues n Queues

DOAG Konferenz 2012 - Nürnberg

• Ein Propagation Job ist definiert zwischen jeder Ausgangsqueue und ihrer entsprechenden Eingangsqueue

Page 25: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 25 © Logica 2012. All rights reserved. Logica is now part of CGI.

n Queues n Queues – Ergebnis Enqueuing

DOAG Konferenz 2012 - Nürnberg

Enqueuing

Page 26: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 26 © Logica 2012. All rights reserved. Logica is now part of CGI.

n Queues n Queues – Ergebnis Propagation

DOAG Konferenz 2012 - Nürnberg

Propagation + remote enqueue

Page 27: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 27 © Logica 2012. All rights reserved. Logica is now part of CGI.

n Queues n Queues – Ergebnis Dequeuing

DOAG Konferenz 2012 - Nürnberg

Dequeuing

Page 28: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 28 © Logica 2012. All rights reserved. Logica is now part of CGI.

n Queues n Queues – Fazit

DOAG Konferenz 2012 - Nürnberg

• Die Propagierung lässt sich durch mehrere Eingangs- und Ausgangsqueues skalieren

• UDT ist das leistungsfähigstes Format für:

• Enqueuing,

• Propagierung und

• Dequeuing

• Aber Enqueueing & Dequeueing verschlechtert sich deutlicher für einen BIG UDT im Vergleich zu einem BIG XML

Page 29: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 29 © Logica 2012. All rights reserved. Logica is now part of CGI.

JMS Evaluierung – Vergleich der Persistenz

DOAG Konferenz 2012 - Nürnberg

• JDBC Persistenz: Oracle Tabelle WLSTORE Record Feld kann als auch BLOB deklariert werden

• File Persistenz: ein WebLogic FileStore muss angelegt werden

• File Ordner in MW_HOME\user_projects\domains\domain-name\servers\server-name\data\store\ wird erzeugt

Feld Typ

ID NUMBER

TYPE NUMBER

HANDLE NUMBER

RECORD LONG RAW

Page 30: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 30 © Logica 2012. All rights reserved. Logica is now part of CGI.

WebLogic JMS Persistenz – Ergebnis Enqueuing

DOAG Konferenz 2012 - Nürnberg

Storage Vergleich - Local message producing

Page 31: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 31 © Logica 2012. All rights reserved. Logica is now part of CGI.

WebLogic JMS Persistenz – Ergebnis Dequeuing

DOAG Konferenz 2012 - Nürnberg

Storage Vergleich - Local message consuming

Page 32: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 32 © Logica 2012. All rights reserved. Logica is now part of CGI.

WebLogic JMS Persistenz – Fazit

DOAG Konferenz 2012 - Nürnberg

• File Storage deutlich performanter als JDBC Storage auf einer lokalen Datenbank

• Mit einer remote Datenbank sollte der Unterschied noch deutlicher sein

• File Storage wird für die weiteren Tests benutzt

Page 33: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 33 © Logica 2012. All rights reserved. Logica is now part of CGI.

JMS Evaluierung – Vergleich JMS Nachrichtentypen

DOAG Konferenz 2012 - Nürnberg

• JMS definiert 5 verschiedenen Typen von Nachrichtobjekten:

• TextMessage,

• BytesMessage,

• ObjectMessage,

• StreamMessage &

• MapMessage

• Implementierung des Interface: javax.jms.Message

• WebLogic JMS bietet dazu den folgenden Message Typ (mit einem built-in Support für Xpath): XMLMessage (extends javax.jms.TextMessage)

• Vergleich zwischen:

• ObjectMessage &

• XMLMessage

Page 34: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 34 © Logica 2012. All rights reserved. Logica is now part of CGI.

JMS Typen Vergleich – Ergebnis Enqueuing

DOAG Konferenz 2012 - Nürnberg

JMS Remote Message Producing

JMS MBD Consuming

0

5000

10000

15000

20000

25000

1 2 3 4 5 6 7 8 9 10

Anzahl MDB in the free pool

Na

ch

ric

hte

n/s

XmlMessage - Standard

XmlMessage - Big

ObjectMessage Standard

ObjectMessage Big

Page 35: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 35 © Logica 2012. All rights reserved. Logica is now part of CGI.

JMS Typen Vergleich – Ergebnis Dequeuing

DOAG Konferenz 2012 - Nürnberg

JMS Remote Message Consuming

JMS MBD Consuming

0

5000

10000

15000

20000

25000

1 2 3 4 5 6 7 8 9 10

Anzahl MDB in the free pool

Na

ch

ric

hte

n/s

XmlMessage - Standard

XmlMessage - Big

ObjectMessage Standard

ObjectMessage Big

Page 36: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 36 © Logica 2012. All rights reserved. Logica is now part of CGI.

JMS Evaluierung – MDB

DOAG Konferenz 2012 - Nürnberg

• Message-driven Bean (MDB) prozessiert die JMS Nachrichten asynchron

• MDB Instanzen werden gepoolt

Page 37: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 37 © Logica 2012. All rights reserved. Logica is now part of CGI.

WebLogic MDB – Ergebnis

DOAG Konferenz 2012 - Nürnberg

JMS MBD Consuming

JMS MBD Consuming

0

5000

10000

15000

20000

25000

1 2 3 4 5 6 7 8 9 10

Anzahl MDB in the free pool

Na

ch

ric

hte

n/s

XmlMessage - Standard

XmlMessage - Big

ObjectMessage Standard

ObjectMessage Big

Page 38: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 38 © Logica 2012. All rights reserved. Logica is now part of CGI.

Agenda

Einführung MOM, JMS, WebLogic JMS & AQ

Messaging Projektbeispiel

Evaluierung und Ergebnisse

Zusammenfassung / Fazit 04

03

02

01

DOAG Konferenz 2012 - Nürnberg

Page 39: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 39 © Logica 2012. All rights reserved. Logica is now part of CGI.

Vergleichsmatrix – Messaging

DOAG Konferenz 2012 - Nürnberg

WebLogic Server JMS Oracle Streams AQ 11g

Storage des Queues File System des Applikation Servers Oracle AQ Tabelle

Remote Message Producing

Java clients Oracle AQ Propagation mit mehreren Eingangsqueue

Local Message Consuming

Message-Driven Beans im Applikation Server

Dequeuing mit Oracle PL/SQL API

Optimal Nachrichtformat

JMS ObjectMessage Oracle User Defined Type (UDT)

Backup Bei Pufferung der Nachrichten im Dateisystem ist das Backup-Problem ungelöst

Standard Backup / Recovery einer Oracle Datenbank

Page 40: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 40 © Logica 2012. All rights reserved. Logica is now part of CGI.

Vergleichsmatrix – Nachrichtenverarbeitung

DOAG Konferenz 2012 - Nürnberg

WebLogic Server JMS Oracle Streams AQ 11g

Ort der Nachrichten-verarbeitung

JEE Application Server Oracle Datenbank

Umgebung der Verarbeitung

Message-driven Beans gesteuert bei dem EJB Container

Oracle Jobs (Oracle Session)

Programmiersprache Java 6 PL/SQL 11g

Aspekte der Programmier-sprache

Moderne Sprache: objekt-orientiert, Vererbung, Abstraktion, Polymorphismus, umfangreiche API

Prozedurale Sprache (objekt-orientiert möglich mit Aufwand)

Technologie Community (open source, Frameworks)

Sehr groß Begrenzt

Netzwerklast für DB Read / Write

Hoch (JDBC)

Optimal (Verarbeitung läuft in der DB)

Skalierbarkeit

Hoch durch multi-threading mit Enterprise Java Beans und Clustering des Application Servers

Möglich durch Parallelisierung (parallele Job Sessions) des Dequeuings aber begrenzt durch:

1. der PL/SQL Engine ist nur ein von den vielen anderen Komponenten der Oracle Datenbank

2. die Oracle Datenbank läuft auf einen einzigen Server (kein Cluster)

Page 41: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 41 © Logica 2012. All rights reserved. Logica is now part of CGI.

Fazit I – Bessere Architektur beim WebLogic

DOAG Konferenz 2012 - Nürnberg

Grundsätzlich sind beide Technologien einsetzbar:

• Ein erforderlicher Durchsatz ist mit WebLogic JMS oder AQ gewährleistet

• Vorteile von WebLogic: Hier erhält man eine „State of the Art“ Architektur für die Nachrichtenverarbeitung:

• klare Trennung zwischen Business Logik (im JEE WebLogic Server) & Datenpersistenz (in der Oracle Datenbank)

• erhöhte Skalierbarkeit durch multi-threading von Message-Driven Beans & Clustering

• Nachrichtenverarbeitung in Java statt PL/SQL: objekt-orientierte Programmierung, große API, open source Frameworks

• weniger Last auf der Datenbank

Page 42: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 42 © Logica 2012. All rights reserved. Logica is now part of CGI.

Fazit II – Empfehlung für AQ unter Bedingungen

DOAG Konferenz 2012 - Nürnberg

• Nachteile von WebLogic:

• Auslagerung der Nachrichtenkomponente in einen Applikations-server bedeutet eine deutlich komplexere Architektur

• Es besteht eine Sicherungsproblematik mit WebLogic

• WebLogic erzeugt eine erhöhte Netzwerklast

• Vorteile AQ:

• AQ ist kostenfreier Standardbestandteil der Oracle DB

• Logica konnte gute Erfahrungen mit AQ im Projekt sammeln

• Die Vorteile der „ State of the Art“ Architektur des WebLogic wiegen die Nachteile nicht unbedingt auf unter Bedingungen ist AQ empfehlenswert.

Page 43: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 43 © Logica 2012. All rights reserved. Logica is now part of CGI.

Fazit III – Bedingungen für den AQ Einsatz

DOAG Konferenz 2012 - Nürnberg

• Unter Beachtung der folgenden Rahmenparameter ist der Einsatz von AQ empfehlenswert:

• Einsatz von Oracle-PL/SQL-Objekten statt XMLType (schlanker, stark typisiert, kein Parsing mehr nötig)

• Verwendung von JPublisher für die Transformation von Oracle Objekten in Java Klassen (AQ JMS clients)

• Verwendung der XDB Features

Page 44: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 44 © Logica 2012. All rights reserved. Logica is now part of CGI.

Weitere Logica Vorträge auf der DOAG

DOAG Konferenz 2012 - Nürnberg

Oracle Messaging: AQ vs. WebLogic JMS Referent: Bertrand Caradec

Mi. 21.11. / 9:00 Uhr / Konferenzraum EG

BI Lifecycle – Wildwuchs oder klare Vorgaben? Referent: Dirk Braunecker

Mi. 21.11. / 14:00 Uhr / Konferenzraum Stockholm

Nested Tables Types als Ergänzung zu Pivot XML Referent: Thomas Strub

Do. 22.11. / 9:00 Uhr / Konferenzraum EG

Forecasting Oracle Performance – Better than a crystal ball Referent: Yuri van Buren

Do. 22.11. / 15:00 Uhr / Konferenzraum St. Petersburg

ODI Projekt Lifecycle – Segen oder Fluch? Referent: Michael Klose

Do. 22.11. / 16:00 Uhr / Konferenzraum Kiew

1

3

4

2

5

Page 45: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 45 © Logica 2012. All rights reserved. Logica is now part of CGI.

Vielen Dank für Ihre Aufmerksamkeit

Haben Sie noch Fragen?

DOAG Konferenz 2012 - Nürnberg

Page 46: Oracle Messaging: AQ vs. WebLogic JMS - doag.org · •intern MOM Provider für den OESB (Oracle Enterprise Service Bus) und wird u.a. bei den Oracle Streams und Oracle Scheduler

No. 46 © Logica 2012. All rights reserved. Logica is now part of CGI.

Ihr Kontakt

Bertrand Caradec ORACLE BI CONSULTANT

E-MAIL: [email protected]

LOGICA DEUTSCHLAND GMBH & CO. KG /

AM LIMESPARK 2 / 65843 SULZBACH (TAUNUS) /

T +49 151 163 604 33

DOAG Konferenz 2012 - Nürnberg