<Insert Picture Here> Performance Tests in der Praxis am Beispiel von Oracle BPM/BPEL

Ähnliche Dokumente
Performance Tests in der Praxis am Beispiel von Oracle BPEL

Integration von Java Legacy Code in die Fusion Middleware 11 mittels des SOA Suite Spring Components

11. Komponenten Grundlagen der Programmierung 1 (Java)

Oracle Fusion Middleware 11g

JUnit. Software-Tests

Wie ich lernte die API zu lieben. 19. März sic[!]sec GmbH Industriestraße Gröbenzell

Neues von Oracle Gut zu wissen

Dr. Jens Hündling Senior Sales Consultant. DOAG Apps 2011 Berlin, 05. Mai 2011

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

Vernetzte Gebäudereinigung - Aufbau einer Cloud-Lösung

20. Deutsche Anwenderkonferenz 2007 Software Entwicklung 2.0

Erfahrungen mit TimesTen 7.0

Synergien aus Testautomatisierung und Lasttest. Vortrag im Rahmen des German Testing Day 2018

<Insert Picture Here> Einführung in SOA

Oracle System Application Management in a Nutshell

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

<Insert Picture Here> Oracle Business Transaction Management (OBTM) in der Praxis

DOAG Regionaltreffen Trier/Saarland/Luxemburg "Oracle Forms: Integration einer Formsanwendung in eine SOA-Architektur"

<Insert Picture Here> BI Publisher Berichte in eigene Anwendungen integrieren

<Insert Picture Here> Von Oracle Forms nach Oracle ADF - und was wird aus der Geschäftslogik (PL/SQL)?

<Insert Picture Here> Grid Control 11g und My Oracle Support Ulrike Schwinn

Test First ist mehr als Unit Test Sinnvolle Teststrategien für agile Tests

Continuous Everything

DevOps. Alexander Pacnik, Head of DevOps Engineering

Oracle Public Cloud benutzen

Handbuch für die Erweiterbarkeit

SOA Testing. Tobias Bosch OPITZ CONSULTING GmbH München

DOAG 2009 Copyright 2009, Oracle Corporation

Performance Tuning

Immer in Bewegung bleiben Oracle Managed File Transfer

Tuning des Weblogic /Oracle Fusion Middleware 11g. Jan-Peter Timmermann Principal Consultant PITSS

Jens Zwer. End-to-End Monitoring für Web-, SOA- und Oracle Applikationen

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

SOA Testing. Tobias Bosch, Technical Architect Mitglied SOA Competence Center OPITZ CONSULTING München GmbH. OPITZ CONSULTING GmbH 2010 Seite 1

New Features Oracle Forms 11g Nichts Neu für Forms?

Auszug aus JAX-WS Folien

Und was wird aus meinem Berichtswesen? <Speaker> Oracle Deutschland B.V. & Co. KG

DOAG SIG Day. E-Business Suite und SOA: Was ist heute schon möglich? Thomas Karle PROMATIS software GmbH. Frankfurt 26. April 2007

Testmanagement in Datenbank-Migrationsprojekten. Wie kann man die Migration von Legacy-Systemen absichern?

BPA Suite und SOA - vom fachlichen Prozessmodell zur Anwendung. Bernhard Fischer-Wasels Leitender Systemberater

BPEL und seine Kinder

Oracle Fusion Middleware Überwachung mit Oracle BAM

Effizienzsteigerung durch Mapping- Tools bei der Integration von RDBMS in Java-Anwendungen

Fault Handling in Webservices. SoSe 2011

1 Einführung 1. 2 Einrichten der Arbeitsumgebung 9. 3 Schnelleinstieg in Xcode und Objective-C 25

Tobias Flohre / Dennis Schulte codecentric AG. Spring Batch Performance und Skalierbarkeit

Service Level Management mit dem Oracle Enterprise Manager 10g DOAG SIG Fusion Middleware

About me. Hajo Normann SOA/BPM Architect at EDS, an HP company. Oracle ACE Director

BPEL und Transaktionen

NotesSession.GetPropertyBroker( )

Projekt. Transformation Engine. von Thomas Steinberg am

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

SQL Developer Unit Tests

Weblogic 12.2 und DB 12.2 das perfekte Duo

Ein- und Ansichten DOAG Regionaltreffen Bremen Oktober 2010

Gemeinsam mehr erreichen.

Dynamische Pivot-Tabellen

Vorlesung am Systemkonstruktion. Dr. F. Sarre Wintersemester 2008 / Folie 57

