SOA/OSB Technical Interview Guide (11+ Years Experience)
Section A: Oracle Service Bus (OSB) Skills
Q1. How do you configure error handling in OSB for a Proxy Service?
A1. By defining stage, pipeline, and service-level error handlers. Stage for local errors, pipeline for business errors,
service-level for global faults. Error is logged, enriched, and optionally retried or sent to error hospital.
Q2. What’s the difference between Routing and Publish actions in OSB?
A2. Routing sends request to one specific Business Service. Publish broadcasts message to multiple endpoints
asynchronously.
Q3. How do you implement message-level security in OSB?
A3. Attach OWSM policies like oracle/wss_username_token_service_policy, oracle/wss_saml_token_service_policy or
configure custom WS-Security headers.
Q4. When do you use Service Callout vs Routing in OSB?
A4. Service Callout is synchronous call within the pipeline to fetch additional data (like lookup). Routing is used for
main invocation to target system.
Q5. How do you debug OSB pipelines?
A5. Enable pipeline tracing & report actions in Enterprise Manager or OSB Console. Use custom logging framework
(e.g., log to database or file).
Q6. What is Split-Join in OSB and when do you use it?
A6. Used for parallel or sequential invocation of multiple services (fan-out, aggregate responses). Ideal for
performance when calling multiple backend systems.
Q7. How do you handle large payloads in OSB?
A7. Use MTOM/XOP for binary data, stream-based processing (StAX), reduce unnecessary transformations, enable
message throttling.
Q8. What’s the difference between Message Flow and Pipeline Pair?
A8. Pipeline Pair handles request/response transformations separately. Message Flow is overall orchestration of the
message in proxy service.
Q9. How do you integrate OSB with JMS queues?
A9. Create JMS connection factory and queues, configure Business Service for queue, Proxy Service for inbound
consumption. Use XA transactions for guaranteed delivery.
Q10. How do you configure Service Result Caching in OSB?
A10. Enable caching on Business Service, define cache key expression, TTL. Useful for static data lookups (e.g.,
country codes).
Section B: Integration Design
Q11. How do you design an integration between Oracle ERP and Salesforce via OSB?
A11. Salesforce API → Proxy Service → Canonical transformation → Business Service → Oracle ERP. Handle
security via OAuth (for Salesforce) & OWSM policies. Implement async queues for reliability.
Q12. How do you manage versioning of services in OSB?
A12. Maintain different proxy endpoints (/v1/CustomerService, /v2/CustomerService), maintain backward compatibility,
document changes in service registry.
Q13. How do you ensure reusability in OSB integration design?
A13. Use shared error handlers. Define common XQuery libraries for transformations. Standardize with canonical data
model.
Q14. How do you implement a request-reply pattern in OSB?
A14. Use synchronous proxy services with pipeline pair. For async patterns, use correlation IDs with JMS queues.
Q15. How do you handle retries for failed messages in OSB?
A15. Configure retry count & interval in Business Service. For advanced retry, implement DLQ (Dead Letter Queue)
with JMS.
Q16. How do you expose a REST API in OSB?
A16. Create REST Proxy Service, define resources & methods, map to internal Business Service. Use JSON
transformations (XQuery/XPath 2.0).
Q17. How do you monitor OSB services?
A17. Use Enterprise Manager (EM) Fusion Middleware Control, configure DMS metrics, enable logging/reporting.
Integrate with ELK stack/Splunk for enterprise monitoring.
Q18. How do you implement throttling in OSB?
A18. Use service-level throttling (OSB runtime policies), configure maximum concurrent requests.
Q19. How do you implement asynchronous communication between two systems in OSB?
A19. Proxy service receives request → Enqueue to JMS → Consumer picks message → Process and reply via
callback or polling.
Q20. How do you integrate OSB with FTP/SFTP?
A20. Use File Adapter or FTP adapter (JCA bindings), or Business Service with FTP transport.
Section C: Design Patterns
Q21. Explain Content Enricher pattern in OSB.
A21. When backend requires extra info, OSB enriches the message via Service Callout before routing.
Q22. How do you implement Content Filter pattern?
A22. Use Replace action in pipeline to remove unnecessary data before forwarding to consumer.
Q23. When would you use Canonical Data Model in OSB?
A23. To standardize message formats across multiple systems (ERP, CRM, Legacy). Minimizes point-to-point
transformations.
Q24. What is a Message Broker pattern?
A24. OSB acts as broker → routes messages dynamically using XQuery routing rules (content-based routing).
Q25. Explain Service Façade pattern with OSB.
A25. OSB proxy service hides multiple backend variations, exposing a single unified API to consumers.
Q26. How do you implement Asynchronous Messaging pattern in OSB?
A26. Use JMS queues with correlation IDs, decouple producer and consumer.
Q27. What’s the difference between Request-Response and Fire-and-Forget?
A27. Request-Response → Caller waits for response (synchronous). Fire-and-Forget → Caller sends and does not
wait (asynchronous).
Q28. How do you implement Aggregator pattern in OSB?
A28. Use Split-Join to call multiple services in parallel, aggregate responses into one final message.
Q29. Explain Circuit Breaker pattern in SOA/OSB.
A29. If backend is unavailable, OSB trips circuit and routes to fallback service or cached response, preventing
cascading failures.
Q30. How do you implement Service Virtualization in OSB?
A30. Expose Proxy Services instead of direct backend calls. Proxy hides backend changes, enabling loose coupling.
Section D: Architecture Skills
Q31. How do you design OSB for high availability?
A31. Cluster OSB managed servers, use load balancer, configure JMS with HA queues, use RAC DB for persistence.
Q32. How do you ensure scalability in OSB design?
A32. Use async messaging, horizontal scaling (clusters), stateless services, connection pooling, distributed queues.
Q33. How do you tune OSB performance?
A33. Enable payload validation only in Dev/QA. Use JSON instead of XML when possible. Use service caching.
Optimize thread pool sizes.
Q34. What are common bottlenecks in OSB integrations?
A34. Heavy transformations, synchronous blocking calls, large payloads, database bottlenecks, under-tuned JMS.
Q35. How do you secure OSB in enterprise architecture?
A35. HTTPS for transport. OWSM for policy enforcement. Role-based access to consoles. Secure service accounts
with credential store.
Q36. How do you design error hospital architecture in OSB?
A36. Failed messages → captured in error hospital DB table/JMS DLQ → dashboard for manual reprocessing.
Q37. How do you apply governance in SOA/OSB?
A37. Use service registry (Oracle Enterprise Repository), naming standards, common error framework, policy-driven
security.
Q38. How do you design logging in OSB?
A38. Use custom logging framework (DB/File/ELK), correlation IDs for tracking, avoid logging sensitive data (PII).
Q39. When would you choose SOA Suite (BPEL) vs OSB?
A39. SOA Suite → Long-running orchestrations, human workflows. OSB → Lightweight mediation, routing,
transformation.
Q40. How do you migrate OSB projects between environments?
A40. Export JAR files from Dev → Import to Test/Prod via WLST scripts. Externalize environment properties via
customization files.
Section E: Advanced Scenarios
Q41. A backend service is down but consumers must not fail. How do you handle it?
A41. Implement circuit breaker or service fallback with cached/static response, or redirect to backup service.
Q42. How do you handle schema evolution in OSB services?
A42. Implement versioned proxy services (v1, v2), transformations between versions, backward compatibility.
Q43. How do you handle transactions in OSB with JMS and DB?
A43. Use XA transactions with JMS and DB adapters. Ensure distributed transaction manager is enabled.
Q44. How do you handle guaranteed delivery in OSB?
A44. Use persistent JMS queues, configure retry & DLQ, use XA with DB storage.
Q45. How do you secure REST APIs in OSB?
A45. Apply OAuth 2.0 policies, use API Gateway, enforce HTTPS, rate limiting.
Q46. What tools do you use for testing OSB services?
A46. SOAP UI, Postman, JMeter (for load tests), custom WLST scripts for regression automation.
Q47. How do you integrate OSB with external monitoring tools?
A47. Use JMX/DMS metrics, log to ELK/Splunk, configure SNMP alerts in Enterprise Manager.
Q48. How do you design for multi-tenancy in OSB?
A48. Separate service namespaces, externalize tenant configs (credentials, endpoints) in MDS/DB.
Q49. How do you migrate from OSB 11g to 12c?
A49. Use 12c JDeveloper migration tool, recompile XQuery/XSLT, test adapters, reconfigure service accounts.
Q50. What is the role of OSB in Microservices and Cloud architecture?
A50. Acts as API Gateway / mediation layer, provides service virtualization, routing, transformation, monitoring, and
policy enforcement. Works with containers (Docker/Kubernetes) and cloud services.