Aufbau und Konfiguration eines SOA Suite Clusters

Aufbau und Konfiguration eines SOA Suite Clusters Thomas Robert Prinicpal Senior Sales Consultant Oracle Deutschland GmbH [email protected] ...
Author: Adolph Müller
4 downloads 1 Views 752KB Size


Aufbau und Konfiguration eines SOA Suite Clusters Thomas Robert Prinicpal Senior Sales Consultant Oracle Deutschland GmbH [email protected]

1

Agenda • SOA Suite Überblick • Application Server Clustering • SOA Suite Clustering • • • •



Architektur BPEL Konfiguration OWSM Konfiguration ESB Konfiguration

Oracle SOA Suite JDeveloper REAL-TIME VISIBILITY & PROCESSING integrierte Entwicklungsund DeploymentUmgebung

GOVERNANCE CEP

BAM

Events Alerts Business Monitoring Data ORCHESTRATIONStreams BPEL Process Manager

Native Application Development Framework

Business

Human

ROUTING &Rules DATA SERVICES BPEL Workflow

Transform

Mediation

CONNECTIVITY Adapters Apps Messaging

DB Legacy

GOVERNANCE Monitoring Web Services Manager WS Policies Security Enterprise Repository

Oracle Service Bus Routing

Enterprise Manager System

B2B Partners

SOA lifecycle governance Registry UDDI

J2EE Application Server (Oracle AS, WebLogic, WebSphere, JBoss)

JRockit VM & RT

2

Agenda • SOA Suite Überblick • Application Server Clustering • SOA Suite Clustering • • • •



Architektur BPEL Konfiguration OWSM Konfiguration ESB Konfiguration

Vergleich: Oracle Application Server Topologie • Cluster: Eine Gruppe Oracle Application Server Instanzen • Eine oder mehrere OC4J Instanzen pro Application Server Instanz • Ein Administrations-Server pro Cluster

• Eine OC4J Instanz kann eine oder mehrere JVM-Prozesse beinhalten • OC4J Instanzen können zu OC4J Gruppen zusammengefasst werden • OC4J Gruppen vereinfachen die Administration von OC4J Instanzen • Start, Stop und Restart • (Un- / Re-) Deployment von Anwendungen • Konfigurationsänderungen

OC4J1

OC4J Admin

OC4Jn …

JVM1

JVM2

JVM1

JVM2

OC4J Group1

Rechner 1

JVM Multicast oder Peer-to-Peer

OC4J1-n JVM1

JVM2

OC4J Group2

Prozess Management

Prozess Management

Oracle Application Server Instanz 1

Oracle Application Server Instanz 2

Rechner 2

3

Vergleich: WebLogic Server Topologie • Domäne • Logisch zusammengehörige Gruppe von WebLogic Server Instanzen (= Managed Server) • Gleiche Version erforderlich, aber unterschiedliche Maintenance Packs möglich • Domäne kann aus mehreren Einzelservern und / oder Clustern bestehen

• Cluster • Mehrere Managed Server mit gleichem Deployment für Loadbalancing und Failover • Session Replikation, Whole Server Migration, Service Migration und geclusterte JMS Destinations • Alle Cluster Instanzen müssen zu einer Domäne gehören Node Manager Managed Server1 JVM



Node Manager

Managed ServerN

Managed ServerX

JVM

JVM

WebLogic Cluster

Multicast o. Unicast

Managed Server1



JVM

Managed ServerN

Managed ServerX

Admin Server

JVM

JVM

JVM

config.xml

Weblogic Cluster

Weblogic Domäne

Automatisierung mit Weblogic Domain Templates • Configuration Wizard und Domain Template Builder • GUI / skript-fähiges Tool um Templates von bestehenden Domänen zu generieren • Über WLST Skript auf andere Umgebungen clonen

• Out of the Box Fusion Middleware Templates • SOA, WebCenter, Identity Management … Domain Cluster Managed

Template einer Domäne generieren

Server 1 App 1

Env 1

Env 2

Env n

Domain Cluster Managed

Domain Cluster Managed

Domain Cluster Managed

Server 1 App 1

Server 1 App 1

Server 1 App 1

Res 1

Res 1

Res 1

Managed Server 2 App n

Managed Server 2 App n

Managed Server 2 App n

Res n

Res n

Res n

Res 1



Managed Server 2 App n Res n

Domain Template Builder

4

Oracle Application Server State Replication Cluster

