Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
SOA MADE SIMPLE
Introduction to SOA, (Micro) Services and SOA Suite
Nordic ACE Director Tour 2015
Ronald van Luttikhuizen
Managing partner @ eProseed NL
September 2015
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
INTRODUCTION
•
About me
–
Managing partner at eProseed
–
Oracle Ace Director, working with Oracle tooling since 1998
–
Author of SOA Made Simple
–
Experience with Oracle SOA Suite since version 10g
•
About eProseed
–
HQ in Luxemburg
–
Local offices in several parts of the world
–
Award winning Oracle partner
2
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 3
What are SOA and (Micro) Services?
Reference architecture
Fusion Middleware and SOA Suite 12c
Demo
AGENDA
3
2
1
http://geekandpoke.typepad.com/
4
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
WHAT IS SOA | DEFINITION
•
SOA = Service Oriented Architecture
–
An architecture based on services
–
A services gives access to a capability
•
Key features of a service
–
Interface, contract, implementation
–
Consumer, provider, registry
–
Interoperable, standards
–
Idempotent
–
Isolated
Service
“Something useful a
provider does for a
consumer”
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 5
1 BIG LASAGNA OR SEVERAL SMALLER ONES?
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
EXAMPLES | SOAP & RESTFUL INTERFACES
<wsdl:service name="OrderService">
<wsdl:operation name="orderProduct">
<wsdl:input message="order:OrderProductRequest"/>
<wsdl:output message="order:OrderProductResponse"/>
<wsdl:fault message="order:ProductNotInStockFault"
name="ProductNotInStockFault"/>
</wsdl:operation>
<wsdl:operation name="cancelOrder">
<wsdl:input message="order:CancelOrdeRequest"/>
<wsdl:output message="order:CancelOrderResponse"/>
<wsdl:fault message="order:UnknownOrderFault"
name="UnknownOrderFault"/>
</wsdl:operation>
</wsdl:service>
6Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 7
MICROSERVICES
Focus on:
•
Business capabilities
•
Independent and responsible teams
•
Continuous and automated delivery
•
Separate deployable units
•
Intelligent services
•
Tendency to build code instead of reusing
tools
The same or different from SOA?
•
It depends (MSA = SOA + best practices)
http://martinfowler.com/articles/microservices.html
8 Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |What are SOA and (Micro) Services?
Reference architecture
Fusion Middleware and SOA Suite 12c
Demo
AGENDA
3
2
1
4
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | B2B Gateway
Internal/Restricted/Highly Restricted 9
Service Interface Enterprise Service Bus
User Interfaces Business Process Management Case Management Business Rules Engine Identity and Access Management Registry and Repository Policies Service Interface Policies Service Interface Policies Service Interface Policies Service Interface Policies Evt Evt Evt Evt Evt Evt Implementation Impl. Development Tooling Design Tooling Impl. Monitoring Event Processor
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
REFERENCE ARCHITECTURE | EXAMPLE
•
BPM tooling because the process is deterministic
•
CRM services are implemented using the existing CRM system
•
Billing and Transport Services are implemented in ERP system
•
DMS services are offered by a DMS
•
ESB is used to expose services
10
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Billing Service
Interface Enterprise Service Bus
Customer Care Portal Order-To-Cash
Credit Check Rules
LDAP Policies Document Service Interface Policies Transport Service Interface Policies Customer Service Interface Policies Order Service Interface Policies Payment Order CRM DMS ERP
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 12
What are SOA and (Micro) Services?
Reference architecture
Fusion Middleware and SOA Suite 12c
Demo
AGENDA
3
2
1
4
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Internal/Restricted/Highly Restricted 13
ORACLE FUSION MIDDLEWARE
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Internal/Restricted/Highly Restricted 14
PL/SQL Package Spec Oracle Service Bus 12c (SOA Suite)
ADF, MAF, Web Center Oracle BPM 12c (ACM) Oracle BPM 12c (BPMN) Business Rules 12c (SOA Suite) Oracle Identity Management (IAM, Mobile, SSO, etc.) Enterprise Repository OWSM 12c REST (JSON/HTTP) OWSM 12c SOAP (SOAP/HTTP) OWSM 12c REST (JSON/HTTP) OWSM 12c SOAP (SOAP/HTTP) OWSM 12c EDN EDN AQ AQ JMS EDN
Oracle Fusion Applications
PL/SQL Package Body Oracle JDeveloper 12c / Web Interfaces JDeveloper, BPM Composer Oracle SOA Suite 12c Oracle EM, Management Packs, BAM Oracle B2B 12c (SOA Suite) Oracle Event Processing (OEP) ADF
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
ORACLE SOA SUITE 12C
•
Standards Based
–
SCA
–
JEE, SOAP/WSDL, RESTful services
•
Components
–
Business Rules
–
Mediator
–
BPEL
–
Adapters
–
Spring
–
Human Workflow
–
Service Bus
•
Productivity
–
SCA and BPEL testing framework
–
Error-handling framework
–
WLST
•
Monitoring
–
Enterprise Manager
–
BAM
•
Infrastructure
–
WebLogic Server
–
Oracle Database
–
MDS
15 Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
TIMELINE OF SOA AND BPM
Oracle Confidential – Internal/Restricted/Highly Restricted 16
2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
SOA Suite 12c GA
BPM Suite 12c GA
BPEL Process
Manager
BAM
Web Services Manager
Service
Registry
Oracle
Data Integrator
SOA Suite 11g PS6
SOA Suite 12c Beta
BPM Suite 12c Beta
SOA Suite 11g PS5
SOA Suite 11g
AmberPoint
OSB 11g
SOA Governance 11g
BPM Suite 11g
BEA
Sun
BPA Suite 11g
WebLogic
ALBPM
ALSB
BPA Suite
SOA Suite 10gR3
SOA Suite 11g PS3
Collaxa
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
SOA SUITE HAS MATURED …
10g to 11g: Lots of new features & products, but also disruptive change
•
New architecture by introducing SCA standard
•
WebLogic Server instead of OC4J
•
AquaLogic Service Bus instead of OESB
•
SOA and BPM both new products
11g to 12c: Evolution instead of revolution
•
Same architecture (SCA), same container
•
Evolution of existing products
Oracle Confidential – Internal/Restricted/Highly Restricted
17 Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
Cloud Integration
•
Cloud Adapters
•
Cloud Adapter SDK
Internet of Things (IoT)
•
Event-processing
enhancements
•
Insight in events (Stream
Explorer)
Developer Productivity
•
Integrated Server
•
Unified IDE and Console
•
Debugging
… AND STILL INNOVATING
Mobile Enablement
•
Native support for REST
and JSON
•
API Management
•
REST APIs
New Functionality
•
Managed File Transfer
•
ACM Enhancements
•
Enterprise Scheduler
Business-User Friendliness
•
User-friendly Rule editing
•
BAM improvements
•
Integration Cloud Service
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 19
What are SOA and (Micro) Services?
Reference architecture
Fusion Middleware and SOA Suite 12c
Demo
AGENDA
3
2
1
4
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
DEMO | ORDERSERVICE
OrderService - Save Order
•
New order is communicated using event
•
Order information is stored in database
OrderService - Retrieve Orders (bonus)
•
RESTful interface (GET)
•
Orders are retrieved from database
•
Create in JDeveloper
•
Deploy to integrated SOA Suite
•
Test using Enterprise Manager
•
Monitor using Enterprise Manager
20
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
CONCLUSION
•
Oracle Fusion Middleware 12c
–
Complete stack (including items like BAM, Service Bus and OEP)
–
Integrated
–
Based on standards
–
Moving to the Cloud
21 22
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
USE OF SCA
SOA and BPM 11g and 12c
SOA and BPM 10g
23 Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
BEST OF BREED | FEASIBILITY
•
Standards
–
Building blocks need to be integrated with each other
–
Enterprise Service Bus makes that easier
•
Development
–
Having multiple development environments works in big organizations,
not in smaller
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
BEST OF BREED | BUILDING BLOCKS
Factor
Suite
Best of breed
Ease of integration
High
Medium
Cost
Low
High
Ease of supplier management
High
Low
Ease of getting support
High
Average
IDE
High
Average
Quality
Average
High
Ease of finding resources
High
Average
Performance
High
Average
25 Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
BEST OF BREED | VENDOR LOCK-IN
Component
Standard
Easy to switch vendor
Services
JEE
Yes, all JEE compliant vendors. Not, this *not*
include Microsoft
Events
JMS
Yes, all JMS compliant vendors
Service composition
BPEL
Specific extensions from vendors
BPMN
No, no specification for implementation
Business rules
RIF
Most vendors only support part of the standard
26
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |
BEST OF BREED | EXAMPLES
•
Company 1
–
SAP for ERP
–
Microsoft BizTalk Server as an ESB
–
Tibco I-Process for process design
–
Oracle ADF, PL/SQL and Forms for back end implementations
–
Microsoft in front-end
•
POC
–
Multiple development environments
–
Integration issues (events)
–
Vocabulary issues
–
Not really best of breed
27 Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |