Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,977 views

Published on

Slides of Oracle Open World presentation about Test-driven cloud development using Oracle SOA CS and Oracle Developer CS by Danilo Schmiedel and Sven Bernhardt.

Abstract:
Automated tests are key for quality assurance and for ensuring business agility from a long-term perspective. That is especially important in complex integration projects if you develop your integrations on-premises or in the cloud. If a hybrid strategy is used, it is important to have a consistent testing approach for cloud and on-premises. In this session learn how to implement a consistent approach based on Oracle SOA Cloud Service that works on-premises and in the cloud. See how this approach can test BPEL, BPMN, SB, Java, human tasks, XSLT, and XQuery across all relevant test layers (elementary unit tests, component tests, end-to-end tests) consistently.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. © OPITZ CONSULTING GmbH 2016 Slide 1Test-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
  2. 2. © 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
  3. 3. © OPITZ CONSULTING GmbH 2016 Slide 3Test-Driven Cloud Development Agenda 1. 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
  4. 4. © OPITZ CONSULTING GmbH 2016 Slide 4Test-Driven Cloud Development 1 Why test-driven development?
  5. 5. © 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
  6. 6. © 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
  7. 7. © 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
  8. 8. © OPITZ CONSULTING GmbH 2016 Slide 8Test-Driven Cloud Development 2015 2016Jan Mrz Mai Jul Sep Nov 2016 Mrz Mai GoLive: Foundation Components 1 Feb 15, 2015 GoLive: Foundation Components 2 Mrz 22, 2015 GoLive: Release 1 Apr 12, 2015 GoLive: Release 2 Mai 24, 2015 GoLive: Release 3 Jul 19, 2015 GoLive: Release 4 Dez 7, 2015 GoLive: Release 5 Jan 20, 2016 GoLive: Release 6 Apr 19, 2016 GoLive: Release 7 Mai 3, 2016 Project Kick off (incl. Specification) Jan 5, 2015 Development of all Releases completed Sep 18, 2015 40 days QA of Release 1 30 days QA of Release 2 40 days QA of Release 3 100 days QA of Release 4 32 days QA of Release 5 63 days QA of Release 6 9 days QA of Release 7 ~ 8 month
  9. 9. © 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/
  10. 10. © 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/
  11. 11. © OPITZ CONSULTING GmbH 2016 Slide 11Test-Driven Cloud Development Test maturity n 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 TargetReality No tests
  12. 12. © OPITZ CONSULTING GmbH 2016 Slide 12Test-Driven Cloud Development Continuous integration / delivery Source: https://guidelines.axonivy.com/projects/guides/wiki/Cont inuous_integration_delivery Source: http://softwareengineeringdaily.com/tag/continuous-delivery/
  13. 13. © OPITZ CONSULTING GmbH 2016 Slide 13Test-Driven Cloud Development „ “Never start a (cloud) integration project without an appropriate DevOps approach. But how to establish it efficiently?
  14. 14. © OPITZ CONSULTING GmbH 2016 Slide 14Test-Driven Cloud Development 2 Oracle SOA CS and Oracle Developer CS
  15. 15. © OPITZ CONSULTING GmbH 2016 Slide 15Test-Driven Cloud Development Oracle Cloud Services Source: https://cloud.oracle.com/developer/services
  16. 16. © OPITZ CONSULTING GmbH 2016 Slide 16Test-Driven Cloud Development Oracle SOA CS n 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
  17. 17. © OPITZ CONSULTING GmbH 2016 Slide 17Test-Driven Cloud Development Oracle Developer CS n 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
  18. 18. © OPITZ CONSULTING GmbH 2016 Slide 18Test-Driven Cloud Development Developer CS – What‘s inside? n Version Management - Git n Build Automation n Ant, Maven, Gradle, npm, Grunt, Bower, Gulp, Command line n Continuous Integration - Hudson n Issue Tracking n Code review n Deployment automation n Agile process management n Wiki n Activity Stream
  19. 19. © OPITZ CONSULTING GmbH 2016 Slide 19Test-Driven Cloud Development 3 Testing in (cloud) integration projects Source: http://softwareengineeringdaily.com/tag/continuous-delivery/
  20. 20. © OPITZ CONSULTING GmbH 2016 Slide 20Test-Driven Cloud Development Challenges in (cloud) integration projects n 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)
  21. 21. © OPITZ CONSULTING GmbH 2016 Slide 21Test-Driven Cloud Development Testing assets in SOA CS n Transformations n XQuery n XSLT n NXSD n Java n Java callouts n Custom XPath functions n JAX-WS / JAX-RS Web Services n Services / Processes n Service Bus Services n SOA Composites
  22. 22. © OPITZ CONSULTING GmbH 2016 Slide 22Test-Driven Cloud Development Testing areas CRM ERP Process Layer Service Layer (Facades) System Layer
  23. 23. © OPITZ CONSULTING GmbH 2016 Slide 23Test-Driven Cloud Development Elementary (Unit) tests of transformations and custom Java functionalities CRM ERP Process Layer Service Layer (Facades) System Layer
  24. 24. © OPITZ CONSULTING GmbH 2016 Slide 24Test-Driven Cloud Development Service/Process component tests on local Dev Environments CRM ERP Process Layer Service Layer (Facades) System Layer Elementary Tests Elementary Tests Elementary Tests Mock MockMock MockMockMock
  25. 25. © OPITZ CONSULTING GmbH 2016 Slide 25Test-Driven Cloud Development CRM ERP Process Layer Service Layer (Facades) System Layer Process Tests Component Tests MockMockMock Service component tests on shared Test Environment
  26. 26. © OPITZ CONSULTING GmbH 2016 Slide 26Test-Driven Cloud Development CRM ERP Process Layer Service Layer (Facades) System Layer End-to-End Tests End-to-End Tests on Integration Environments
  27. 27. © 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-deploy Tests Post-deploy Tests Coverage Executiontime Complexity
  28. 28. © OPITZ CONSULTING GmbH 2016 Slide 28Test-Driven Cloud Development 4 OC Testframework
  29. 29. © OPITZ CONSULTING GmbH 2016 Slide 29Test-Driven Cloud Development Oracle SOA OOTB testing capabilities n Design-time tests for transformations (XQuery, XSLT) n Design-time tests for Business rules n Test suites for SOA composites n Mocking of services/inbound messsages (Process initiation) at composite level n Mocking of references/outbound messages (Emulations) at composite level n Definition of XML assertions (Strict and similar) n Define tests for BPEL components on BPEL activity level n Variable and fault assertions n Bypass blocking activities like waits n Assert activity executions n No testing capability for Mediator, Human Task, BPMN
  30. 30. © OPITZ CONSULTING GmbH 2016 Slide 30Test-Driven Cloud Development OC SOA Testing Framework n 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
  31. 31. © OPITZ CONSULTING GmbH 2016 Slide 31Test-Driven Cloud Development Features n 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 pipeline configurations/properties) n Check execution of BPMN audit trail (activty execution, etc.)
  32. 32. © OPITZ CONSULTING GmbH 2016 Slide 32Test-Driven Cloud Development Comparison OOTB Testing vs. OC SOA Testing OOTB OC SOA Testing Test-driven approach - ✔ Test automation Composites only ✔ Mocking ✔ ✔ Support for test types • Unit XSLT / XQuery design-time only Composites ✔ Service Bus – ✔ • Isolation Composites only ✔ • Integration Manual ✔
  33. 33. © OPITZ CONSULTING GmbH 2016 Slide 33Test-Driven Cloud Development Benefits n Test-Driven Development (TDD) n Common approach in Java/JEE development n Ensures that intended behavior is tested properly n Consistent testing approach n Flexibility n Extensibility Anti-Pattern
  34. 34. © OPITZ CONSULTING GmbH 2016 Slide 34Test-Driven Cloud Development OC SOA Testing – SOA Composites Test Client SOA Server SAR SAR (original) SAR (manipulated) SAR (manipulated) Download Composite Execute test Upload Composite SAR (original) SAR (original) Mock services Check
  35. 35. © OPITZ CONSULTING GmbH 2016 Slide 35Test-Driven Cloud Development OC SOA Testing – SB Services Test Client SB Server SBAR Create Session Execute test SBAR (manipulated) Manipulate Service Commit Session Rollback Changes SBAR Mock services Check
  36. 36. © OPITZ CONSULTING GmbH 2016 Slide 36Test-Driven Cloud Development 5 Demo
  37. 37. © OPITZ CONSULTING GmbH 2016 Slide 37Test-Driven Cloud Development Setup 1/2 n Create new project in DevCS (Initial repository) n Adjust local Maven settings to use DevCS Maven repository n Populate Maven repository n 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
  38. 38. © OPITZ CONSULTING GmbH 2016 Slide 38Test-Driven Cloud Development Setup 2/2 n Commit & push your code to DevCS Git repository n Deploy your artifacts to SOA CS n Define the Hudson build jobs that executes tests n 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
  39. 39. © OPITZ CONSULTING GmbH 2016 Slide 39Test-Driven Cloud Development 5 Benefits
  40. 40. © OPITZ CONSULTING GmbH 2016 Slide 40Test-Driven Cloud Development Benefits n Consistent, straight-forward testing approach n Enables DevOps for SOA CS n Uses the same technologies for all implementation assests n Supports the automation of the software development lifecycle n Considers all assets of an SOA CS integration project n Scalability n Add new testing capabilties by adding additional environments n Improve code quality n Faster development cycles n Supports version upgrades and on-prem to cloud migrations covered by tests to validate the results
  41. 41. © OPITZ CONSULTING GmbH 2016 Slide 41Test-Driven Cloud Development Q & A
  42. 42. © OPITZ CONSULTING GmbH 2016 Slide 42Test-Driven Cloud Development Contact Details Danilo Schmiedel Solution Architect | Oracle ACE Director OPITZ CONSULTING Deutschland GmbH Tempelhofer Weg 64, 12347 Berlin, Germany http://www.opitz-consulting.com Phone: +49 173 7279001 Mail: danilo.schmiedel@opitz-consulting.com @dschmied http://inside-bpm-and-soa.blogspot.com & http://thecattlecrew.net
  43. 43. © OPITZ CONSULTING GmbH 2016 Slide 43Test-Driven Cloud Development Contact Details Sven Bernhardt Solution Architect | Oracle ACE OPITZ CONSULTING Deutschland GmbH Kirchstrasse 6, 51647 Gummersbach, Germany http://www.opitz-consulting.com Phone: +49 172 2193529 Mail: sven.bernhardt@opitz-consulting.com @sbernhardt https://svenbernhardt.wordpress.com & http://thecattlecrew.net

×