Best Practices for Testing SOA Suite 11g based systems

Similar documents
Welcome. Oracle SOA Suite meets Java The best of both worlds. Guido Schmutz DOAG Konferenz 2013 Nürnberg,

Oracle SOA Suite 11g: Build Composite Applications

Oracle SOA Suite 11g: Build Composite Applications

Oracle SOA Suite 12c: Build Composite Applications

Oracle SOA Suite 12c: Build Composite Applications. About this course. Course type Essentials. Duration 5 Days

Oracle SOA Suite 12c : Build Composite Applications

Getting Started with. Oracle SOA Suite 11g. R1 -AHands-On Tutorial. composite application in just hours!

Oracle SOA Suite 10g: Services Orchestration

1Z

Oracle Exam 1z0-478 Oracle SOA Suite 11g Certified Implementation Specialist Version: 7.4 [ Total Questions: 75 ]

ORACLE INTRODCUTION. Service Bus 11g For the Busy IT Professional. munz & more Dr. Frank Munz November getting started

RED HAT JBOSS FUSE SERVICE WORKS 6 COMPARED WITH ORACLE SOA SUITE

1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials

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

Oracle Bpel Process Manager Installation Guide 11g

Oracle Fusion Middleware

<Insert Picture Here> Forms Strategies: Modernizing Your Oracle Forms Investment

Microservices with Kafka Ecosystem. Guido Schmutz

Understanding Oracle ADF and its role in the Oracle Fusion Platform

Next-Generation SOA Infrastructure. An Oracle White Paper May 2007

Road to SOA Suite 12c. Upgrading SOA / BPM Suite from 11g to 12c

Integration of Oracle VM 3 in Enterprise Manager 12c

REALTIME WEB APPLICATIONS WITH ORACLE APEX

OpenESB Keh-Yoe Ong FAST (Field Assistance Support Team)

Integrating Legacy Assets Using J2EE Web Services

Quality - The Key to Successful SOA. Charitha Kankanamge WSO2 February 2011

Empfehlungen vom BigData Admin

Oracle SOA Suite 11g: Administration

1Z Oracle SOA Suite 12c Essentials Exam Summary Syllabus Questions

Continuous Integration im Umfeld der Oracle SOA Suite 11g

Oracle 1Z Oracle SOA Foundation Practitioner.

B. By not making any configuration changes because, by default, the adapter reads input files in ascending order of their lastmodifiedtime.

ActiveVOS Technologies

Oracle Access Management

BPA Suite to BPEL: a Case Study. Lonneke Dikmans November 2011 Nuremberg, Germany

Oracle Applications Unlimited and Web 2.0: You Can Have It Now!

Sentinet for BizTalk Server SENTINET

<Insert Picture Here> Click to edit Master title style

Testpassport.

ebusiness Suite goes SOA

<Insert Picture Here> The Oracle Fusion Development Platform: Oracle JDeveloper and Oracle ADF Overview

Java Lounge. Integration Solutions madeeasy ComparisonofJava Integration Frameworks. Mario Goller

Domain Services Clusters Centralized Management & Storage for an Oracle Cluster Environment Markus Flechtner

1Z

Oracle BPM 11g: Implement the Process Model

Exam : 1Z Title : Oracle SOA Foundation Practitioner. Version : Demo

Oracle EXAM - 1Z Oracle Application Integration Architecture 11g Essentials. Buy Full Product.

Exam Questions 1z0-451

3 Connecting to Applications

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime.

