expert insights into faster oracle soa suite project delivery · design develop test deploy monitor...
TRANSCRIPT
Expert Insights Into Faster Oracle SOA Suite Project Delivery Thursday, October 2, 2014 Moscone South 302 – 12:00 PM – 12:45 PM
Bruce Tierney Director of Integration, Oracle
Simone Geib Director of Product Management, Oracle
Peter Ebell AMIS Holding B. V.
Dan Reynebeau Principal Architect, Flexagon
Guido Schmutz Technology Manager, Trivadis AG
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
CON7737
Does this sound familiar?
• Huge, mission-critical project about to take off
• .. with a really tight deadline,
• .. if we want to to make it, we’ll have to get started last week
• .. and then ramp up production as quickly as we can
• .. oh.. and while we’re at it, we are going to introduce some new technologies to our IT landscape, like the Oracle SOA Suite and Service Bus…
“Slow down, because I am in a hurry!”
“Before you start running, make sure you’re headed in the right direction”
“It takes money time to make money time”
Some sayings that come to mind
A Broader Perspective
• High productivity and speed of delivery of a SOA project can’t be achieved by focusing on the development aspect alone.
• Especially if this is the first SOA project within the organization, other disciplines such as (functional) design, testing, and operations will be more critical to the productivity of the project, and the speed with which developed software can be put in production.
• Each discipline offers it’s own challenges and possibilities, and can to contribute to a productive “software factory”.
Design Develop Test Deploy Monitor
• Canonical Data Model – Building on a poorly designed, and/or frequently changing datamodel (whether it’s relational tables in a database or XML
schema’s in a SOA environment) is very counterproductive.
– Having a good, stable canonical data model in place before the bulk of the services are designed and developed will not
only save time during initial development, but throughout the entire lifecycle of the services.
• Service Granularity – Make sure the first consumer of a service doesn’t dictate its interface. Giving careful thought to service granularity will
greatly increase the level of reuse – one of SOA’s key promises and benefits.
Design Develop Test Deploy Monitor
• The Oracle SOA development tools are already pretty productive. Also, there are comprehensive and useful “best practice” guides available.
• Typically, if significant time can be saved during the development phase, it is by recognizing generic functionality early on (and not after the first n services have already been built).
• Especially in the early phases of a (sufficiently large) project, it can be useful to establish a separate “generic platform” team, that will create reusable extensions and productivity boosters to facilitate the work of the “regular” development team
• While it is often very tempting, it can be really counterproductive to scale up the number of developers too early in the project.
Design Develop Test Deploy Monitor
• Testing a SOA application, with web services and perhaps long-running BPEL and/or BPM processes, is quite a different ballgame compared to typical “end user interface” testing.
• Often, you’ll find a SOA project being staffed with experienced SOA developers, but with testers that do not have any specific expertise in this area.
• In fact, good SOA testers are still pretty hard to find. If this is the case for your project, make sure to reserve a significant amount of time of the developers to help the test team develop effective automated test scripts.
Design Develop Test Deploy Monitor
• The Oracle SOA development tools have nicely integrated build-and-deploy features – on a per-
service/process basis.
• There is little out-of-the-box tooling for automatically identifying, building and deploying an entire release,
spawning a large number of services, processes, and various other artefacts.
• This typically makes deploying releases a laborsome and errorprone process, especially when performed
by IT operations staff that have no intimate knowlegde of the toolstack or the SOA applications being
developed.
• From the get-go, invest in automated deployment scripts to reduce the manual involvement during the
deployment of a release to a minimum.
• If possible, introduce the concept of DEVOPS into your IT organisation.
Design Develop Test Deploy Monitor
• Because SOA applications are typically loosely coupled, a particular piece of (business) functionality may be implemented by components in many different layers, spanning many different technology platforms.
• Therefore, SOA applications are often more complex to monitor than more traditional applications
• There are many features embedded in the Oracle SOA stack (SLA Rules, Sensors, etc etc) that can help, but typically, IT Operations staff is not aware of these features and will not be able to proactively indicate what they would need to adequately monitor the behaviour of the SOA applications.
• Again, introducing the concept of DEVOPS will “close this gap”. Also, it will get IT Operations involved much more actively, and also earlier in the process.
Summary
• There is no “silver bullet” to significantly speed up project delivery.
• It takes a “holistic view” of the entire process of designing, building, deploying
and monitoring software to create a smooth, productive “software factory”.
• Ironically, many of the things that will save time over the course of the project
will initially _take_ time:
– to think things throught
– to document Standards & Guidelines
– to build generic components
– to build reference implementations
– to short, to pave the way
• But the end result will be a efficient “software factory” where productivity,
speed of delivery and quality go hand in hand.
Expert Insights into Faster Oracle SOA Suite Project Delivery
Future Proofing SOA
13
Problem Statement
Business requires projects…
•delivered faster
•with higher quality
•with lower cost
14
Problem Statement
And require the same
•next week
•next month
•next year…
15
People
• Architecture focus
– Create standards and best practices
– May be separate team, based on organizational size
• Application focus
– Integration lead
– Apply standards and best practices
• Training focus
– Initial technology training, followed by on-going mentoring
– 3 good developers = 10 average developers
– Allows integration lead more hands-on time
16
Process – Transform Design
• Iterative design/development methodology
– Places functionality in front of business faster
– Allows for adjustments throughout process
• Document services and objects
– Reduces integration testing mismatches
• Error handling
– Understand needs up front
– Avoid re-work later
• Perform reviews
17
Process - Accelerate Development
• Use the in SOA – Re-usable services
– Common Xpath functions
– Reduces coding and defects
– Improves maintainability and readability
• Logging – Log from the start
– Reduces debug time
• Utilize composite generators – Provide consistent jump start for developer
– Utilize in-house built composite generator in 11g
• Perform reviews
18
Technology – Administration & Deployment
• Utilize abstract WSDLs – Reduces deployment dependencies and failures
• Utilize MDS for data objects and abstract WSDLs – Reduces URL cleanup between environments
• Deployment – Automate deployments
– Visibility and auditing of all deployments
• System management and monitoring – Proactive response
– Reduce potential outages
19
Future Proofing
• Ensure today sets up for tomorrow and beyond:
– through standards and best practices
– through re-usable services
– through a consistent and maintainable code base
• Enables faster responses to business needs
2014 © Trivadis
BASEL BERN BRUGG LAUSANNE ZUERICH DUESSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MUNICH STUTTGART VIENNA
2014 © Trivadis
Oracle Panel: Expert Insights into Faster
Oracle SOA Suite Project Delivery Guido Schmutz, Trivadis
16.09.2014 Oracle Service Bus and Oracle SOA Suite in the Mobile World
20
2014 © Trivadis
Guido Schmutz
• Working for Trivadis for more than 17 years
• Oracle ACE Director for Fusion Middleware and SOA
• Co-Author of different books
• Consultant, Trainer Software Architect for Java, Oracle, SOA,
EDA, Big Data and Fast Data
• Member of Trivadis Architecture Board
• Technology Manager @ Trivadis
• More than 25 years of software development experience
• Contact: [email protected]
• Blog: http://guidoschmutz.wordpress.com
• Twitter: gschmutz
16.09.2014
21 Oracle Service Bus and Oracle SOA Suite in the Mobile World
2014 © Trivadis
It‘s not a question of Java or BPMN or BPEL or Service Bus
• It’s about how to combine them into a architecture
Architecture matters!
• Separation of Concerns
• Clear Responsibilities
• Loose Coupling
Know the strengths and weaknesses of each technology/component and use
appropriately
• Each component has it’s key properties and features
• Some are overlapping
2.10.2014 Oracle Panel: Expert Insights into Faster Oracle SOA Suite Project Delivery
22
How to be successful and fast ?
2014 © Trivadis
2.10.2014 Oracle Panel: Expert Insights into Faster Oracle SOA Suite Project Delivery
23
Service Bus vs. Mediator vs. BPEL 12c
Service Bus 12c
Mediator 12c
XSLT
Human Workflow
Process State/
Long running
Message Filter JCA Adapter
Decision Service
Process Orchestration
XQuery
DVMs XREFs
Split-Join
XA Support
JDeveloper
SLA Alert Rule
Retry
Message
Throttling
Service Pooling
(Load Balancing)
Instance Monitoring
Security
Message Validation (XSD)
Reliable Messaging
Asynchronous
Messaging Pattern Compensation
Parallel Processing
Graphical Flow
Design
Message Routing
SCA
Strong typing (XSD)
Result Set Caching
Rule-based
routing
Graphical Debugger
Fault Management Framework
Message Validation
(Schematron)
REST Binding
EDN
Service Data Object (SDO)
Unit Test Framework
BPEL/BPMN 12c
HTTP
Resequencing
2014 © Trivadis
OEP 12c
2.10.2014 Oracle Panel: Expert Insights into Faster Oracle SOA Suite Project Delivery
24
Service Bus vs. Mediator vs. Oracle Event Processing (OEP) 12c
Service Bus 12c
Mediator 12c
XSLT JCA Adapter
XQuery DVMs XREFs
Split-Join
XA Support
SLA Alert Rule
Retry
Resequencing
Message Throttling Service Pooling
(Load Balancing)
Instance
Monitoring
Message Validation (XSD)
Reliable Messaging
Asynchronous
Messaging Pattern Graphical Flow
Design
Routing
SCA
Strong typing (XSD)
Result Set Caching
Rule-based
routing
Graphical
Debugger
Fault Management Framework
Message Validation
(Schematron)
REST Binding
EDN
Unit Test Framework
HTTP
Filter
Enrichment
Geo-Spatial
Event Pattern
Detection
Time-based
Window
Real-Time
Missing Event
Detection Coherence
Tuple-based
Window
2014 © Trivadis
Even
t
Clo
ud
Oracle FMW in Enterprise Architecture
2.10.2014 Oracle Panel: Expert Insights into Faster Oracle SOA Suite Project Delivery
25
Enterprise
Applications
WS
REST
JMS
RDMBS
Lo
cal ESB
External Cloud
Service Providers
En
terp
rise
Serv
ice B
us
(ESB
)
EJB
Event Processing (ESP /
CEP)
State Store / Event
Store
BPM and SOA Platform
Event
Business
Logic/Rules
NoSQL
Analytical Applications
Data Analytics
Internet of
Things
Event Processing
25
Mobile Apps
DB
Rich (Web)
Client Apps
DB
Social Media
Streams
En
terp
rise
Even
t
Bu
s
Visualization
Biz Logic Rules
WS
Event
Business Rule
Management
System Rules
Processes ACM
HumanWF
Serv
ice
Gate
way
Access & Identity
Management
Oracle Event Processing
for Java Embedded
Coherence
Oracle
NoSQL Business Activity Monitoring (BAM)
Oracle RDBMS
SOA Suite
BPM Suite
Web
Lo
gic
JM
S
Web
Lo
gic
JM
S
ED
N
Oracle Rules
Oracle Event Processing (OEP)
Oracle NoSQL Oracle RDBMS
Business Activity
Monitoring (BAM)
AP
I G
ate
way
ED
N
Oracle Real-Time
Decisions (RTD)
ADF
MAF
Oracle Access Management
Oracle Identity Management
ADF
Java EE
Java SE
Serv
ice B
us
Java Embedded Oracle Endeca
2014 © Trivadis
Questions and answers ...
2013 © Trivadis
BASEL BERN BRUGG LAUSANNE ZUERICH DUESSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MUNICH STUTTGART VIENNA
Guido Schmutz
Enterprise Architect
16.09.2014 Oracle Service Bus and Oracle SOA Suite in the Mobile World
26
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Join the Community
#SOA12c #IPaaS #OOW14
Connect with Oracle on Social Media
OR connect via the web
Oracle blog
blogs.oracle.com/SOA Oracle Home Page
oracle.com/SOA