TDD. mit JUnit & Mockito. Tobias Trelle, codecentric

Ist Ihre Mainframe Anwendungs- Umgebung wirklich so effizient, wie Sie denken?

Einstieg in die Informatik mit Java

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1

Die Magie von MBeans und JMX. DOAG 2014 Andreas Chatziantoniou - Foxglove-IT BV

Eclipse und EclipseLink

Testbarkeitsanforderungen an die Software

Best Practices und Tools für Upgrades aus der Sicht der Applikation

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken

IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1

BIF/SWE - Übungsbeispiel

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication

Zukunft der Oracle Applikationsentwicklung: BC4J & XML

Datenbankbasierte Lösungen

<Insert Picture Here>

Evolution: Von Performance Tests zur produktiven Anwendungsüberwachung

Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen

Sicherheit bei IoT. DOAG 2015 Andreas Chatziantoniou - Foxglove-IT BV

Performance Verbesserung BIRT-BERICHTE

OXO³ technische Aspekte der Oracle EMEA internen BI Implementierung

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

WebLogic Server im Zusammenspiel mit Real Application Cluster

20. DOAG-Konferenz. Wohlstrukturierte Prozesse auf SOA-Basis. mit der Oracle E-Business Suite. Thomas Karle PROMATIS software GmbH

E-Business. Fr. Hauser, WS 2018/

Konfiguration von WNA in Oracle Access Manager 11g

UnitTest mit dem SQL-Developer Testgetriebene Entwicklung mit Oracle Werkzeugen

Oracle & Java HOW TO

Customer-specific software for autonomous driving and driver assistance (ADAS)

Persistenz unter Kontrolle mit JDBI für Java

Demo Kino: Der Herr der Wolken Die Gefährten

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

PRODATIS CONSULTING AG. Folie 1

JUnit 5 Die Plattform. Johannes Link

DOTS - reloaded. EntwicklerCamp René Winkelmeyer midpoints GmbH

Enterprise JavaBeans Überblick: 8. Test-Driven Development. 8.1 Einleitung 8.2 Beispiel 8.3 Anwendung mit Eclipse und dem JBoss Application Server

Welche GC-Strategie ist die richtige?

Platform as a Service (PaaS) & Containerization

Testing & Logging DBS. Tobias Lingelmann SEP

Transkript:

<Insert Picture Here> Performance Tests in der Praxis am Beispiel von Oracle BPM/BPEL Alexander Fox <alexander.fox@oracle.com> Senior Berater

Agenda Dauer ca. 45 Minuten Begriffsbestimmung Software-Tests Eine Übersicht Durchführung von Performance Tests Tuning-Massnahmen Performance-Test Planung Beschreibung eines Performance-Tests mit Oracle BPEL Embedded Java Request-Handler Sensor Mediator 1/23

Meinungen zu Performance und Optimierung Tuning is part of development that starts before the first line of code is ever written and ends the day before deployment Tom Kyte, Expert Oracle (2005)... about 97% of the time: premature optimization is the root of all evil Donald E. Knuth, Structured programming with go to statements (1979) 2/23

Performance-Tuning Maßnahmen Synchronität Mehr Infrastruktur Änderung in Anwendungslogik Caching Asynchrone Verfahren Meist Read-Only, Bzw. Write- Through Skalierbarkeit? Fehlerbehandlung Kontrollflussablauf 3/23

Einordnung Performance- Tests in das V-Modell Performance- Test Quelle: Handbuch für Projektmanagement http://www.projektmanagementhandbuch.de 4/23

Klassifizierung Tests Fehlertests Netzwerktests Sicherheitstests Komponententests Lasttest Stress-Test Crash-Test Interoperabilitätstests Datenkonstistenztests Schnittstellentests Oberflächentests 5/23

Performance-Planung Datenbasis (Echt-, Synthetische, Obfuskierte Daten) Benutzer-Verhalten (Normale Nutzung, Ausnahmenutzung zu Stichtagen) Werkzeuge zur Lasterzeugung (Verteilte Lasterzeugung) Zugriffsschicht GUI Service Schicht API (Java) Datenbank System-Verfügbarkeit 6/23