Cluster

OC4J1

OC4J1

State 1

State 1

Oracle HTTP Server

Oracle HTTP Server

OC4J2 Load Balancer

OC4J2 Load Balancer

State 2

Oracle HTTP Server

State 2 Oracle HTTP Server

OC4J3

OC4J3

State 3

State 3

Peer to Peer Multi-Cast In Memory Synch oder Asynch

Database Backed

Weblogic State Replication Domain State Replication

MAN State Replication

Domain Cluster Managed Server 1 State 1 Load Balancer Managed Server 2

Lokaler Load Balancer

Cluster 1 State 1 State 2

Globaler Load Balancer

Lokaler Load Balancer

Cluster 1 State 1 State 2

Globaler Load Balancer

Lokaler Load Balancer

Cluster 2 State 3

State 2

In Memory oder Database Backed Asynch oder Synch

WAN State Replication

In Memory

State 4

Lokaler Load Balancer

Cluster 2 State 3 State 4

Database Backed Asynch

5

Prozessüberwachung: OPMN • Überwachung • Aller OracleAS Prozesse • Eigener (custom) Prozesse • OPMN-Shadow Prozess überwacht OPMN

• Automatischer Neustart bei Prozessfehlern (“self healing”) • Prozessausfall an abhängige Prozesse melden • mod_oc4j / oc4j • DB/AS10g: FAN

http(s)

Webcache

events

http(s) OHS

OPMN events

mod_oc4j

ajp

events

• Port Management • Dynamische Portzuweisung an überwachte Prozesse

OC4J OC4J OC4J

• Singleton Services

Node Manager WebLogic Domain Rechner 1

• Utility (Java Prozess), für remote Start, Stop, Suspend und Restart von WebLogic Servern • Ein Node Manager pro Rechner • Unabhängig von Domänen. Kann jeden WebLogic Server des Rechners starten • “Optional”, aber erforderlich für Start/Stop über die AdminKonsole • Erforderlich für “Whole Server Migration” und für einige automatische Service Migrationen

Administration Server

Rechner 2 Start

Managed Server gestoppt Start

Node Mgr

Node Mgr

WebLogic Domain Rechner 1 Administration Server

Node Mgr

Rechner 2 Managed Server gestarted

Node Mgr

6

Weblogic Whole Server Migration • Automatische Migration ausgefallener Server auf anderen Clusterknoten • Quasi ein Server Restart und Recovery auf einem anderen Rechner WebLogic Cluster Administration Server

Managed Managed WLS WLS 22 Resource 1

Fehlererkennung

Server Migration

Rechner 1

Managed WLS 3 Resource 2

Managed WLS 2 Resource Spare 1 Capacity

(Cluster Master)

Rechner 2

Rechner 3

Domain

Database

oder Consensus Leasing

Storage Area Network

WebLogic Service Migration Recovery von Resourcen über Fast Recovery • HA für Singleton Services • Restart und Recovery von Services auf einem anderen Clusterknoten WebLogic Cluster Administration Server

Managed Managed WLS WLS 22 Resource 1

Fehlererkennung

Service Migration

Rechner 1

Rechner 2

Managed WLS 3

Managed WLS 4

Resource 2

Resource 3

(Cluster Master)

Resource 1

Rechner 3

Domain

Database

oder Consensus Leasing

Storage Area Network

7

OC4J Data Sources Oracle Application Server OC4J Group

• Standard Data Source Funktionalitäten • Connection Pools mit min, max Connections, etc. • Death Detection, Retries, Keep Alive, …

• Fast Connection Failover für RAC • OC4J Connection Pool kommuniziert mit RAC Cluster über Oracle Notification Services und RAC events • Keine Anpassung d. Applikationen notwendig

OC4J Instanz

OC4J Instanz

Data Source RAC Knoten 1-2

Data Source RAC Knoten 1-2

Connection Pool

Connection Pool

Oracle Process Manager and Notification

Oracle Notification Service

RAC Knoten 1 RAC Knoten 2 Shared Storage Oracle Datenbank

Weblogic Data Sources WebLogic Domain

• Standard Data Source Funktionalitäten • Connection Pools mit min, max Connections, etc. • Death Detection, Retries, Keep Alive, …

• Multi Data Source für RAC • Zusätzlicher Layer über Data Sources für jeden RAC Knoten • Applikation nutzt “Multi Data Source” anstelle der darunterliegenden Data Source • Keine Anpassung d. Applikationen notwendig • WebLogic sorgt für Load Balancing, RAC Instanz Fehlererkennung und XA Support

