+ All Categories
Home > Technology > Test driven cloud development using Oracle SOA CS and Oracle Developer CS

Test driven cloud development using Oracle SOA CS and Oracle Developer CS

Date post: 15-Apr-2017
Category:
Upload: sven-bernhardt
View: 644 times
Download: 2 times
Share this document with a friend
43
© OPITZ CONSULTING GmbH 2016 Slide 1 Test-Driven Cloud Development September 2016 Test-Driven Cloud Development Danilo Schmiedel Solution Architect | Oracle ACE Director OPITZ CONSULTING Deutschland GmbH Sven Bernhardt Solution Architect | Oracle ACE OPITZ CONSULTING Deutschland GmbH Using Oracle SOA Cloud Service and Oracle Developer Cloud Service
Transcript
Page 1: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 1Test-Driven Cloud Development

September 2016

Test-Driven Cloud Development

Danilo SchmiedelSolution Architect | Oracle ACE DirectorOPITZ CONSULTING Deutschland GmbH

Sven BernhardtSolution Architect | Oracle ACEOPITZ CONSULTING Deutschland GmbH

Using Oracle SOA Cloud Service and Oracle Developer Cloud Service

Page 2: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 2Test-Driven Cloud Development

Oracle SOA 12c @ Opitz

- First Oracle SOA / BPEL project in 2006

- Implemented multiple 10g to 11g projects

- Wide knowledge with Side-by-Side upgrades based on Enterprise Deployment Guide

n Oracle Platinum Partner, founded in 1990, located in Germany and Poland

n Specialized in many products across the Oracle portfolio

n 2 Oracle ACE Directors and 2 Oracle ACEs

n Recognized as one of the leading Oracle Fusion Middleware Partners

n 2015 & 2014: BPM Partner Community Award

2010: Fusion Middleware Award

2008 – 2010: EMEA SOA Community Award

About OPITZ CONSULTING

- Experienced with In-Place Upgrades long running / stateful processes with minimal downtime

- Products included in upgraded solutions: - Oracle SOA Suite12c - Oracle OSB 12c- Oracle BAM 12c

Page 3: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 3Test-Driven Cloud Development

Agenda1. Why test-driven development?

2. Oracle SOA CS and Oracle Developer CS

3. Testing in (cloud) integration projects

4. OC Testframework

5. Demo

6. Benefits

Page 4: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 4Test-Driven Cloud Development

1 Why test-driven development?

Page 5: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 5Test-Driven Cloud Development

Case Study #1 - Simplified Solution Architecture

Webshop

ERP

Warehouses Carriers Suppliers

Integration Platform (SOA Suite)

Customer Service

Page 6: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 6Test-Driven Cloud Development

Case Study #1 - Problem Cloud

Transparency

Technical Monitoring

Schema Validation

Handling of technical faults

Handling of business faultsHuman Intervention

Versioning

Re-usability

System Integration

Adapter

Different Protocols

ScalabilityContinuity

Standardization

Time-to-Market

Page 7: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 7Test-Driven Cloud Development

Case Study #1 – Team Structure

ERP Team MW Team QA Team

5 People 9 People 6 People

Page 8: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 8Test-Driven Cloud Development

2015 2016Jan Mrz Mai Jul Sep Nov 2016 Mrz Mai

GoLive:FoundationComponents1Feb15,2015

GoLive:FoundationComponents2Mrz22,2015

GoLive:Release1Apr12,2015

GoLive:Release2Mai24,2015

GoLive:Release3Jul19,2015

GoLive:Release4Dez7,2015

GoLive:Release5Jan20,2016

GoLive:Release6Apr19,2016

GoLive:Release7Mai3,2016

ProjectKickoff(incl.Specification)Jan5,2015

DevelopmentofallReleasescompletedSep18,2015

40days QAofRelease1

30days QAofRelease2

40days QAofRelease3

100days QAofRelease4

32days QAofRelease5

63days QAofRelease6

9days QAofRelease7

~8month

Page 9: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 9Test-Driven Cloud Development

Case Study #1 – Project Approach (Target)n Target approach was agile

n Small, incremental deliverables

n In-time business value generation

Source: http://blog.procademysoftware.com/agile-project-management/

Source: http://www.commonplaces.com/blog/agile-vs-waterfall-how-to-approach-your-web-development-project/

Page 10: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 10Test-Driven Cloud Development

Case Study #1 – Project Approach (Reality) n Static and cumbersome

n Insufficient test automation and no budget for DevOps

n Releases became too complex

Source: http://blog.procademysoftware.com/agile-project-management/

Source: http://www.commonplaces.com/blog/agile-vs-waterfall-how-to-approach-your-web-development-project/

Page 11: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 11Test-Driven Cloud Development

Test maturityn Analysis of the status quo: Where we are and where we want to be?

Source: https://developer.ibm.com/urbancode/docs/continuous-delivery-maturity-model/

