SOA Suite 11g Deep Dive
-
Upload
esentri-ag -
Category
Business
-
view
810 -
download
5
description
Transcript of SOA Suite 11g Deep Dive
![Page 1: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/1.jpg)
1
SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler und Administratoren
2
gt WebLogic Infrastruktur
3
WebLogic Domain
WebLogic Komponenten
Maschine 1 Maschine 2 Maschine 3
AdminServer
Node Manager
Managed Server A
Managed Server B
Node Manager Node Manager
Managed Server C
Managed Server D
Managed Server E
Cluster ACE
Cluster BD
4
WebLogic Domain ConfigurationAdminServer
Managed Server A
Managed Server B
startup
5
FMW-Erweiterungenhellip
bull Oracle-spezifische Librariesbull JRFhellipbull ADFhellipbull hellip
bull $DOMAIN_HOMEconfigfmwconfigbull Enterprise Managerbull MDSbull Diagnostic Monitoring Service (DMS)bull Oracle Platform Security Service (OPSS)
6
Fusion Middleware SicherheitsarchitekturOracle Platform Security Service (OPSS)
7
gt SCA und SOA Suite
8
Was ist ein Composite
9
Oracle SOA Suite 11g
Service InfrastrukturPolicy Manager
Optimized
binding WebLogic Server
Common JCA-based connectivity infrastructure
MDS
EM console
+BPMN Screens
BAM
B2B
Human Workflow
Business Rules Mediator
Process Core
BPEL
ProcessAnalytics
Proc Cubes
BPM Workspace MS Office
BPMN 20 BPEL
Rich End User InteractionWeb based customization
Process Composer
Process Portal(WebCenter)
SOA Composite Editor (Business amp IT views)
BPMN
10
URLs
bull SOA Suite Serviceshttpservernameportsoa-infra
bull Fabric Provider Servlethttpservernameportsoa-infraservices
bull CompositeDeployerServlethttpservernameportsoa-infradeployer
bull EdnDbLogServlethttpservernameportsoa-infraeventsedn-db-backloghttpservernameportsoa-infraeventsedn-db-log
bull ClusterInfoServlethttpservernameportsoa-infraclusterinfo
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 2: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/2.jpg)
2
gt WebLogic Infrastruktur
3
WebLogic Domain
WebLogic Komponenten
Maschine 1 Maschine 2 Maschine 3
AdminServer
Node Manager
Managed Server A
Managed Server B
Node Manager Node Manager
Managed Server C
Managed Server D
Managed Server E
Cluster ACE
Cluster BD
4
WebLogic Domain ConfigurationAdminServer
Managed Server A
Managed Server B
startup
5
FMW-Erweiterungenhellip
bull Oracle-spezifische Librariesbull JRFhellipbull ADFhellipbull hellip
bull $DOMAIN_HOMEconfigfmwconfigbull Enterprise Managerbull MDSbull Diagnostic Monitoring Service (DMS)bull Oracle Platform Security Service (OPSS)
6
Fusion Middleware SicherheitsarchitekturOracle Platform Security Service (OPSS)
7
gt SCA und SOA Suite
8
Was ist ein Composite
9
Oracle SOA Suite 11g
Service InfrastrukturPolicy Manager
Optimized
binding WebLogic Server
Common JCA-based connectivity infrastructure
MDS
EM console
+BPMN Screens
BAM
B2B
Human Workflow
Business Rules Mediator
Process Core
BPEL
ProcessAnalytics
Proc Cubes
BPM Workspace MS Office
BPMN 20 BPEL
Rich End User InteractionWeb based customization
Process Composer
Process Portal(WebCenter)
SOA Composite Editor (Business amp IT views)
BPMN
10
URLs
bull SOA Suite Serviceshttpservernameportsoa-infra
bull Fabric Provider Servlethttpservernameportsoa-infraservices
bull CompositeDeployerServlethttpservernameportsoa-infradeployer
bull EdnDbLogServlethttpservernameportsoa-infraeventsedn-db-backloghttpservernameportsoa-infraeventsedn-db-log
bull ClusterInfoServlethttpservernameportsoa-infraclusterinfo
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 3: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/3.jpg)
3
WebLogic Domain
WebLogic Komponenten
Maschine 1 Maschine 2 Maschine 3
AdminServer
Node Manager
Managed Server A
Managed Server B
Node Manager Node Manager
Managed Server C
Managed Server D
Managed Server E
Cluster ACE
Cluster BD
4
WebLogic Domain ConfigurationAdminServer
Managed Server A
Managed Server B
startup
5
FMW-Erweiterungenhellip
bull Oracle-spezifische Librariesbull JRFhellipbull ADFhellipbull hellip
bull $DOMAIN_HOMEconfigfmwconfigbull Enterprise Managerbull MDSbull Diagnostic Monitoring Service (DMS)bull Oracle Platform Security Service (OPSS)
6
Fusion Middleware SicherheitsarchitekturOracle Platform Security Service (OPSS)
7
gt SCA und SOA Suite
8
Was ist ein Composite
9
Oracle SOA Suite 11g
Service InfrastrukturPolicy Manager
Optimized
binding WebLogic Server
Common JCA-based connectivity infrastructure
MDS
EM console
+BPMN Screens
BAM
B2B
Human Workflow
Business Rules Mediator
Process Core
BPEL
ProcessAnalytics
Proc Cubes
BPM Workspace MS Office
BPMN 20 BPEL
Rich End User InteractionWeb based customization
Process Composer
Process Portal(WebCenter)
SOA Composite Editor (Business amp IT views)
BPMN
10
URLs
bull SOA Suite Serviceshttpservernameportsoa-infra
bull Fabric Provider Servlethttpservernameportsoa-infraservices
bull CompositeDeployerServlethttpservernameportsoa-infradeployer
bull EdnDbLogServlethttpservernameportsoa-infraeventsedn-db-backloghttpservernameportsoa-infraeventsedn-db-log
bull ClusterInfoServlethttpservernameportsoa-infraclusterinfo
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 4: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/4.jpg)
4
WebLogic Domain ConfigurationAdminServer
Managed Server A
Managed Server B
startup
5
FMW-Erweiterungenhellip
bull Oracle-spezifische Librariesbull JRFhellipbull ADFhellipbull hellip
bull $DOMAIN_HOMEconfigfmwconfigbull Enterprise Managerbull MDSbull Diagnostic Monitoring Service (DMS)bull Oracle Platform Security Service (OPSS)
6
Fusion Middleware SicherheitsarchitekturOracle Platform Security Service (OPSS)
7
gt SCA und SOA Suite
8
Was ist ein Composite
9
Oracle SOA Suite 11g
Service InfrastrukturPolicy Manager
Optimized
binding WebLogic Server
Common JCA-based connectivity infrastructure
MDS
EM console
+BPMN Screens
BAM
B2B
Human Workflow
Business Rules Mediator
Process Core
BPEL
ProcessAnalytics
Proc Cubes
BPM Workspace MS Office
BPMN 20 BPEL
Rich End User InteractionWeb based customization
Process Composer
Process Portal(WebCenter)
SOA Composite Editor (Business amp IT views)
BPMN
10
URLs
bull SOA Suite Serviceshttpservernameportsoa-infra
bull Fabric Provider Servlethttpservernameportsoa-infraservices
bull CompositeDeployerServlethttpservernameportsoa-infradeployer
bull EdnDbLogServlethttpservernameportsoa-infraeventsedn-db-backloghttpservernameportsoa-infraeventsedn-db-log
bull ClusterInfoServlethttpservernameportsoa-infraclusterinfo
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 5: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/5.jpg)
5
FMW-Erweiterungenhellip
bull Oracle-spezifische Librariesbull JRFhellipbull ADFhellipbull hellip
bull $DOMAIN_HOMEconfigfmwconfigbull Enterprise Managerbull MDSbull Diagnostic Monitoring Service (DMS)bull Oracle Platform Security Service (OPSS)
6
Fusion Middleware SicherheitsarchitekturOracle Platform Security Service (OPSS)
7
gt SCA und SOA Suite
8
Was ist ein Composite
9
Oracle SOA Suite 11g
Service InfrastrukturPolicy Manager
Optimized
binding WebLogic Server
Common JCA-based connectivity infrastructure
MDS
EM console
+BPMN Screens
BAM
B2B
Human Workflow
Business Rules Mediator
Process Core
BPEL
ProcessAnalytics
Proc Cubes
BPM Workspace MS Office
BPMN 20 BPEL
Rich End User InteractionWeb based customization
Process Composer
Process Portal(WebCenter)
SOA Composite Editor (Business amp IT views)
BPMN
10
URLs
bull SOA Suite Serviceshttpservernameportsoa-infra
bull Fabric Provider Servlethttpservernameportsoa-infraservices
bull CompositeDeployerServlethttpservernameportsoa-infradeployer
bull EdnDbLogServlethttpservernameportsoa-infraeventsedn-db-backloghttpservernameportsoa-infraeventsedn-db-log
bull ClusterInfoServlethttpservernameportsoa-infraclusterinfo
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 6: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/6.jpg)
6
Fusion Middleware SicherheitsarchitekturOracle Platform Security Service (OPSS)
7
gt SCA und SOA Suite
8
Was ist ein Composite
9
Oracle SOA Suite 11g
Service InfrastrukturPolicy Manager
Optimized
binding WebLogic Server
Common JCA-based connectivity infrastructure
MDS
EM console
+BPMN Screens
BAM
B2B
Human Workflow
Business Rules Mediator
Process Core
BPEL
ProcessAnalytics
Proc Cubes
BPM Workspace MS Office
BPMN 20 BPEL
Rich End User InteractionWeb based customization
Process Composer
Process Portal(WebCenter)
SOA Composite Editor (Business amp IT views)
BPMN
10
URLs
bull SOA Suite Serviceshttpservernameportsoa-infra
bull Fabric Provider Servlethttpservernameportsoa-infraservices
bull CompositeDeployerServlethttpservernameportsoa-infradeployer
bull EdnDbLogServlethttpservernameportsoa-infraeventsedn-db-backloghttpservernameportsoa-infraeventsedn-db-log
bull ClusterInfoServlethttpservernameportsoa-infraclusterinfo
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 7: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/7.jpg)
7
gt SCA und SOA Suite
8
Was ist ein Composite
9
Oracle SOA Suite 11g
Service InfrastrukturPolicy Manager
Optimized
binding WebLogic Server
Common JCA-based connectivity infrastructure
MDS
EM console
+BPMN Screens
BAM
B2B
Human Workflow
Business Rules Mediator
Process Core
BPEL
ProcessAnalytics
Proc Cubes
BPM Workspace MS Office
BPMN 20 BPEL
Rich End User InteractionWeb based customization
Process Composer
Process Portal(WebCenter)
SOA Composite Editor (Business amp IT views)
BPMN
10
URLs
bull SOA Suite Serviceshttpservernameportsoa-infra
bull Fabric Provider Servlethttpservernameportsoa-infraservices
bull CompositeDeployerServlethttpservernameportsoa-infradeployer
bull EdnDbLogServlethttpservernameportsoa-infraeventsedn-db-backloghttpservernameportsoa-infraeventsedn-db-log
bull ClusterInfoServlethttpservernameportsoa-infraclusterinfo
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 8: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/8.jpg)
8
Was ist ein Composite
9
Oracle SOA Suite 11g
Service InfrastrukturPolicy Manager
Optimized
binding WebLogic Server
Common JCA-based connectivity infrastructure
MDS
EM console
+BPMN Screens
BAM
B2B
Human Workflow
Business Rules Mediator
Process Core
BPEL
ProcessAnalytics
Proc Cubes
BPM Workspace MS Office
BPMN 20 BPEL
Rich End User InteractionWeb based customization
Process Composer
Process Portal(WebCenter)
SOA Composite Editor (Business amp IT views)
BPMN
10
URLs
bull SOA Suite Serviceshttpservernameportsoa-infra
bull Fabric Provider Servlethttpservernameportsoa-infraservices
bull CompositeDeployerServlethttpservernameportsoa-infradeployer
bull EdnDbLogServlethttpservernameportsoa-infraeventsedn-db-backloghttpservernameportsoa-infraeventsedn-db-log
bull ClusterInfoServlethttpservernameportsoa-infraclusterinfo
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 9: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/9.jpg)
9
Oracle SOA Suite 11g
Service InfrastrukturPolicy Manager
Optimized
binding WebLogic Server
Common JCA-based connectivity infrastructure
MDS
EM console
+BPMN Screens
BAM
B2B
Human Workflow
Business Rules Mediator
Process Core
BPEL
ProcessAnalytics
Proc Cubes
BPM Workspace MS Office
BPMN 20 BPEL
Rich End User InteractionWeb based customization
Process Composer
Process Portal(WebCenter)
SOA Composite Editor (Business amp IT views)
BPMN
10
URLs
bull SOA Suite Serviceshttpservernameportsoa-infra
bull Fabric Provider Servlethttpservernameportsoa-infraservices
bull CompositeDeployerServlethttpservernameportsoa-infradeployer
bull EdnDbLogServlethttpservernameportsoa-infraeventsedn-db-backloghttpservernameportsoa-infraeventsedn-db-log
bull ClusterInfoServlethttpservernameportsoa-infraclusterinfo
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 10: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/10.jpg)
10
URLs
bull SOA Suite Serviceshttpservernameportsoa-infra
bull Fabric Provider Servlethttpservernameportsoa-infraservices
bull CompositeDeployerServlethttpservernameportsoa-infradeployer
bull EdnDbLogServlethttpservernameportsoa-infraeventsedn-db-backloghttpservernameportsoa-infraeventsedn-db-log
bull ClusterInfoServlethttpservernameportsoa-infraclusterinfo
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 11: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/11.jpg)
11
Startup Sequencehellipltlistenergt ltlistener-classgtorgspringframeworkwebcontextContextLoaderListenerltlistener-classgt ltlistenergt
hellip
ltservletgt ltservlet-namegtFabricProviderServletltservlet-namegt ltservlet-classgtoracleintegrationplatformblockssoapFabricProviderServletltservlet-classgt ltload-on-startupgt1ltload-on-startupgtltservletgt
hellipltservletgt ltservlet-namegtFabricInitltservlet-namegt ltservlet-classgtoracleintegrationplatformkernelWLSFabricKernelInitializerltservlet-classgt ltload-on-startupgt2ltload-on-startupgt ltservletgt
hellip
1
2
3
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 12: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/12.jpg)
12
Deployment-Schritte
1 SOA-Bundle oder SCA-Deployment an CompositeDeployerServlet sendenhttpservernameportsoa-infradeployer
2 Erstellung eines temporaumlren Verzeichnisses (tmpsar_base_dir_ltrandomIdgt) auf dem SOA Server Anschlieszligend das Composite in das temporaumlre Verzeichnis entpacken
3 Operation redeploydeploy feststellen (redeploy = undeploy und dann deploy)
4 Wenn vorhanden dann Deploymentplan ldquoanwendenrdquo
5 Shared Metadaten in das MDS speichern (MAR-File)
6 Composite in das MDS speichern (soa-infradeployed-composites) MDS Label = soa_ + UUIDrandomUUID()toString()soa-infradeployed-compositesxml
7 Aktivierung CompositeDeploymentCoordinatorndash deployServices() ndash deployReferences() ndash deployComponents() ndash deployWires()
8 Benachrichtigung von Cluster-Membern im Cluster mit Coherence
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 13: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/13.jpg)
13
gt MDS
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 14: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/14.jpg)
14
MDS = Metadata Services
bull Zentrale Komponente der Oracle Fusion Middleware fuumlr die Verwaltung vonndash Konfigurationsdaten von Komponenten undndash Metadaten zu Applikationen
bull MDS-Nutzung diverser Fusion Middleware Komponentenndash ADFndash WebCenterndash SOA-Suitendash JDeveloperndash Fusion Applications
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 15: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/15.jpg)
15
Metadata Repository
basierend auf Datenbank basierend auf Dateisystem
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 16: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/16.jpg)
16
MDS Repositoryadf-configxml
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 17: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/17.jpg)
17
MDS Repository ndash SOA Suite
soa-infra
soasharedapps
ldquocustomrdquo Artefakte
Composites
Konfiguration
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 18: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/18.jpg)
18
gt abstrakte vs konkrete WSDL
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 19: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/19.jpg)
19
Abstrakte und konkrete WSDL
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 20: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/20.jpg)
20
Designtime
Referenz auf abstrakte WSDL im MDS
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 21: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/21.jpg)
21
Runtime
Deploymentplan
Notwendige AnpassungenElement bindingws Attribut portElement bindingws Attribut location
EmpfehlungProperty endpointURI
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 22: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/22.jpg)
22
Runtime bindingws
Attribut Beschreibung
port SyntaxWSDL-Namespacewsdlendpoint(Service-NamePort-Name)
wsdlLocation URL mind fuumlr eine abstrakte WSDL-Datei Falls bindingws location nicht definiert wurde sollte die hier referenzierte WSDL-Datei ebenfalls eine konkrete WSDL darstellen
location URL zu einer konkreten WSDL
endpointURI Uumlberschreiben des definierten Endpunktes in der bdquokonkretenldquo WSDL-Datei
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 23: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/23.jpg)
23
gt Threads and Transactions
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 24: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/24.jpg)
24
Sequentiell Routing Rule
bull Sequential Routing Rules werden immer im gleichen Thread und gleichen Transaktion des Callee-Threads ausgefuumlhrt
bull Beim Aufruf vom Mediator wird gepruumlft ob bereits eine globale Transaktion existiert Wenn dies der Fall ist erfolgt die Ausfuumlhrung innerhalb dieser bestehenden Transaktion Andernfalls wird eine neue Transaktion geoumlffnet In diesem Fall uumlbernimmt der Mediator die Lifecycle-Kontrolle der Transaktion (commitrollback)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 25: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/25.jpg)
25
Parallel Routing Rule
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 26: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/26.jpg)
26
Thread and Transaction Details
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 27: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/27.jpg)
27
Parallel Routing Debugging
bull Table lsquomediator_deferred_messagersquo stores messages for parallel routing rules For a given Mediator component one row in this table corresponds to message for one parallel routing rule Following SQL will provide number of messages component name and status for each Mediator component with parallel routing rules Status could be one of READY (0) LOCKED (1) COMPLETED (2) ERROR (3)
select count() component_dn status from mediator_deferred_messagegroup by component_dn statusorder by component_dn status
bull Table lsquomediator_case_instancersquo stores information about case instance This table contains one row for each mediator case (ie routing rule) of a mediator instance
select count() status case_name from mediator_case_instancegroup by status case_nameorder by case_name
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 28: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/28.jpg)
28
TransaktionsverhaltenSynchroner BPEL Prozess
Wert Beschreibung
required Ausfuumlhrung in einer bestehenden (globale) Transaktion Wenn keine Transaktion existent dann wird eine neue Transaktion erstellt
requiresNew(default)
Die Ausfuumlhrung erfolgt immer in einer neuen Transaktion Eine bereits bestehende Transaktion wird ldquoausgesetztrdquo
Property bpelconfigtransaction
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 29: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/29.jpg)
29
Transaktionsverhaltenasynchroner (one way) BPEL Prozess
Wert Beschreibung
asyncpersist(default)
Nachricht wird auf jeden Fall in der Datenbank gespeichert bevor die eigentliche Verarbeitung startet (Tabelle DLV_MESSAGE)
asynccache Nachricht wird In-Memory gehalten
sync Ausfuumlhrung innerhalb des aufrufenden Threads Nachricht wird nicht zwischengespeichert
Property bpelconfigoneWayDeliveryPolicy
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 30: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/30.jpg)
30
oneWayDeliveryPolicy amp Transactions
Wert Beschreibung
= sync gt neuer Thread + neue Transaktion
sync + requiresNew Aufrufender Thread + neue Transaktion(vergleichbar parallel Mediator)
sync + required Aufrufender Thread + gleiche Transaktion (wenn vorhanden)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 31: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/31.jpg)
31
Asynchroner FallbpelconfigoneWayDeliveryPolicy=asyncpersist asynccache
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 32: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/32.jpg)
32
Event Delivery Network (EDN)P
ub
lish
Eve
nt
Rec
eive
Eve
nt
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 33: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/33.jpg)
33
gt Fault Management
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 34: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/34.jpg)
34
Fehlerkategorien
bull Prinzipiell 2 Fehlerkategorienndash Business faultsndash Runtime faults (or technical or system faults)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 35: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/35.jpg)
35
Business Faults
bull Application-specificbull Business logic decides how to handle faultbull Anticipated errors failures in business state input data inconsistencies
exceptional states
bull Examplesndash Invalid account number submittedndash Credit limit exceededndash Outside allowable date range
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 36: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/36.jpg)
36
Business FaultsDefinition
bull Defined in service WSDLndash Service designer defines message structure for the faultndash messageType defined in WSDL
bull Example WSDL
ltxml version=10 encoding=UTF-8 gtltdefinitions name= NegativeCreditFaultgt
ltmessage name=CreditRatingServiceFaultMessagegt ltpart name=detail element=NegativeCreditFaultDetails gt ltmessagegt
ltdefinitionsgt
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 37: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/37.jpg)
37
Runtime FaultsAlso known as technical or system faults
bull Runtime faults ndash (remoteFault bindingFault etc) - unexpected
bull Infrastructure faultsndash Service down network outage connection timeouts
bull Data format errorsndash Inappropriate data structure corrupted message
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 38: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/38.jpg)
38
Mediator (2) Fault Groups
Fault Group Description
TYPE_ALL all mediator faults
TYPE_DATA Data related faultsAssignment Filtering Transformation amp Validation
TYPE_METADATA Mediator metadata related faultsFiltering conditions transformation metadata mediator metadata validation
TYPE_FATAL fatal errorsDB related Cache related error handling SOA Infrastructure related messaging transaction etc
TYPE_TRANSIENT Errors that can be recovered Infrastructure related messaging related
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 39: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/39.jpg)
39
BPEL
BPEL 10 BPEL 20 Oracle
Namespacehttpschemasxmlsoaporgws200303business-process
Namespace httpdocsoasis-openorgwsbpel20proce ssexecutable
Namespacehttpschemasoraclecombpelextension
bull selectionFailure bull conflictingReceive bull conflictingRequest bull mismatchedAssignmentFailure bull joinFailurebull forcedTermination bull correlationViolation bull uninitializedVariable bull repeatedCompensation bull invalidReply
bull ambiguousReceive bull completionConditionFailure bull conflictingReceive bull conflictingRequest bull correlationViolation bull invalidBranchCondition bull invalidExpressionValue bull invalidVariables bull joinFailure bull mismatchedAssignmentFailure bull missingReply bull missingRequest bull scopeInitializationFailure bull selectionFailure bull subLanguageExecutionFault bull uninitializedPartnerRole bull uninitializedVariable bull unsupportedReference bull xsltInvalidSource bull xsltStylesheetNotFound
bull bindingFaultbull remoteFaultbull replayFault
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 40: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/40.jpg)
40
Fault Management FrameworkPolicy Driven Fault Handling
bull Externalize your error handlingbull Policy-drivenbull Intended for technical faults
(but handles business faults as well)bull Engine level
ndash No impact on BPEL process designndash No impact on process in runtime (fault is isolated from process)
bull XML-based fault policiesndash Conditions for faults (fault name XPath on fault content)ndash Set of actions (retry human intervention replay scope rethrow fault
abort custom Java action)ndash Centrally managed
bull Manual resubmission supported through Enterprise Manager console
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 41: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/41.jpg)
41
Fault Handling Policy
bull Maps faults to actionsbull Specify fault by QName
ndash eg bpelxremoteFault mednsmediatorFault
bull Specify criterea with XPathndash Query fault code details etc
bull Specify action to be performedbull Specify policies at different levels
ndash Compositendash Component
bull Overrides any fault handling in the BPEL processbull Defined in fault-policiesxml in the same directory as compositexml
ndash Can also be stored in the MDS and referenced in compositexml ndash useful if standard policies across SOA applications
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 42: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/42.jpg)
42
Fault Policy einbinden
bull fault-bindingxml und fault-policiesxml im ldquoRootrdquo-Verzeichnis des composites ablegen
bull Ablage im MDS und Referenz in compositexml
ltproperty name=oraclecompositefaultPolicyFilegt oramdsappsfaultpolicyfilesfault-policiesxml ltpropertygt ltproperty name=oraclecompositefaultBindingFilegt oramdsappsfaultpolicyfilesfault-bindingsxml ltpropertygt
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 43: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/43.jpg)
43
Java Action
bull Implements IFaultRecoveryJavaClass interface
bull handleRetrySuccess is invoked upon a successful retry attempt The retry policy chains to a Java action on retrySuccessAction
bull handleFault is invoked to execute a policy of type javaActionbull Typically handles lsquoside tasksrsquo notifications fault logging and extended
decisions about recovery actionbull Executed in EJB context ndash within compositersquos transaction
public interface IFaultRecoveryJavaClass public void handleRetrySuccess(IFaultRecoveryContext ctx ) public String handleFault(IFaultRecoveryContext ctx )
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 44: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/44.jpg)
44
IFaultRecoveryContext
IFaultRecoveryContext
MediatorRecoveryContext BPELFaultRecoveryContextImpl
RejectedMsgRecoveryContext
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 45: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/45.jpg)
45
Java Fault Policies installieren
1 Java Sourcen in JAR-Archiv zusammenfassen
2 Jar-Archiv nach $FMW_HOMEOracle_SOA1soamodulesoraclesoaext_1111 kopieren
3 buildxml ausfuumlhren4 SOA Suite durchstarten
lttaskdef resource=netsfantcontribantcontribpropertiesgt ltclasspathgt ltpathelement location=$envANT_HOMElibant-contrib-06jargt ltclasspathgtlttaskdefgt
Achtung Bug in buildxml ab 11117
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 46: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/46.jpg)
46
gt Security
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 47: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/47.jpg)
47
Sicherheitsstandards und Frameworks
Transmission Control Protocol and Internet Protocol (TCPIP)
Transport-Level Security Secure Socket Layer (SSL)
Message Structure
Trust Management Federation
Confidentiality Integrity Authenticity
XML Frameworks
Non-XML Frameworks
Transport Layer (HTTP FTP JMS etc)
Met
adat
a
XML Encryption XML SignatureSOAP WS-Security
SAML WS-Trust
WS-Policy WS-Policy Attachment
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 48: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/48.jpg)
48
Oracle Web Services ManagerUumlberblick
Web Services Manager
IDM Service
Fusion App Service
SOA Service
OWSMAgent
PolicyManager
Enforcement Decision
PolicyManagement
Enterprise Manager
JDeveloper
AttachDeploy
OWSM Policy Store
Policy Persistence
Portal Users
WS Clients
HTTP SOAP REST
joe
Oracle Platform Security Service
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 49: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/49.jpg)
49
PolicyPolicy
Assertion 1 Assertion 2 Assertion nRequest
Response
Policy Type Description
Reliable Messaging Reliable messaging policies that implement the WS-ReliableMessaging standard describes a wire-level protocol that allows guaranteed delivery of SOAP messages and can maintain the order of sequence in which a set of messages are delivered
Management Management policies that log request response and fault messages to a message log Management policies may include custom policies
Adressing WS-Addressing policies that verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification Transport-level data is included in the XML message rather than relying on the network-level transport to convey this information
Security Security policies that implement the WS-Security 10 and 11 standards
MTOM
(Message Transmission Optimization Mechanism)
Binary content such as an image in JPEG format can be passed between the client and the Web service In order to be passed the binary content is typically inserted into an XML document as an xsdbase64Binary string Transmitting the binary content in this format greatly increase the size of the message sent over the wire and is expensive in terms of the required processing space and time
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 50: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/50.jpg)
50
Policy Attachement
bull Designtime im JDeveloper z B SCA-Compositesbull Annotations (SecurityPolicy) Deployment-Deskriptor z B JAX-WS Servicesbull Runtime im Fusion Midleware Control
ndash Manuellndash Policy Sets
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 51: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/51.jpg)
51
Oracle Web Services ManagerOWSM Agent
bull Pruumlft die Einhaltung von Policies anhand der Policy Interceptor Pipeline
bull Request Reliable Messaging gt Management gt Adressing gt Security gt MTOM
bull Response MTOM gt Security gt Adressing gt Management gt Reliable Messaging
OWSM Agent
Reliable Messaging
Management Adressing Security MTOM
Client
request
response
Policy Interceptor
Policy Interceptor Pipeline
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 52: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/52.jpg)
52
gt Purging
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 53: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/53.jpg)
53
Herausforderung
bull stetiges Wachstum im Dehydration Store (_soainfra)ndash abhaumlngig vom Audit Levelndash abhaumlngig von den SCA Composites
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 54: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/54.jpg)
54
Herausforderung
bull Einfluszlig des Audit Levels auf das Datenbank-Wachstum
Quelle Oracle Whitepaper SOA 11g - The Influence of the Audit Level on Performance and Data GrowthOktober 2012
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 55: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/55.jpg)
55
Deshalb fruumlhzeitighellip
an Archivierungs-
amp
Purging-Strategie
denken
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 56: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/56.jpg)
56
Purge Varianten
bull Purge Scriptsndash Looped Purge Script ndash Looped Purge Script in Parellel Mode
bull Database Partitioningbull TRS Scriptbull Enterprise Managerbull Infrastructure Management API (Java)bull ldquoDevelopment Only Truncate Skriptrdquo
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 57: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/57.jpg)
57
gt Tuning
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 58: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/58.jpg)
58
Einflussfaktoren
bull Nachrichtenanzahlbull Nachrichtengroumlszligebull Komplexitaumlt der Transformation
bull Art und Weise der Compositesndash synchron vs asynchrone Servicesndash langlaufende oder kurzlaufende Services
bull Systemarchitekturndash Ungleichverteilung und Lastspitzen
bull Security amp Verschluumlsselung
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 59: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/59.jpg)
59
SOA Suite Audit Level
Die Audit Level koumlnnen auf folgende Werte gesetzt werden bull bdquoInheritldquo uumlbernimmt Einstellung der naumlchst houmlheren Schicht bull bdquoProductionldquo (default) Instanz- und Payload-Aufzeichnung Mediator und
Assign-Aktivitaumlt in BPEL zeichnen keine Payload-Details auf bull bdquoDevelopmentldquo Alle Instanz- und Payload-Details werden aufgezechnet
negative Auswirkungen auf die Performance bull bdquoOffldquo Keine Instanz- und Payload-Aufzeichnung fuumlr groszlige Payloads
empfohlen
bdquoCapture Composite Instance Stateldquo (On|Off) Status laufender Instanzen wird evaluiert negative Auswirkungen auf die Performance
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 60: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/60.jpg)
60
Tuning-Bereiche
bull Datenbank Indizes SGA Tablespaces Processes Sessions bull Dehydration Store va Purging-Strategie bull JVM Heap Size (min=max) Garbage Collection (Timeouts)bull WebLogic Connection Pools Threads Transaction Timeout bull SOA Komponenten Thread Pools Log Level Batching
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 61: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/61.jpg)
61
Markus Lohn Head of Technology Consulting
gt Consultant Trainer und Experte fuumlr SOA und Java EE-Technologien (Oracle 8i - FMW 12c)
gt Umfangreiche Erfahrung bei der Umsetzung von komplexen Projekten mit Oracle-Technologien seit 1999 in den Branchen Oumlffentliche Verwaltung Banken und Versicherungen Automotive Industrie und Baugewerbe
Mit Markus Lohn vernetzen
E-Mail markuslohnesentricomBlog blogesentricomTwitter MarkusLohn
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-
![Page 62: SOA Suite 11g Deep Dive](https://reader033.fdocuments.in/reader033/viewer/2022061221/54bcce3d4a7959e64b8b4617/html5/thumbnails/62.jpg)
62
Uumlber die esentri AG
esentri facebookcomesentri
bdquoWir leben unsere Vision vom agilen Unternehmen der Zukunft
Mit unserer Begeisterung fuumlr fuumlhrende Technologien vernetzen wir Systeme Prozesse und Menschenldquo
- SOA Suite 11g Deep Dive gt Best Practices fuumlr Entwickler un
- gt WebLogic Infrastruktur
- WebLogic Komponenten
- WebLogic Domain Configuration
- FMW-Erweiterungenhellip
- Fusion Middleware Sicherheitsarchitektur Oracle Platform Securi
- gt SCA und SOA Suite
- Was ist ein Composite
- Oracle SOA Suite 11g
- URLs
- Startup Sequence
- Deployment-Schritte
- gt MDS
- MDS = Metadata Services
- Metadata Repository
- MDS Repository
- MDS Repository ndash SOA Suite
- gt abstrakte vs konkrete WSDL
- Abstrakte und konkrete WSDL
- Designtime
- Runtime
- Runtime bindingws
- gt Threads and Transactions
- Sequentiell Routing Rule
- Parallel Routing Rule
- Thread and Transaction Details
- Parallel Routing Debugging
- Transaktionsverhalten Synchroner BPEL Prozess
- Transaktionsverhalten asynchroner (one way) BPEL Prozess
- oneWayDeliveryPolicy amp Transactions
- Asynchroner Fall bpelconfigoneWayDeliveryPolicy=asyncpersist
- Event Delivery Network (EDN)
- gt Fault Management
- Fehlerkategorien
- Business Faults
- Business Faults Definition
- Runtime Faults Also known as technical or system faults
- Mediator (2) Fault Groups
- BPEL
- Fault Management Framework Policy Driven Fault Handling
- Fault Handling Policy
- Fault Policy einbinden
- Java Action
- IFaultRecoveryContext
- Java Fault Policies installieren
- gt Security
- Sicherheitsstandards und Frameworks
- Oracle Web Services Manager Uumlberblick
- Policy
- Policy Attachement
- Oracle Web Services Manager OWSM Agent
- gt Purging
- Herausforderung
- Herausforderung (2)
- Deshalb fruumlhzeitighellip
- Purge Varianten
- gt Tuning
- Einflussfaktoren
- SOA Suite Audit Level
- Tuning-Bereiche
- Markus Lohn Head of Technology Consulting
- Uumlber die esentri AG
-