SlideShare a Scribd company logo
© OPITZ CONSULTING 2016
 überraschend mehr Möglichkeiten!
© OPITZ CONSULTING 2016
Using Oracle SOA Cloud Service and
Oracle Developer Cloud Service
Sven Bernhardt, Danilo Schmiedel
Test-Driven Cloud
Development
© OPITZ CONSULTING 2016
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
 Oracle Platinum Partner, founded in 1990,
located in Germany and Poland
 Specialized in many products across the Oracle
portfolio
 2 Oracle ACE Directors and 2 Oracle ACEs
 Recognized as one of the leading Oracle Fusion
Middleware Partners
 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
© OPITZ CONSULTING 2016 Seite 3
Agenda
1
2
3
4
5
Why test-driven development?
Oracle SOA CS and Oracle Developer CS
Testing in (cloud) integration projects
OC Testframework
Benefits & Wrap up
Test-Driven Cloud Development
© OPITZ CONSULTING 2016 Seite 4
Why test-driven development?
1
Test-Driven Cloud Development
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 5
Case Study #1 - Simplified Solution Architecture
Webshop
ERP
Warehouses Carriers Suppliers
Integration Platform (SOA Suite)
Customer Service
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 6
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
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 7
Case Study #1 – Team Structure
ERP Team MW Team QA Team
5 People 9 People 6 People
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 8
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
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 9
Waterfall development: Where we didn’t want to be!
 Static and cumbersome
 Insufficient test automation and no budget for DevOps
 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/
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 10
Agile development: Where we wanted to be!
 Target approach was agile
 Small, incremental deliverables
 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/
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 11
Test maturity
 Analysis of the status quo: Where we are and where we want to be?
Minimum TargetReality
No tests
Source: https://developer.ibm.com/urbancode/docs/continuous-delivery-maturity-
model/
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 12
Continuous integration / delivery
Source:
https://guidelines.axonivy.com/projects/guides/wiki/Cont
inuous_integration_delivery
Source: http://softwareengineeringdaily.com/tag/continuous-delivery/
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 13
Lessons Learned
„Never start a (cloud) integration project
without an appropriate DevOps
approach.“
But how to establish it efficiently?
© OPITZ CONSULTING 2016 Seite 14
Oracle SOA CS and ODCS
2
Test-Driven Cloud Development
© OPITZ CONSULTING 2016 Test-Driven Cloud Development
Oracle Cloud Services
Source: https://cloud.oracle.com/developer/services
© OPITZ CONSULTING 2016 Test-Driven Cloud Development
Oracle SOA Cloud Service (SOA CS)
 Full suite of developer tools including
OSB (Virtualization), BPEL (Orchestration),
B2B, Managed File Transfer, Adapters for
Connectivity, API Management
 Oracle manages the infrastructure
 Fully automated provisioning
 Provides complete access, so that
administrators can tune, configure,
and monitor the SOA environment as
with on-prem
© OPITZ CONSULTING 2016 Seite 17
Demo – SOA CS
Test-Driven Cloud Development
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 18
Oracle Developer CS (ODCS)
 Complete development platform provided as a service to enable an agile
development process and to automate DevOps & delivery
 Dev CS supports:
Continuous Integration, Continuous Delivery and Collaboration
 Is included as a free entitlement with trial and paid orders of
 Java Cloud Service,
 Java Cloud Service-SaaS Extension,
 Messaging Cloud Service,
 Mobile Cloud Service,
 SOA Cloud Service and
 Application Container Cloud
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 19
Developer CS – What‘s inside?
 Version Management - Git
 Build Automation
 Continuous Integration - Hudson
 Issue Tracking
 Code review
 Deployment automation
 Agile process management
 Wiki
 Activity Stream