Minimum Target Reality

No tests

Page 12: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 12Test-Driven Cloud Development

Continuous integration / delivery

Source: https://guidelines.axonivy.com/projects/guides/wiki/Continuous_integration_delivery

Source: http://softwareengineeringdaily.com/tag/continuous-delivery/

Page 13: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 13Test-Driven Cloud Development

„ “Never start a (cloud) integration projectwithout an appropriate DevOps approach.

But how to establish it efficiently?

Page 14: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 14Test-Driven Cloud Development

2 Oracle SOA CS and Oracle Developer CS

Page 15: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 15Test-Driven Cloud Development

Oracle Cloud Services

Source: https://cloud.oracle.com/developer/services

Page 16: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 16Test-Driven Cloud Development

Oracle SOA CSn Full suite of developer tools

including OSB (Virtualization), BPEL (Orchestration), B2B, Managed File Transfer, Adapters for Connectivity, API Management

n Oracle manages the infrastructure

n Fully automated provisioning

n Provides complete access, so that administrators can tune, configure, and monitor the SOA environment as with on-prem

Page 17: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 17Test-Driven Cloud Development

Oracle Developer CSn Complete development platform provided as a service to enable

an agile development process and to automate DevOps & delivery

n Dev CS supports: Continuous Integration, Continuous Delivery and Collaboration

n Is included as a free entitlement with trial and paid orders of n Java Cloud Service, n Java Cloud Service-SaaS Extension, n Messaging Cloud Service, n Mobile Cloud Service, n SOA Cloud Service and n Application Container Cloud

Page 18: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 18Test-Driven Cloud Development

Developer CS – What‘s inside? n Version Management - Gitn Build Automation

n Ant, Maven, Gradle, npm, Grunt, Bower, Gulp, Command line

n Continuous Integration - Hudsonn Issue Trackingn Code reviewn Deployment automationn Agile process managementn Wikin Activity Stream

Page 19: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 19Test-Driven Cloud Development

3 Testing in (cloud) integration projects

Source: http://softwareengineeringdaily.com/tag/continuous-delivery/

Page 20: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 20Test-Driven Cloud Development

Challenges in (cloud) integration projectsn Complexity

n Distribution of systems / services

n Wide range of different technologies & skills

n Multiple data sources

n Test automation

n Deployment automation

n Consistent monitoring (E2E)

Page 21: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 21Test-Driven Cloud Development

Testing assets in SOA CS n Transformations

n XQueryn XSLTn NXSD

n Javan Java calloutsn Custom XPath functionsn JAX-WS / JAX-RS Web Services

n Services / Processesn Service Bus Servicesn SOA Composites

Page 22: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 22Test-Driven Cloud Development

Testing areas

CRM ERP

ProcessLayer

Service Layer

(Facades)

System Layer

Page 23: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 23Test-Driven Cloud Development

Elementary (Unit) tests of transformations and custom Java functionalities

CRM ERP

ProcessLayer

Service Layer

(Facades)

System Layer

Page 24: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 24Test-Driven Cloud Development

Service/Process component tests on local Dev Environments

CRM ERP

ProcessLayer

Service Layer

(Facades)

System Layer

ElementaryTests

ElementaryTests

ElementaryTests

Mock MockMock

MockMockMock

Page 25: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 25Test-Driven Cloud Development

CRM ERP

ProcessLayer

Service Layer

(Facades)

System Layer

ProcessTests

ComponentTests

MockMockMock

Service component tests on shared Test Environment

Page 26: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 26Test-Driven Cloud Development

CRM ERP

ProcessLayer

Service Layer

(Facades)

System Layer

End-to-EndTests

End-to-End Tests on Integration Environments

Page 27: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 27Test-Driven Cloud Development

Types of tests

Load/Performance/Stability tests

E2E tests

Process component tests

Service component tests

Transformation tests (XQuery, XSLT)Custom Java functionalities

Pre-deployTests

Post-deployTests

Cov

erag

e

Exec

utio

n tim

e

Com

plex

ity

Page 28: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 28Test-Driven Cloud Development

4 OC Testframework

Page 29: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 29Test-Driven Cloud Development

Oracle SOA OOTB testing capabilitiesn Design-time tests for transformations (XQuery, XSLT)

n Design-time tests for Business rules

n Test suites for SOA compositesn Mocking of services/inbound messsages (Process initiation) at composite leveln Mocking of references/outbound messages (Emulations) at composite leveln Definition of XML assertions (Strict and similar)n Define tests for BPEL components on BPEL activity level

n Variable and fault assertionsn Bypass blocking activities like waitsn Assert activity executions

n No testing capability for Mediator, Human Task, BPMN

Page 30: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 30Test-Driven Cloud Development

OC SOA Testing Frameworkn Java-based framework

n Developed and enhanced in several projects