Node Manager WebLogic Cluster

Managed Server1

Managed Server2

Multi Data Source

Data Source RAC Knoten 1

Data Source RAC Knoten 2

Connection Pool

Connection Pool

Oracle Notification Service

RAC Knoten 1 RAC Knoten 2 Shared Storage Oracle Datenbank

8

Weblogic Administrations-Server • Zentrale Konfiguration der gesamten Domäne (config.xml) • Enthält Administrations Konsole • Zentrales Starten und Stoppen von Servern • Migration von Servern und Services innerhalb der Domäne • Zentrale Installation von Applikationen auf alle Server der Domäne • Genau ein Admin Server pro Domäne • Ein Admin Server verwaltet genau eine Domäne • Admin Server muss nur für Konfigurationsänderungen laufen

WebLogic Domain Administration Server

Oracle Application Server Web Tier Load Balancing mod_oc4j • Load Balancing • • • • • • • •

Random Round Robin Random mit lokaler Affinität Round Robin mit lokaler Affinität Random mit Routing Gewichtung Round Robin mit Routing Gewichtung Metric basierend Metric basierend mit lokaler Affinität

Oracle Application Server HTTP Server

Process Management Oracle HTTP Server mod_oc4j

• Unterstützte Web Server •

IIS, SunOne, Apache

• Multi-Machine Cluster Aware •

Nutzung der ONS Komponente im OPMN

• Automatische Fehlererkennung • •

Erkennung ausgefallener OC4Js Erkennung hinzugekommener OC4Js

• Routing • • •

Dynamisches Routing Statisches Routing Trennung von Routing IDs

OC4J1



OC4Jn

JVM1

JVM1 OC4J Group

Process Management Oracle Application Server

9

Weblogic Web Tier Load Balancing mod_weblogic • Load Balancing HTTP Server

• Round Robin

• Unterstützte Web Servers

Apache Server

• IIS, SunOne, Apache

mod_wl

• Multi-Machine Cluster Aware • Uses HTTP piggy backing

• Automatische Fehlererkennung • Erkennung ausgefallener WLS • Erkennung hinzugekommener WLS

• Routing • Statisches Routing

• Lightweight solution

WLS1 JVM



WLSn JVM

WebLogic Cluster

Node Manager WebLogic Server

• HTTPClusterServlet läuft in einer WebLogic Instanz

Agenda • SOA Suite Überblick • Application Server Clustering • SOA Suite Clustering • • • •



Architektur BPEL Konfiguration OWSM Konfiguration ESB Konfiguration

10

OracleAS SOA Suite Cluster HTTP Server

Apache Server

• Oracle HTTP Server mit mod_oc4j oder Loadbalancer • Oracle Application Server Cluster • ESB_DT Applikation als Singleton

mod_oc4j

esb_dt

oc4j_soa

JVM BPEL

oc4j_soa

oc4j_admin

JVM

JVM

JVM OESB

OWSM

Oracle Application Server

BPEL

OESB

OWSM

Oracle Application Server

Weblogic SOA Suite Cluster HTTP Server

Apache 2.0 Server

• Oracle HTTP Server 2.0 mit Weblogic Plugin oder Loadbalancer • Weblogic Server Cluster

mod_wl

WLS1

• ESB_DT Applikation als Singleton oder OSB im WLS 10.3