© OPITZ CONSULTING 2016 Seite 20
Demo – Developer CS
Test-Driven Cloud Development
© OPITZ CONSULTING 2016 Seite 21
Testing in (cloud) integration projects
3
Test-Driven Cloud Development
Source: http://softwareengineeringdaily.com/tag/continuous-delivery/
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 22
Challenges in integration projects
 Complexity
 Distribution of systems / services
 Wide range of different technologies & skills
 Multiple data sources
 Test automation
 Deployment automation
 Consistent monitoring (E2E)
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 23
Testing assets in integration projects
 Transformations
 XQuery
 XSLT
 NXSD
 Java
 Java callouts
 Custom XPath functions
 JAX-WS / JAX-RS Web Services
 Services / Processes
 Service Bus Services
 SOA Composites
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 24
Testing areas
CRM ERP
Process
Layer
Service
Layer
(Facades)
System
Layer
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 25
Elementary (Unit) tests
CRM ERP
Process
Layer
Service
Layer
(Facades)
System
Layer
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 26
Service/Process component tests
CRM ERP
Process
Layer
Service
Layer
(Facades)
System
Layer
Elementary
Tests
Elementary
Tests
Elementary
Tests
Mock MockMock
MockMockMock
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 27
Service component tests
CRM ERP
Process
Layer
Service
Layer
(Facades)
System
Layer
Process
Tests
Component
Tests
MockMockMock
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 28
Test layers in detail
 Elementary Unit Tests
 What – Tests the atomic functionality of the implemented code
 Goal – Provide quality feedback for the developer in short and fast cycles
 Where – NAV and MW developer using mocks on Development environment
 Component Tests
 What – Tests the integrative functionality of the implemented code
 Goal – Provide possibility to skip blocker and continue with next component
 Where – QA using SOAP UI tests on Test environment
 End-to-End Test
 What – Tests the complete functionality of a process
 Goal – Assure that the process is running as defined by the requirements
 Where – QA using real applications for tests on Integration environment
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 29
Overview 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
© OPITZ CONSULTING 2016 Seite 30
OC Testframework
4
Test-Driven Cloud Development
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 31
Oracle SOA OOTB testing capabilities
 Design-time tests for transformations (XQuery, XSLT)
 Design-time tests for Business rules
 Test suites for SOA composites
 Mocking of services/inbound messsages (Process initiation) at composite level
 Mocking of references/outbound messages (Emulations) at composite level
 Definition of XML assertions (Strict and similar)
 Define tests for BPEL components on BPEL activity level
 Variable and fault assertions
 Bypass blocking activities like waits
 Assert activity executions
 No testing capability for Mediator, Human Task, BPMN
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 32
OC SOA Testing Framework
 Java-based framework
 Developed and enhanced in several projects
 Uses provided Oracle APIs
 Supports SB Service testing
 Supports integration testing for SB and SOA composites
 Consistent integration in CI environment
 Earns further maturity through usage in international projects
 Supports SOA Suite 11g, 12c and SOA CS
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 33
Features
 Offline testing for XQuery, XSL and NXSD
 Validate XML requests and responses
 Definition of Xpath assertions
 Definition of XML Equals assertions
 Call SOA composite and SB services
 Manage SOA composite and SB services
 Intercept service calls
 Mock services (WS, all kind of JCA adapters, Human tasks)
 Manipulate runtime artifacts (DVMs, SB pipeline configurations/properties)
 Specific functionality for BPMN process testing
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 34
Comparison Oracle OOTB Testing and 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 ✔
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 35
Benefits
 Test-Driven Development (TDD)
 Common approach in Java/JEE development
 Ensures that intended behavior is tested properly
 Consistent testing approach
 Flexibility
 Extensibility
Anti-Pattern
© OPITZ CONSULTING 2016 Seite 36
Demo – OC Testframework
Test-Driven Cloud Development
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 37
Framework architecture
 Build upon Oracle SOA libraries
 Base class for test implementations
com.opitzconsulting.soa.testing.AbstractSoaTest
 Uses further Java libraries to simplify test development
 XMLUnit (Validation of XML)
 Apache HTTP Client (Invocation of services)
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 38
OC SOA Testing – SCA Services
Test Client SOA Server
SAR
SAR
(original)
SAR
(manipulated)
SAR
(manipulated)
Download Composite
Execute test
Upload Composite
SAR (original)
SAR (original)
Mock services
Check
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 39
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
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 40
Setup OC SOA Testing framework
 Create new project in DevCS (Initial repository)
 Adjust local Maven settings to use DevCS Maven repository
 Populate Maven repository
 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
 mvn com.oracle.maven:oracle-maven-sync:push -Doracle-maven-