n Uses provided Oracle APIs

n Supports SB Service testing

n Supports integration testing for SB and SOA composites

n Consistent integration in CI environment

n Earns further maturity through usage in international projects

n Supports SOA Suite 11g and 12c

Page 31: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 31Test-Driven Cloud Development

Featuresn Execute XQuery, Xsl and Nxsd tests

n Validate XML requests and responses

n Call services

n Intercept service calls

n Mock services (WS, JCA adapters, Human tasks)

n Manipulate runtime artifacts (DVMs, SB pipelineconfigurations/properties)

n Check execution of BPMN audit trail (activty execution, etc.)

Page 32: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 32Test-Driven Cloud Development

Comparison OOTB Testing vs. OC SOA TestingOOTB OC SOA Testing

Test-driven approach - ✔

Test automation Composites only ✔

Mocking ✔ ✔

Support for test types

• UnitXSLT / XQuery design-time only

Composites ✔Service Bus –

• Isolation Composites only ✔

• Integration Manual ✔

Page 33: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 33Test-Driven Cloud Development

Benefitsn Test-Driven Development (TDD)

n Common approach in Java/JEE developmentn Ensures that intended behavior is tested properly

n Consistent testing approach

n Flexibility

n Extensibility

Anti-Pattern

Page 34: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 34Test-Driven Cloud Development

OC SOA Testing – SOA CompositesTest Client SOA Server

SAR

SAR (original)

SAR (manipulated)

SAR (manipulated)

Download Composite

Execute test

Upload Composite SAR (original)

SAR (original)

Mock services

Check

Page 35: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 35Test-Driven Cloud Development

OC SOA Testing – SB ServicesTest Client SB Server

SBAR

Create Session

Execute test SBAR (manipulated)

Manipulate Service

Commit Session

Rollback Changes SBAR

Mock services

Check

Page 36: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 36Test-Driven Cloud Development

5 Demo

Page 37: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 37Test-Driven Cloud Development

Setup 1/2n Create new project in DevCS (Initial repository)

n Adjust local Maven settings to use DevCS Maven repository

n Populate Maven repositoryn mvn deploy:deploy-file -DpomFile=oracle-maven-sync-12.1.3.pom -Dfile=oracle-

maven-sync-12.1.3.jar -Durl=https://developer.us2.oraclecloud.com/profile/ developer88301-deoracleem99369/s/developer88301-deoracleem99369_soa-cloud-testing_10988/maven/ -DrepositoryId=odcs

n mvn com.oracle.maven:oracle-maven-sync:push -Doracle-maven-sync.oracleHome=$MW_HOME -Doracle-maven-sync.serverId=odcs -P odcs

n Add additional libraries needed by the OC SOA Testingframework

Page 38: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 38Test-Driven Cloud Development

Setup 2/2n Commit & push your code to DevCS Git repository

n Deploy your artifacts to SOA CS

n Define the Hudson build jobs that executes testsn Pre-deploy test (XQuery, Xsl, Nxsd)n Post-deploy test (SOA composite tests, SB services)

n Find a detailed description with the basic steps:https://community.oracle.com/community/cloud_computing/platform-as-a-service-paas/oracle-developer-cloud-service/blog/2015/11/05/soa-cloud-service-developer-cloud-service-integration

Page 39: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 39Test-Driven Cloud Development

5 Benefits

Page 40: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 40Test-Driven Cloud Development

Benefitsn Consistent, straight-forward testing approach

n Enables DevOps for SOA CSn Uses the same technologies for all implementation assestsn Supports the automation of the software development lifecycle

n Considers all assets of an SOA CS integration projectn Scalability

n Add new testing capabilties by adding additional environmentsn Improve code qualityn Faster development cycles

n Supports version upgrades and on-prem to cloud migrationscovered by tests to validate the results

Page 41: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 41Test-Driven Cloud Development

Q & A

Page 42: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 42Test-Driven Cloud Development

Contact Details

Danilo SchmiedelSolution Architect | Oracle ACE Director

OPITZ CONSULTING Deutschland GmbHTempelhofer Weg 64, 12347 Berlin, Germanyhttp://www.opitz-consulting.com

Phone: +49 173 7279001Mail: [email protected]

@dschmied

http://inside-bpm-and-soa.blogspot.com & http://thecattlecrew.net

Page 43: Test driven cloud development using Oracle SOA CS and Oracle Developer CS

© OPITZ CONSULTING GmbH 2016 Slide 43Test-Driven Cloud Development

Contact Details

Sven BernhardtSolution Architect | Oracle ACE

OPITZ CONSULTING Deutschland GmbHKirchstrasse 6, 51647 Gummersbach, Germanyhttp://www.opitz-consulting.com

Phone: +49 172 2193529Mail: [email protected]

@sbernhardt

https://svenbernhardt.wordpress.com & http://thecattlecrew.net


Recommended