Performance-Planung Software-Stand Test-UNDO: Rücksetzung, Löschung Zu sammelnde Metriken (verbrauchte Bandbreite, Transactionen pro Sekunde, Payload size, Throughput, # concurrent User) Integration von Performance-Tests in den Continuous-Integration-Infrastruktur 7/23

Automatische Code-Instrumentierung Die Erstellung von Performance-Metriken sind sog. Querschnittsfunktion Cross-Cutting-Concern der Software Performance-Metriken haben funktional keine Bedeutung Die Software zur Erstellung dieser Metriken sollte extern gepflegt und erstellt werden 8/23

Infrastruktur für Statistik Logging Einfaches Logging für Statistik Logs Log-Name Log-ID Timestamp Logging über JDBC-DataSource Aggregation der Log-Daten Beispiel Treiber Request Senden Log auswerten Unittest-Integration 9/23

Code-Instrumentierung über Embedded Java Erweitern der Klasse und Implementierung eines Adapters/Wrappers für com.collaxa.cube.engine.ext.bpel.v1.nodes.bpelxex eclet Überschreiben dieser Methoden und Aufruf der privaten Methoden der eingehüllten Klasse public long getinstanceid() public ICubeInstance getcubeinstance() public Object getvariabledata(string name) public String getparentid() public String gettitle() public void execute() Minimaler Code-Ausführung in embedded Java 10/23

Code-Instrumentierung über Embedded Java <bpelx:exec name="embedded_chokepoint_1" version="1.5" language="java"> <![CDATA[ new de.afox.bpelxexeclettracer(this).trace("start"); ]]</bpelx:exec> 11/23

Code-Instrumentierung über Partner- Link Request Handler Implementierung der Klasse com.collaxa.cube.ws.headerhandler Überschreiben der Funktion invoke(cxpartnerlink ppartnerlink, String poperationname, Map pmsgpayload, List pmsgheader, Map pcallprops) Protokollierung von (partnerlink.getname+ / +operationname, partnerlink.getconversationid()) Registrierung des RequestHandlers unter PartnerLink-Eigenschaften 12/23

Code-Instrumentierung über Partner- Link Request Handler 13/23

Code-Instrumentierung über Partner- Link Request Handler composite.xml: <component name="stockprocess"> <implementation.bpel src="stockprocess.bpel"/> <property name= "partnerlink.stockquoteservice.requestheaderhandlers" type="xs:string" many="false">de.afox.instrumentheaderhandler </property> <property name= "partnerlink.stockquoteservice.responseheaderhandlers" type="xs:string" many="false">de.afox.instrumentheaderhandler </property>... 14/23

Code-Instrumentierung über Sensors Java Interface implementieren: com.oracle.bpel.sensor.datapublisher Methode publish public void publish(itsensoraction action, ITSensorActionData actiondata, Element xml) Protokollierung: (header.getprocessname() + "/" + action.getname(), header.getcompositeinstanceid()) Sensor registrieren 15/23

Code-Instrumentierung über Sensors 16/23

Code-Instrumentierung über Sensors Process_sensorAction.xml: <actions targetnamespace="..."> <action name="sensoraction_1" publishname="" publishtype="custom" enabled="true" filter="" publishtarget="de.afox.sensortracer">... <sensorname>activitysensor_1</sensorname> Process_sensor.xml: <sensors targetnamespace="..."> <sensor sensorname="activitysensor_1" classname="oracle.tip.pc.services.reports.dca.agents.bpelactivitysensorag ent" kind="activity" target="receiveinput"> <activityconfig evaltime="all"/> </sensor>... 17/23

Code-Instrumentierung über Mediator Mit einem Mediator lassen sich Proxy-Services für BPEL-Services erstellen Mediatoren können über einen Java-Callout erweitert werden: oracle.tip.mediator.common.api.abstractjavacallouti mpl Überschreiben der Methoden: public boolean prerouting(calloutmediatormessage msg) public boolean postrouting(calloutmediatormessage msg1, CalloutMediatorMessage msg2, Throwable t) Protokollierung von (msg1.getcomponentdn(),, msg1.getid()) 18/23

Code-Instrumentierung über Mediator 19/23

Code-Instrumentierung über Mediator 20/23

Code-Instrumentierung über Mediator Mediator.mplan: <Mediator name="mediator1"...> <operation name="process"...> <customfunction> <javafunction>de.afox.tracingmediatorjavacallout</javafunction> </customfunction> <switch> <case executiontype="direct" name="stockprocess.stockprocess_client.process"> Composite.xml: <component name="mediator1"> <implementation.mediator src="mediator1.mplan"/> </component> 21/23

Bibliographie The Art of Application Performance Testing, Ian Molyneaux, O'Reilly 2009 Oracle SOA Suite 11g R1 Developers Guide, A.Reynolds, M.Wright, Packt, 2010 Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite 11g Release 1 (11.1.1) 22/23

Q & A 23/23