15
SOA Monitoring & Administration: Tips & Tricks Jeremy Treague Lead Technical Developer [email protected] Spring 2014 FDUG Meeting

SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Embed Size (px)

DESCRIPTION

Presentation given at the Spring 2014 FDUG Meeting by Jeremy Treague on topic of Oracle SOA Monitoring & Administration Tips and Tricks

Citation preview

Page 1: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

SOA Monitoring & Administration: Tips & Tricks

Jeremy TreagueLead Technical [email protected]

Spring 2014 FDUG Meeting

Page 2: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Overview

• Where we are at today with SOA• Recent obstacles & workarounds• Programmatically manage SOA composites• SOA fault handling & monitoring approaches• SOA proactive maintenance tips• Where we are heading with SOA

Page 3: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Where We Are At Today

• We have been using SOA Suite 11.1.1.6 for 1 yearSingle-server Dev & Training EnvironmentsClustered Test & Production Environments

• Hub & Spoke Integration Pattern Manufacturing & Home Office (ERP/WMS) system

integrations 10 domestic plant locations < 200,000 composite instances/day

• Components Used Database Adapter (Oracle & MS SQL) Mediator & BPEL Event Delivery Network (EDN)

Page 4: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Recent Challenges & Workarounds

• Problem: Un-deploying SOA composites took too long

Workaround: Purge off all composite instances, then un-deploy the composite

Page 5: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Recent Challenges & Workarounds

Problem: SOA Managed Servers Intermittently Crashjava.lang.OutOfMemoryError: PermGen space

Preceded by:[STUCK] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "672" seconds working on the request "oracle.soa.management.internal.ejb.impl.FacadeFinderBean_4vacyo_FacadeFinderBeanImpl", which is more than the configured time 

Solution(s): • Increased MaxPermSize to 1 GB (see Doc ID 1341818.1)• Increased transaction timeout settings • Applied latest recommended patches (WLS & SOA Suite)Good Book: Oracle SOA Suite 11g Performance Tuning Cookbook (by Packt Publishing)

Page 6: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Recent Challenges & Workarounds

Problem:• When polling SQL Server database, our clustered SOA server would

sometimes process unread records twiceResulted in duplicate transactions recorded in our ERP!

Workarounds:• Changed JDBC driver from Microsoft Type 4 to Oracle Type 4 XA

Required installing extended XA stored procedures on MS SQL Server

Page 7: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

SOA Suite’s Facade API

• Programmatically manage SOA composites List composite / instance information

Composite StateFaulted InstancesInstance countsDefault vs. non-default revision

Stop/start composites remotely Purge instances Documentation & Examples:

http://docs.oracle.com/cd/E21764_01/integration.1111/e10226/soaadmin_apimanage.htm

http://kmatcha.wordpress.com/2012/08/09/java-client-to-purge-soa-11g-composite-instances-3/

Page 8: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

SOA Suite’s Facade API

• JDeveloper libraries to include in CLASSPATH: $MW_HOME\oracle_common\soa\modules\

oracle.soa.mgmt_11.1.1\soa-infra-mgmt.jar $MW_HOME\oracle_common\modules\

oracle.fabriccommon_11.1.1\fabric-common.jar $MW_HOME\jdeveloper\internal\modules\external-fabric-

runtime\soa\modules\oracle.soa.fabric_11.1.1\fabric-runtime.jar $MW_HOME\oracle_common\modules\oracle.jrf_11.1.1\jrf.jar $MW_HOME\wlserver_10.3\server\lib\wlclient.jar

Demo

Page 9: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

SOA Error Handling & Monitoring

• Initially we had good handling for “business” faults (expected errors) “Happy Path” Approach Better than nothing

• …but we weren’t handling for “technical” faults (unexpected errors)

• A good error handling & monitoring strategy accounts for both

• Runtime fault handling framework & limitations

ORA-00942: table or view does not existORA-01688: unable to extend tablespaceORA-04061: existing state of package has been invalidated

Page 10: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Business Fault Monitoring Approach

• We persist and communicate business faults using the EDN Send e-mail summary to business and IS support staff Generate human tasks / open IS work orders (future)

• Works great under normal circumstances…but what happens when a PL/SQL exception is raised?

Page 11: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Technical Fault Monitoring Approach

• We use a stand-alone Java process to check for recently faulted composite instances Connects via JDBC to SOA database Queries SOA_INFRA.COMPOSITE_INSTANCE table for

faulted instances (based on state codes found HERE) Checks every 5 minutes and sends e-mail notification “Poor Man’s” monitoring solution – has its limitations

Page 12: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Weblogic Server Monitoring Approach

• We monitor the SOA managed servers using OEM Grid Control 12c and WLS Management Pack

Page 13: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Proactive Maintenance Tips

• Oracle Fusion Middleware (FMW) SOA 11g Infrastructure Database: Installation, Maintenance, Administration and Purging Guide (Doc ID 1384379.1)

• SOA 11g: Bundle Patch Reference (Doc ID 1485949.1)• Oracle WebLogic Server PSUs (Patch Set Updates) (

Doc ID 1306505.1)• SOA Proactive Support Blog: (https

://blogs.oracle.com/soaproactive/)

Page 14: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Where We Are Going (Next 6+ Months)

• Leverage SOA middleware more strategically (outside of manufacturing systems integrations) Integration Technology Decision MatrixGlobal systems integration

• SOA Management Pack for Oracle Enterprise Manager Grid Control 12c

• Bus-style integrations (client call-outs)• RESTful Services for Web/Mobile UI’s• Human Tasks / Workflows (BPM?)

Page 15: SOA Monitoring & Administration Tips and Tricks - Spring 2014 FDUG Meeting

Questions & Comments