• Basic Application Server Installation für Layout der SOA Komponenten (BPEL, ESB, WSM



JVM

WLSn

Admin

JVM

JVM

Node Manager

Node Manager Weblogic Cluster

Weblogic Domäne

BPEL

OESB

OWSM

Oracle Application Server

BPEL

OESB

OWSM

Oracle Application Server

11

SOA Clustering • Prozess-Engines sind Stateless • Loadbalancing erfordert keine Session Persistenz • Zustände der Prozesse im Dehydration Store gespeichert

Aber • Konsolen sind Stateful • Loadbalancing erfordert Session Persistenz

Installations Schritte 1. Installation des SOA Repositories •

irca.sh legt Schemata an

2. Installation der Webserver 3. Installation der Application Server • •

Oracle SOA Suite 10.1.3.4 (auf OracleAS) Ggf. Installation Weblogic 9.2 • Patch 7490612 enthält alle notwendigen WLST Skripte

4. Singleton Services einrichten (File/FTP Adapter) 5. XA Konfiguration anpassen bzw. Multi Pools konfigurieren

12

Agenda • SOA Suite Überblick • Weblogic Clustering • SOA Suite Clustering • • • •



Architektur BPEL Konfiguration OWSM Konfiguration ESB Konfiguration

• XA Konfiguration

BPEL Komponenten • BPEL Prozess Engine • BPEL Konsole

• Stateful • PM ist Stateless

• BPEL Repository • Enthält Zustände langlaufender Prozesse

• Prozess-Deployment auf alle Clusterknoten

OC4J 1

OC4J 2

ESB-RT

ESB-RT

BPEL-PM

BPEL-PM

13

BPEL Cluster Konfiguration • collaxa-config.xml • Cluster Name • enableCluster • soapServerUrl & soapCallbackUrl

• jgroup-protocol.xml • Protokoll für PM-Interprozesskommunikation • Multicast / Peer2Peer

• Singleton Adapter über JGroups für Failover konfigurieren • z.B. Ftp Adapter, File Adapter

Agenda • SOA Suite Überblick • Weblogic Clustering • SOA Suite Clustering • • • •



Architektur BPEL Konfiguration OWSM Konfiguration ESB Konfiguration

• XA Konfiguration

14

OWSM Komponenten • OWSM Core • Policy Manager • Monitor • OWSM Konsole

• OWSM Gateway • OWSM Agenten sind Bestandteil der jeweiligen Services

• OWSM Repository

OC4J 1

OC4J 2

ESB-RT

ESB-RT

BPEL-PM

BPEL-PM

OWSM

OWSM

OC4J 5

OC4J 6

Gateway

Gateway

OWSM Cluster Konfiguration • Installation auf allen Clusterknoten • Ggf. Trennung von Gateway und OWSM Core • Konfiguration anpassen • Core: • gateway Applikation stoppen • Monitor (coreman) Applikation darf nur einmal gestartet sein • Monitor RMI Port bekannt machen • Gateway: • ccore, coreman, policymanager auf Gateway stoppen • policymanagerURL auf Core-Policymanager setzen (gateway-config-installer.properties) • Gateway Loadbalancer URL einrichten • Monitor (coreman) RMI Port bekannt machen

15

Agenda • SOA Suite Überblick • Weblogic Clustering • SOA Suite Clustering • • • •



Architektur BPEL Konfiguration OWSM Konfiguration ESB Konfiguration

• XA Konfiguration

ESB Komponenten • ESB Konsole & Metadata Server • ESB Server • ESB Repository • ESB Prozesse werden über Metadata Server ins Repository deployt

OC4J 3 OC4J 4 ESB-DT ESB-DT

OC4J 1

OC4J 2

ESB-RT

ESB-RT

16

ESB Clustering • Installation des ESB-RT auf alle Clusterknoten • ESB Type: „Runtime“

• Installation des ESB-DT (neuer OC4J) • ESB Type: „Repository“ • ESB Konsole darf nur einmal gestartet sein Service Failover in opmn.xml konfigurieren

• Singleton Adapter über JGroups für Failover konfigurieren • z.B. Ftp Adapter, File Adapter

• Konfiguration der ESB-RTs (s. Enterprise Deployment Guide 3.1.16 – 3.1.19)

• Verweis auf ESB-DT Instanz • Konfigurieren von OJMS (AQ) für ESB Queues

Agenda • SOA Suite Überblick • Weblogic Clustering • SOA Suite Clustering • • • •



Architektur BPEL Konfiguration OWSM Konfiguration ESB Konfiguration

• XA Konfiguration

17

Aktivieren des XA Supports im OC4J • Transaction Manager Logging aktivieren • xa-recovery-config Element in Connection Pools einfügen • DTP Services in RAC Datenbank einrichten • XA Factory für alle Connection Pools konfigurieren • DTP Services im RAC einrichten

=> Oracle SOA Suite XA and RAC Database Configuration Guide

Mehr Informationen?

SOA Suite auf OTN • • • • •

Oracle Application Server Enterprise Deployment Guide (Kap. 3) Oracle Application Server Administrator‘s Guide (Kap. 6) Oracle Enterprise Service Bus Developer‘s Guide (Kap. 8) Oracle BPEL Process Manager Installation Guide (Kap. 5) Oracle Web Services Manager Deployment Guide (Kap. 2)

18

19