sync.oracleHome=$MW_HOME -Doracle-maven-sync.serverId=odcs -P odcs
 Add additional libraries needed by the OC SOA Testingframework
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 41
Setup OC SOA Testing framework
 Commit & push your code to DevCS Git repository
 Deploy your artifacts to SOA CS
 Define the Hudson build jobs that executes tests
 Pre-deploy test (XQuery, Xsl, Nxsd)
 Post-deploy test (SOA composite tests, SB services)
 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
© OPITZ CONSULTING 2016 Seite 42
Benefits & Wrap up
5
Test-Driven Cloud Development
© OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 43
Benefits
 Consistent, straight-forward testing approach
 Enables DevOps for SOA CS
 Uses the same technologies for all implementation assests
 Supports the automation of the software development lifecycle
 Considers all assets of an SOA CS integration project
 Scalability
 Add new testing capabilties by adding additional environments
 Improve code quality
 Faster development cycles
 Supports version upgrades and on-prem to cloud migrations covered by
tests to validate the results
© OPITZ CONSULTING 2016 Seite 44Test-Driven Cloud Development
Q & A
© OPITZ CONSULTING 2016
 überraschend mehr Möglichkeiten!
@OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM
Seite 45
In case of any questions, please
contact us!
Danilo Schmiedel
Managing Consultant Solutions | Oracle ACE Director
OPITZ CONSULTING Deutschland GmbH
Tempelhofer Weg 64, 12347 Berlin, Germany
Phone: +49 173 7279001
Mail: danilo.schmiedel@opitz-consulting.com
@dschmied
http://inside-bpm-and-soa.blogspot.com
Sven Bernhardt
Solution Architect | Oracle ACE
OPITZ CONSULTING Deutschland GmbH
Kirchstrasse 6, 51647 Gummersbach, Germany
Phone: +49 172 2193529
Mail: sven.bernhardt@opitz-consulting.com
@sbernhardt
https://svenbernhardt.wordpress.com
Test-Driven Cloud Development

More Related Content

PDF
API design-first and Microservices
PDF
Implementing API-led Cloud-native apps on OCI
PDF
API Gateway or Service Mesh - Complementary or excluding concepts
PDF
Efficient API delivery with APIOps
PDF
Cloud-native Integration in the Oracle Cloud
PDF
[WSO2Con EU 2018] Implementing a Zero Downtime WSO2 API Manager with an API C...
PDF
openSAP_fiops1_Week_1_All_Slides.pdf
PDF
Lessons from the Trenches: Building an API-Centric Architecture
API design-first and Microservices
Implementing API-led Cloud-native apps on OCI
API Gateway or Service Mesh - Complementary or excluding concepts
Efficient API delivery with APIOps
Cloud-native Integration in the Oracle Cloud
[WSO2Con EU 2018] Implementing a Zero Downtime WSO2 API Manager with an API C...
openSAP_fiops1_Week_1_All_Slides.pdf
Lessons from the Trenches: Building an API-Centric Architecture

What's hot (20)

PDF
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
PDF
Test driven Soa Suite 12c Upgrade
PPSX
Kallos solutions corporate overview - ver 0711
PDF
rockwell software studio 5000-lva1-app6892
PDF
Modernizing Your Enterprise Application Architecture with Microservices and A...
PDF
What Product Leaders need to know about DevOps
PPTX
MARISA SAWATPHADUNGKIJ
PPTX
Panel Discussion SAP DevOps - ReleaseOwl
PDF
Implementing Cloud-native apps on OCI
PDF
18.03.2022 api force presentation template
PPTX
Anypoint new features_coimbatore_mule_meetup
PDF
OSGi IoT Demo & Contest 2015
PDF
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
PDF
DevOps for a 10-Year-Old (Codebase)
PDF
Spryker in a nutshell
PDF
DevOps DDay - Streamline DevOps Workflows With APIs
PPTX
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and Jenkins
PPTX
APIdays 2016 - The State of Web API Languages
PDF
CA Performance Manager Agility by using Docker Containers for Network Manag...
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
Test driven Soa Suite 12c Upgrade
Kallos solutions corporate overview - ver 0711
rockwell software studio 5000-lva1-app6892
Modernizing Your Enterprise Application Architecture with Microservices and A...
What Product Leaders need to know about DevOps
MARISA SAWATPHADUNGKIJ
Panel Discussion SAP DevOps - ReleaseOwl
Implementing Cloud-native apps on OCI
18.03.2022 api force presentation template
Anypoint new features_coimbatore_mule_meetup
OSGi IoT Demo & Contest 2015
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
DevOps for a 10-Year-Old (Codebase)
Spryker in a nutshell
DevOps DDay - Streamline DevOps Workflows With APIs
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and Jenkins
APIdays 2016 - The State of Web API Languages
CA Performance Manager Agility by using Docker Containers for Network Manag...
Ad

Viewers also liked (6)

PDF
Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...
PDF
Test Driven Design
PDF
ABAP Code Retreat Frankfurt 2016: TDD - Test Driven Development
PDF
Test Driven Development (TDD) & Continuous Integration (CI)
PDF
Test Driven Development SpeedRun
PDF
Test Driven Design - GDG DevFest Istanbul 2016
Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...
Test Driven Design
ABAP Code Retreat Frankfurt 2016: TDD - Test Driven Development
Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development SpeedRun
Test Driven Design - GDG DevFest Istanbul 2016
Ad

Similar to Test-Driven Cloud Development with Oracle SOA Cloud Service and Oracle Developer Cloud Service (20)

PDF
Test driven cloud development using Oracle SOA CS and Oracle Developer CS
PDF
Improve your Cloud Integrations with Test-driven Development
PDF
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
PDF
Oracle Developer Cloud - 소개 (신기능 포함)
PDF
Embracing SOA and the Cloud
PDF
DevOps on Oracle Cloud
PDF
D-DAY 2015 Paas ORACLE
PDF
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
PDF
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
PPTX
AMIS 25: Moving Integration to the Cloud
PDF
It's all about Integration - Developing with Oracle Cloud Services
PPTX
2014 q3-platform-update-v1.06.johnmathon
PDF
Modern App Development with Oracle Cloud
PDF
PaaS and OpenStack
PPTX
Ruben rodriguez best practices implementing oracle mobile cloud service
PDF
Oracle Ravello Presentation 7Dec16 v1
PDF
Product Release Webinar- WSO2 Developer Studio 3.5
PDF
OOW-5185-Hybrid Cloud
DOCX
John N. Lewis - Resume - Public
PDF
Cloud Service Integration with WSO2 Developer Studio and WSO2 ESB
Test driven cloud development using Oracle SOA CS and Oracle Developer CS
Improve your Cloud Integrations with Test-driven Development
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Oracle Developer Cloud - 소개 (신기능 포함)
Embracing SOA and the Cloud
DevOps on Oracle Cloud
D-DAY 2015 Paas ORACLE
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
AMIS 25: Moving Integration to the Cloud
It's all about Integration - Developing with Oracle Cloud Services
2014 q3-platform-update-v1.06.johnmathon
Modern App Development with Oracle Cloud
PaaS and OpenStack
Ruben rodriguez best practices implementing oracle mobile cloud service
Oracle Ravello Presentation 7Dec16 v1
Product Release Webinar- WSO2 Developer Studio 3.5
OOW-5185-Hybrid Cloud
John N. Lewis - Resume - Public
Cloud Service Integration with WSO2 Developer Studio and WSO2 ESB

More from Sven Bernhardt (20)

PDF
The integration revolution: Building bridges between On-premises and Cloud ec...
PDF
Efficient development of smart apps: The role of AI gateways
PDF
Next-level Kubernetes Service Management with an API gateway
PDF
Effective and simple - integration architectures with Apache Camel and Quarkus
PDF
One Gateway to Rule them All: Building a Federated API Management Platform
PDF
Modernization options for Oracle Forms applications
PDF
Elevating Development: Embracing APIOps for Enhanced Developer Productivity
PDF
Kong 101 - Jumpstart into the world of APIs
PDF
Declarative observability management for Microservice architectures
PDF
Integration architectures based on Microservices, APIs and events
PDF
Build and Manage Multi-Cloud Applications Using Kuma
PDF
Build and Manage Multi-Cloud Applications Using Kuma
PDF
Torch the light - Implementing Observability for Microservice Architectures
PDF
Analytics meets Integration - Modern Development with Data APIs
PDF
Modern Integration based on OCI Cloud-native Services
PDF
Service Mesh Advanced Use Cases
PDF
Cloud-native Application Development on OCI
PDF
Rumble in the Jungle - API Kickstart with Kong
PDF
Cloud-native Application Development - The new normal
PDF
Efficient API delivery with APIOps
The integration revolution: Building bridges between On-premises and Cloud ec...
Efficient development of smart apps: The role of AI gateways
Next-level Kubernetes Service Management with an API gateway
Effective and simple - integration architectures with Apache Camel and Quarkus
One Gateway to Rule them All: Building a Federated API Management Platform
Modernization options for Oracle Forms applications
Elevating Development: Embracing APIOps for Enhanced Developer Productivity
Kong 101 - Jumpstart into the world of APIs
Declarative observability management for Microservice architectures
Integration architectures based on Microservices, APIs and events
Build and Manage Multi-Cloud Applications Using Kuma
Build and Manage Multi-Cloud Applications Using Kuma
Torch the light - Implementing Observability for Microservice Architectures
Analytics meets Integration - Modern Development with Data APIs
Modern Integration based on OCI Cloud-native Services
Service Mesh Advanced Use Cases
Cloud-native Application Development on OCI
Rumble in the Jungle - API Kickstart with Kong
Cloud-native Application Development - The new normal
Efficient API delivery with APIOps

Recently uploaded (20)

PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Electronic commerce courselecture one. Pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
cuic standard and advanced reporting.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Encapsulation theory and applications.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Spectroscopy.pptx food analysis technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Programs and apps: productivity, graphics, security and other tools
Building Integrated photovoltaic BIPV_UPV.pdf
Machine learning based COVID-19 study performance prediction
Electronic commerce courselecture one. Pdf
MIND Revenue Release Quarter 2 2025 Press Release
NewMind AI Weekly Chronicles - August'25-Week II
cuic standard and advanced reporting.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Spectral efficient network and resource selection model in 5G networks
Diabetes mellitus diagnosis method based random forest with bat algorithm
A comparative analysis of optical character recognition models for extracting...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Encapsulation theory and applications.pdf
A Presentation on Artificial Intelligence
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Test-Driven Cloud Development with Oracle SOA Cloud Service and Oracle Developer Cloud Service

  • 1. © OPITZ CONSULTING 2016  überraschend mehr Möglichkeiten! © OPITZ CONSULTING 2016 Using Oracle SOA Cloud Service and Oracle Developer Cloud Service Sven Bernhardt, Danilo Schmiedel Test-Driven Cloud Development
  • 2. © OPITZ CONSULTING 2016 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  Oracle Platinum Partner, founded in 1990, located in Germany and Poland  Specialized in many products across the Oracle portfolio  2 Oracle ACE Directors and 2 Oracle ACEs  Recognized as one of the leading Oracle Fusion Middleware Partners  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. © OPITZ CONSULTING 2016 Seite 3 Agenda 1 2 3 4 5 Why test-driven development? Oracle SOA CS and Oracle Developer CS Testing in (cloud) integration projects OC Testframework Benefits & Wrap up Test-Driven Cloud Development
  • 4. © OPITZ CONSULTING 2016 Seite 4 Why test-driven development? 1 Test-Driven Cloud Development
  • 5. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 5 Case Study #1 - Simplified Solution Architecture Webshop ERP Warehouses Carriers Suppliers Integration Platform (SOA Suite) Customer Service
  • 6. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 6 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. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 7 Case Study #1 – Team Structure ERP Team MW Team QA Team 5 People 9 People 6 People
  • 8. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 8 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. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 9 Waterfall development: Where we didn’t want to be!  Static and cumbersome  Insufficient test automation and no budget for DevOps  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/
  • 10. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 10 Agile development: Where we wanted to be!  Target approach was agile  Small, incremental deliverables  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/
  • 11. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 11 Test maturity  Analysis of the status quo: Where we are and where we want to be? Minimum TargetReality No tests Source: https://developer.ibm.com/urbancode/docs/continuous-delivery-maturity- model/
  • 12. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 12 Continuous integration / delivery Source: https://guidelines.axonivy.com/projects/guides/wiki/Cont inuous_integration_delivery Source: http://softwareengineeringdaily.com/tag/continuous-delivery/
  • 13. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 13 Lessons Learned „Never start a (cloud) integration project without an appropriate DevOps approach.“ But how to establish it efficiently?
  • 14. © OPITZ CONSULTING 2016 Seite 14 Oracle SOA CS and ODCS 2 Test-Driven Cloud Development
  • 15. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Oracle Cloud Services Source: https://cloud.oracle.com/developer/services
  • 16. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Oracle SOA Cloud Service (SOA CS)  Full suite of developer tools including OSB (Virtualization), BPEL (Orchestration), B2B, Managed File Transfer, Adapters for Connectivity, API Management  Oracle manages the infrastructure  Fully automated provisioning  Provides complete access, so that administrators can tune, configure, and monitor the SOA environment as with on-prem
  • 17. © OPITZ CONSULTING 2016 Seite 17 Demo – SOA CS Test-Driven Cloud Development
  • 18. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 18 Oracle Developer CS (ODCS)  Complete development platform provided as a service to enable an agile development process and to automate DevOps & delivery  Dev CS supports: Continuous Integration, Continuous Delivery and Collaboration  Is included as a free entitlement with trial and paid orders of  Java Cloud Service,  Java Cloud Service-SaaS Extension,  Messaging Cloud Service,  Mobile Cloud Service,  SOA Cloud Service and  Application Container Cloud
  • 19. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 19 Developer CS – What‘s inside?  Version Management - Git  Build Automation  Continuous Integration - Hudson  Issue Tracking  Code review  Deployment automation  Agile process management  Wiki  Activity Stream
  • 20. © OPITZ CONSULTING 2016 Seite 20 Demo – Developer CS Test-Driven Cloud Development
  • 21. © OPITZ CONSULTING 2016 Seite 21 Testing in (cloud) integration projects 3 Test-Driven Cloud Development Source: http://softwareengineeringdaily.com/tag/continuous-delivery/
  • 22. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 22 Challenges in integration projects  Complexity  Distribution of systems / services  Wide range of different technologies & skills  Multiple data sources  Test automation  Deployment automation  Consistent monitoring (E2E)
  • 23. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 23 Testing assets in integration projects  Transformations  XQuery  XSLT  NXSD  Java  Java callouts  Custom XPath functions  JAX-WS / JAX-RS Web Services  Services / Processes  Service Bus Services  SOA Composites
  • 24. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 24 Testing areas CRM ERP Process Layer Service Layer (Facades) System Layer
  • 25. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 25 Elementary (Unit) tests CRM ERP Process Layer Service Layer (Facades) System Layer
  • 26. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 26 Service/Process component tests CRM ERP Process Layer Service Layer (Facades) System Layer Elementary Tests Elementary Tests Elementary Tests Mock MockMock MockMockMock
  • 27. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 27 Service component tests CRM ERP Process Layer Service Layer (Facades) System Layer Process Tests Component Tests MockMockMock
  • 28. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 28 Test layers in detail  Elementary Unit Tests  What – Tests the atomic functionality of the implemented code  Goal – Provide quality feedback for the developer in short and fast cycles  Where – NAV and MW developer using mocks on Development environment  Component Tests  What – Tests the integrative functionality of the implemented code  Goal – Provide possibility to skip blocker and continue with next component  Where – QA using SOAP UI tests on Test environment  End-to-End Test  What – Tests the complete functionality of a process  Goal – Assure that the process is running as defined by the requirements  Where – QA using real applications for tests on Integration environment
  • 29. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 29 Overview 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
  • 30. © OPITZ CONSULTING 2016 Seite 30 OC Testframework 4 Test-Driven Cloud Development
  • 31. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 31 Oracle SOA OOTB testing capabilities  Design-time tests for transformations (XQuery, XSLT)  Design-time tests for Business rules  Test suites for SOA composites  Mocking of services/inbound messsages (Process initiation) at composite level  Mocking of references/outbound messages (Emulations) at composite level  Definition of XML assertions (Strict and similar)  Define tests for BPEL components on BPEL activity level  Variable and fault assertions  Bypass blocking activities like waits  Assert activity executions  No testing capability for Mediator, Human Task, BPMN
  • 32. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 32 OC SOA Testing Framework  Java-based framework  Developed and enhanced in several projects  Uses provided Oracle APIs  Supports SB Service testing  Supports integration testing for SB and SOA composites  Consistent integration in CI environment  Earns further maturity through usage in international projects  Supports SOA Suite 11g, 12c and SOA CS
  • 33. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 33 Features  Offline testing for XQuery, XSL and NXSD  Validate XML requests and responses  Definition of Xpath assertions  Definition of XML Equals assertions  Call SOA composite and SB services  Manage SOA composite and SB services  Intercept service calls  Mock services (WS, all kind of JCA adapters, Human tasks)  Manipulate runtime artifacts (DVMs, SB pipeline configurations/properties)  Specific functionality for BPMN process testing
  • 34. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 34 Comparison Oracle OOTB Testing and 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 ✔
  • 35. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 35 Benefits  Test-Driven Development (TDD)  Common approach in Java/JEE development  Ensures that intended behavior is tested properly  Consistent testing approach  Flexibility  Extensibility Anti-Pattern
  • 36. © OPITZ CONSULTING 2016 Seite 36 Demo – OC Testframework Test-Driven Cloud Development
  • 37. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 37 Framework architecture  Build upon Oracle SOA libraries  Base class for test implementations com.opitzconsulting.soa.testing.AbstractSoaTest  Uses further Java libraries to simplify test development  XMLUnit (Validation of XML)  Apache HTTP Client (Invocation of services)
  • 38. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 38 OC SOA Testing – SCA Services Test Client SOA Server SAR SAR (original) SAR (manipulated) SAR (manipulated) Download Composite Execute test Upload Composite SAR (original) SAR (original) Mock services Check
  • 39. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 39 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
  • 40. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 40 Setup OC SOA Testing framework  Create new project in DevCS (Initial repository)  Adjust local Maven settings to use DevCS Maven repository  Populate Maven repository  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  mvn com.oracle.maven:oracle-maven-sync:push -Doracle-maven- sync.oracleHome=$MW_HOME -Doracle-maven-sync.serverId=odcs -P odcs  Add additional libraries needed by the OC SOA Testingframework
  • 41. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 41 Setup OC SOA Testing framework  Commit & push your code to DevCS Git repository  Deploy your artifacts to SOA CS  Define the Hudson build jobs that executes tests  Pre-deploy test (XQuery, Xsl, Nxsd)  Post-deploy test (SOA composite tests, SB services)  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
  • 42. © OPITZ CONSULTING 2016 Seite 42 Benefits & Wrap up 5 Test-Driven Cloud Development
  • 43. © OPITZ CONSULTING 2016 Test-Driven Cloud Development Seite 43 Benefits  Consistent, straight-forward testing approach  Enables DevOps for SOA CS  Uses the same technologies for all implementation assests  Supports the automation of the software development lifecycle  Considers all assets of an SOA CS integration project  Scalability  Add new testing capabilties by adding additional environments  Improve code quality  Faster development cycles  Supports version upgrades and on-prem to cloud migrations covered by tests to validate the results
  • 44. © OPITZ CONSULTING 2016 Seite 44Test-Driven Cloud Development Q & A
  • 45. © OPITZ CONSULTING 2016  überraschend mehr Möglichkeiten! @OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM Seite 45 In case of any questions, please contact us! Danilo Schmiedel Managing Consultant Solutions | Oracle ACE Director OPITZ CONSULTING Deutschland GmbH Tempelhofer Weg 64, 12347 Berlin, Germany Phone: +49 173 7279001 Mail: danilo.schmiedel@opitz-consulting.com @dschmied http://inside-bpm-and-soa.blogspot.com Sven Bernhardt Solution Architect | Oracle ACE OPITZ CONSULTING Deutschland GmbH Kirchstrasse 6, 51647 Gummersbach, Germany Phone: +49 172 2193529 Mail: sven.bernhardt@opitz-consulting.com @sbernhardt https://svenbernhardt.wordpress.com Test-Driven Cloud Development

Editor's Notes

  • #3: Specialized in many products across the Oracle portfolio Big Data, Business IT Alignment, BPM, SOA and system integration, IoT, Application development, IT Infrastructure Management