ابزارهای پیاده سازی معماری سرویس گرا )SOA(

Apps Exception Problem Building Schema Jdeveloper

Cloud Acceleration. Performance comparison of Cloud vendors. Tobias Deml DOAG2017

Oracle ADF: The technology behind project fusion. Lynn Munsinger Principal Product Manager Application Development Tools Oracle Corporation

Dave DiFranco SOA Frameworks

Oracle Fusion Middleware Understanding Oracle SOA Suite. 12c Release ( )

Oracle Fusion Middleware Understanding Oracle SOA Suite. 12c Release ( )

Oracle Service Bus 10g R3: Design & Integrate Services for SOA

Process Choreographer: High-level architecture

zentrale Sicherheitsplattform für WS Web Services Manager in Action: Leitender Systemberater Kersten Mebus

Data Vault Partitioning Strategies. Dani Schnider, Trivadis AG DOAG Conference, 23 November 2017

Oracle Fusion Middleware

Identifying Performance Problems in a Multitenant Environment

Oracle 1Z Oracle Application Integration(R) Architecture 11g Essentials.

Oracle Fusion Middleware

Departamento de Engenharia Informática. Systems Integration. Web Services and BPEL Tutorial

Oracle Fusion Middleware Installing Oracle SOA Suite and Business Process Management Suite Quick Start for Developers. 12c (

Vendor: Oracle. Exam Code: 1Z Exam Name: Oracle SOA Suite 12c Essentials. Version: Demo

1Z0-434 Exam Questions Demo Oracle. Exam Questions 1Z Oracle SOA Suite 12c Essentials

MetaMatrix Enterprise Data Services Platform

The one bit everyone forgets: with JUnit. John Stegeman Xchanging

Developing BPEL Processes Using WSO2 Carbon Studio. Waruna Milinda

ESB Environment, Service Component Architecture (SCA)

Eclipse SOA Tools Platform Project

CONTINUOUS DELIVERY IN THE ORACLE CLOUD

CRI Event-Driven BI. Peter Welkenbach Principal Consultant Trivadis GmbH. Düsseldorf,

4 Connecting to Composites

This document is for informational purposes. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in

Introduction in Eventing in SOA Suite 11g

Exadata Database Machine Resource Management teile und herrsche!

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

SAP NetWeaver Process Integration 7.1. SAP NetWeaver Regional Implementation Group SAP NetWeaver Product Management December 2007

INRIA ADT galaxy An open agile SOA platform

Oracle Fusion Middleware. Using Ariba Adapter Release 12c ( ) E

CICS Transaction Server and WebSphere Process Server White paper Extend and enrich the value of your most-critical transactions and data.

Eclipse SOA Tooling Platform: Project Overview. An Overview of the Eclipse STP (SOA Tooling Platform) Project

BPEL Research. Tuomas Piispanen Comarch

WELCOME. Unterstützung von Tuning- Maßnahmen mit Hilfe von Capacity Management. DOAG SIG Database

Oracle Fusion Middleware

Enterprise Integration Patterns Exemplified in Java Business Integration

Oracle Fusion Middleware

Scripting OBIEE Is UDML and XML all you need?

Lecture Notes course Software Development of Web Services

MarcoFlow: Modeling, Deploying, and Running Distributed User Interface Orchestrations

Backup Methods from Practice

Oracle Database Failover Cluster with Grid Infrastructure 11g Release 2

Distribution and Integration Technologies

Analytic Views: Use Cases in Data Warehouse. Dani Schnider, Trivadis AG DOAG Conference, 21 November 2017

Database Sharding with Oracle RDBMS

Oracle Developer Day

Transcription:

Best Practices for Testing SOA Suite 11g based systems ODTUG 2010 Guido Schmutz, Technology Manager / Partner Trivadis AG 29.06.2010, Washington Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien

Introduction Guido Schmutz Working for Trivadis for more than 13 years leading and independent IT service company operating in Germany, Austria and Switzerland Oracle ACE Director for Fusion Middleware and SOA Co-Author of different books Consultant, Trainer Software Architect for Java, Oracle, SOA and EDA More than 20 years of software development experience Contact: guido.schmutz@trivadis.com Blog: http://guidoschmutz.wordpress.com/

About Trivadis Swiss IT consulting company 13 locations in Switzerland, Germany and Austria ~ 540 employees Key figures 2008 Services for more than 650 clients in over 1 600 projects Over 150 service level agreements More than 5 000 training participants Research and development budget: CHF 6.0 Mio. / EUR 3.6 Mio. 3

Agenda Introduction Scenario with SOA Suite 11g as an example Data are always part of the game. Unit Testing of SOA Suite 11g components Integration Testing of SOA Suite 11g composites Summary

Testing of SOA solutions For testing N-tier solutions some common best practices have been established Unit and Integration Tests Test Driven Development / Test-First Approach Mock Objects A lot of these approaches can be used/adapted for testing SOA solutions as well Testing a SOA solution is as/even more important Often enterprise wide systems (backbone of an enterprise) Many different users Each single error can have a huge impact Even if SOA uses a lot of existing functionality, it s not enough to just test the existing functionality A SOA adds some additional logic which needs to be tested as well! Router, Filter, Enrichment, Orchestration, Business Process Logic, Rules,

Challenges for testing SOA solutions SOA environments are inherently heterogeneous SOA solutions typically integrate a set of packaged or custom applications not always possible to provide a dedicated testing environment for all the systems involved SOA often works asynchronously Tests are usually carried out in a synchronous way, Business processes often depend on timed events unit of test usually larger than in traditional applications

Automatic Testing Relies on automatic, programmatic execution of the different test scenarios results can be verified against expected results Efficient development and execution of test cases only achievable through Testing Frameworks i.e. JUnit for Java A Testing Framework provides some common, reusable components for Creating a test Executing a test Verifying test results

Functionalities of a Testing Framework Generator Produces the test data Executes the components under test Verifier/Asserter Compares the actual test results with the expected results a Verifier/Asserter makes an accurate, binary decision whether a test was successful or not Mock/Stub Testing component which simulates part of the system to be tested

Unit / Component Testing Focuses on one specific component of the system Outside dependencies should be isolated as much as possible to ensure testing of the component in isolation Easier to achieve with low-level component Integration issues between components may not be discovered But later integration tests can rely on well-written and (unit)tested components

Integration Testing Focuses on the interaction between multiple components Focuses on the lower layers first Because they have the least external dependencies If the test fails in a component of an upper layer, its less likely that the reason is a faulty lower layer component These have already been tested Also referred to as Bottom-Up Testing t

Agenda Introduction Scenario with SOA Suite 11g as an example Data are always part of the game. Unit Testing of SOA Suite 11g components Integration Testing of SOA Suite 11g composites Summary

SOA Suite 11gR1 PS2 Architecture BPA Shared BPMN Model BPMN 2.0, BPEL Rich End User Interaction Web based customization Business View Workspace Process Portal (WC spaces) MS Office BPM Studio (with Business and IT views) B2B BPEL BPMN Human Workflow (+AMX, AG, Orgn) Business Rules Unified Runtime Mediator Process Composer BAM Process Analytics Proc Cubes Optimized binding Common JCA-based connectivity infrastructure Oracle Service Bus Policy Manager EM console +BPMN Screens Repository 12

Sample scenario Internal Request Generate ID Read customer info Validate credit card External

Implementation with SOA Suite 11g SCA composite with the Business Process and a Mediator for customer integration Credit card validation implemented as a service on the Oracle Service Bus service Routes to the right credit card institute to be called

Artifacts to be tested BPEL/BPMN flow logic Decisions, Orchestrations Mediator logic OSB flow logic XQuery / XSL Transformations Business Rules

Is this good enough? Enterprise Manager (EM) OSB Console

Agenda Introduction Scenario with SOA Suite 11g as an example Data are always part of the game. Unit Testing of SOA Suite 11g components Integration Testing of SOA Suite 11g composites Summary

Unit testing of a SOA Suite 11g SCA component Oracle SOA Suite 11g provides a testing framework with the following features Definition of tests, assertions and emulations via JDeveloper Starting Tests from the EM console or via the command line using ANT Test Reports via EM console or via JUnit report A test case contains Initiation Defines the services and operations, which will be called with test data Emulation Defined the message or error, which will be returned from a reference or a component Assertion Compares the message or part of the message against expected data

Unit testing of an 11g SCA component CustomerMediator called, but database access (via DB-Adapter) only simulated Answer of CreditCardService simulated Allocation of the request ID simulated Fixed and deterministic values are always returned Important to be able to test the answer with an Asserter (Verifier) against an expected message

Initial message, will be sent to the BPEL component (Generator) Emulated answer from customer service, without calling the real service (Mock) Answer will be tested against the expected message (Verifier)

Executing test cases Test cases will be deployed with the normal deployment of an SCA composite Unit tests can be executed via Enterprise Manager (EM) console

Different Unit Testing Patterns With Mediator logic With Customer Service Without Mediator logic Mediator only

Unit testing on an OSB service In order to be able to test the OSB service isolated (as a unit) there must be a way to simulate the two service references Mocks for Visa and Amexco This way the Routing and Transformation logic can be tested Generate Mock Visa Amexco Mock

But how do I get these Mock Services? The Unit Testing Framework of SOA Suite 11g is not available for Oracle Service Bus services Should we start implementing the Mock Services as own web services with the language of our choice? One advantage of SOA is the standardized definition of the interfaces through WSDL and XSD There are more and more utilities/tools available, simplifying some of the tasks with a SOA solution Functional testing Load testing

soapui http://www.soapui.org/ Tool for Web Service Testing Available in a free version Supports the Testing of SOAP as well as REST Web Services Covers the following functionalities: Inspection and call of web services Functional testing of web services Load testing of web services Creation of Web Service Dummies (Mock Services)

Mock Service for the Visa Service Mock

Fault Response and dynamic values with soapui

Executing WebService with soapui Request Response

Unit Testing Transformations Automated Unit testing of Transformations is not supported! developers tests are possible automated with XMLUnit?

Agenda Introduction Scenario with SOA Suite 11g as an example Data are always part of the game. Unit Testing of SOA Suite 11g components Integration Testing of SOA Suite 11g composites Summary

Integration Testing of SOA solutions All the single components are deployed and wired together in a dedicated testing environment Can be automated using Ant / WLST connected with the corresponding test versions of the external services What should we do, if there is no test version available of a given (external) service? What should we do, if the service is not yet available?

Integration Testing of SOA solutions How can the behavior of an external service be influenced? So that different outcomes can be tested to test the behavior of a SOA solution in an error case, the error situation has to occur How to force an (external) service to produce an error at the right moment? The solution is again a Mock Service, which takes over the place of the external services G V BPEL Mediator / ESB M

Integration Testing with soapui Tests can be combined into a Test Suite and run all together Tests can assert, that the right outcome of a service call

Agenda Introduction Scenario with SOA Suite 11g as an example Data are always part of the game. Unit Testing of SOA Suite 11g components Integration Testing of SOA Suite 11g composites Summary

Summary Best Practices for testing conventional applications are valid for SOA solutions as well Unit Testing of SCA components is well supported via the SOA Suite 11g testing framework Not complete yet, but already quite usable Would be nice to be able to zoom into BPEL and BPMN with unit testing (was there in 10g) Integration Testing can be implemented with soapui calling SOA Suite services Creating a Mock Service for an external service soapui is much more powerful than shown here All the Tests shown can be automated

Thank you! ODTUG 2010 Guido Schmutz, Technology Manager / Partner Trivadis AG 29.6.2010, Washington Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien