More Related Content Similar to Kevin Liu Peter Mc Nulty Best Practices V2 Similar to Kevin Liu Peter Mc Nulty Best Practices V2 (20) More from SOA Symposium (20) Kevin Liu Peter Mc Nulty Best Practices V21. This Presentation Courtesy of the
International SOA Symposium
October 7-8, 2008 Amsterdam Arena
www.soasymposium.com
info@soasymposium.com
Founding Sponsors
Platinum Sponsors
Gold Sponsors Silver Sponsors
2. Best Practices for SOA Services
Provisioning and Management
Canyang Kevin Liu,
Solution Architecture Manager
SAP® Co-Innovation Lab
Palo Alto, California
3. Disclaimer
This presentation outlines our general product direction and should not be
relied on in making a purchase decision. This presentation is not subject to
your license agreement or any other agreement with SAP. SAP has no
obligation to pursue any course of business outlined in this presentation or to
develop or release any functionality mentioned in this presentation. This
presentation and SAP's strategy and possible future developments are
subject to change and may be changed by SAP at any time for any reason
without notice. This document is provided without a warranty of any kind,
either express or implied including but not limited to the implied warranties
implied, to,
of merchantability, fitness for a particular purpose, or non-infringement. SAP
assumes no responsibility for errors or omissions in this document, except if
such damages were caused by SAP intentionally or g
g y y grossly negligent.
y g g
© SAP 2008 / SAP TechEd 08 / SOA115 Page 2
4. Agenda
1. SOA Governance and Experiences from SAP® Co-Innovation Lab
2. Best Practices for Services Provisioning and Design-Time Governance
3. Best P ti
3 B t Practices for SOA Runtime Management
f R ti M t
© SAP 2008 /
5. Governance: A Holistic View
Enterprise Corporate Governance
Transparency
Corrective measures
IT SOX, HIPAA, SCADA
SOA IT Governance
Compliance
Design
g Best practices
ITIL, COBIT frameworks
Run
SOA Governance
Provisioning governance
Runtime management
© SAP 2008 /
6. SOA Governance vs. Management
Create the Right Services in
Provisioning the Right Way
Governance
Approach for services candidate identification
Processes for services approval, implementation,
and deployment
Consistent methodology and patterns for service
design and implementation
SOA
Lifecycle
Gain Visibility and Control of
Runtime
Services in Production
Management
Monitor performance of services
Enforce SLAs and compliances
Enforce various policies
Provide analytics and reports
Quick issue identification and resolution
© SAP 2008 /
7. SAP Co-Innovation Lab
http://coil.sap.com
htt // il
The mission of the SAP Co-Innovation Lab is to enable our
customers and partners to come together with SAP to
collaboratively work on proof of concepts and promote new and
innovative business solutions and t h l i
i ti b i l ti d technologies.
Teams from diverse organizations can execute projects in an
environment where they can join forces to build, test, and
build test
architect new business processes and enterprise SOA.
“Where else can you fi d thi bl d of infrastructure, customer demonstration
“Wh l find this blend f i f t t t d t ti
possibilities, and ability to work side by side with SAP experts?”
Joachim Rahmfeld
VMware Inc.
© SAP 2008 /
8. Current Sponsors and Member Companies of
the SAP Co-Innovation Lab
Project
SAP Co-
Demo &
Collaboration Innovation Showcase
Lab
Data Center
© SAP 2008 / SAP TechEd 08 / SOA110 Page 7
9. Project Example –
Co-Innovation for SOA Management
Customer challenges: SAP Co-Innovation Lab
Heterogeneous SOA environment Approach
Lack of experiences and experience in integrating
Collaboratively capture key customer
SOA management solutions requirements and scenarios
COIL SOA Management Partners Develop test cases for Co-Innovation Lab
reference landscape
… Execute tests and develop optimal
E t t t dd l ti l
configuration and deployment models
Publish whitepapers and best practices
Guide partner R&D
Identified complex use cases and
scenarios for SOA management in
g
complex enterprise environments
The Outcome Customers confidence in making
enterprise SOA management decisions
Whitepapers and best practices
© SAP 2008 / SAP TechEd 08 / SOA110 Page 8
10. The SAP Co-Innovation Lab Landscape
virtual server virtual server virtual server
NW Portal CE ECC
instance instance WebService
endpoints
Load Load Load
Balancer Balancer Balancer
ECC
end user NW Portal CE WebService
instance instance endpoints
Flexible Test Scenario
Production-like operation:
Triggered by end-user activity in the SAP NetWeaver Portal web-service calls
All SAP components are set up with two are sent to a composite application, which in turn retrieves further information
instances to demonstrate high from a back-end system.
back end
availability and scalability.
SOA management policies are enforced by SOA Management proxies which
Secure SSL https communication might sit in the message stream in front of application components. The proxies
be used for messaging between generate audit, logging, performance monitoring data about web-service calls
components. and report them at runtime to a central SOA management reporting instance.
A network application delivery appliance The proxies also receive policies and other configuration from such a central
provides load balancing and other configuration instance.
network optimization services. The web service calls can have different sizes up to many MB. Also load
testing for concurrent web service calls can be performed.
© SAP 2008 / SAP TechEd 08 / SOA110 Page 9
11. Integration of SOA Governance and
Management Components
Runtime
management
g
leverages partner Web services delivered by SAP run on
solutions ECC backend and on CE servers, they
were provisioned following the SAP
enterprise services provisioning
governance process
© SAP 2008 / SAP TechEd 08 / SOA110 Page 10
12. Agenda
1. SOA Governance and Experiences from SAP Co-Innovation Lab
2. Best Practices for Services Provisioning and Design-Time
Governance
3. Best Practices for SOA Runtime Management
© SAP 2008 / SAP TechEd 08 / SOA115 Page 11
13. Best Practice #1: Adopt an enterprise level service
provisioning methodology
Business process driven top-
down approach for service
candidates identification is the
key in achieving better business
and IT alignment
© SAP 2008 /
14. Best Practice #2: Establish an enterprise level
enforceable governance process for service provisioning
Collaborative Process
Necessary
DECIDE
Roadmap-Driven Track but not obvious
SAP s
SAP’s plans to service-enable
service enable
mySAP Business Suite
Prioritize, Long Select Short
Confirmation considering
of SAP plans dependencies List List
Stakeholder-Driven Track use cases
Customers / partners
p q
quarterly
y
deciding how SOA drives Breakthrough
business value innovations
Committed Outcome
DEFINE DEVELOP DELIVER DEPLOY DECLARE
collaboratively semi-annually on mySAP ERP 2005
SAP
Architects
ES bundles
Community Definition Groups
15. Best Practice #3: Adopt an enterprise level
service design meta model
Business Object Model Service Description
based on WSDL & XSD
Deployment Unit Service Patterns
1 *
1..* 1
0..1 1..* * 0..1
Process Component Service Interface Interface Pattern
1..* *
1 1
1..*
1 * 1..
1 *
* 0..1
Business Object Service Operation Communication Pattern
0..1 *
* Input
Output
1..* Fault
Data Type
(Message Type)
Easy search and Definition; XML Easy search and
discovery through Schema discovery through
unambiguous classification * unambiguous naming
references conventions
1
Business logic based on
defined business objects Global Data Types Meaningful granularity
through predetermined
Meaningful granularity Same business context always represented operations
through business object by the same data type
assignment Reusability through
Easy composition through no/easy predetermined operations
conversions and mapping
Well-known service
Use of open semantic standards behavior
© SAP 2008 / SAP TechEd 08 / SOA115 Page 14
16. Best Practice #4: Leverage common service
design patterns (1)
Synchronous A2A and B2B
services services
Manage BO Query BO
Notification Reservation
(for master data objects)
Synchronous
<BO 1> Outbound process Inbound process <BO 2> outbound proce...
agent agent
Outbound process
O tb d Inbound process
I b d
agent agent
Inbound process Outbound process
agent agent
Update <BO> <part B>
BO action
Manage BO Request confirmation
(for business process
objects)
Replication
Specific value help for BO
17. Best Practice #4: Leverage common
service design patterns (2) – Decision Tree
Classification of atomic dialog
Answer
expected?
No Yes
Recipient Modifying
expected to take activity
notice? requested?
No Yes No Yes
Information Notification Query/Response Request/Confirmation
Pattern Pattern Pattern Pattern
18. Best Practice #4: Leverage common service
design patterns (3)
Example –synchronous
pattern for managing
master data BOs.
Typical CRUD fine-grained synchronous
operations with atomic transactions
wrapped in each operation
pp p
Mainly consumed by UIs and composite
applications
19. Best Practice #4: Leverage common service
design patterns (4)
Example: A2A/B2B Request-confirmation pattern
One process component requests something from another process
component and gets a confirmation once the requested business action
is performed (which can take some days).
20. DEMO
Example: Enterprise Services Workplace
Example: Sales Order Processing model
© SAP 2008 / SAP TechEd 08 / SOA115 Page 19
21. Agenda
1. SOA Governance and Experiences from SAP Co-Innovation Lab
2. Best Practices for Services Provisioning and Design-Time Governance
3. Best Practices for SOA R ti
3 B tP ti f Runtime M Management t
© SAP 2008
22. SOA Governance and Management – An example
How a business goal is translated into and enforced by a set of policies
Revenue Targets
Reporting Business
Contracts and
SLAs
Business-
Business-IT
Alignment
SOA Performance and SLA Technical Policies and SLAs
Compliance
23. A Day in the Life of an SOA Admin
Internal customers
SOA
Management
Monitoring
SOA Service
Admin Business partners
Usage
Policies
Policies
SLAs
Services
Registry Dependency
D d
Intermediary Analysis
Impact
Analysis
Analytics
Company border
Auditing
y
…
© SAP 2008 / SAP TechEd 08 / SOA115 Page 22
24. Best Practice #1: Use an SOA management component
deployment pattern that best achieves scalability and
availability
y
The best deployment pattern - put SOA
management proxies in between an application
deliverable (AD) component and application
instances.
Scalability: SAP application component scalability can
be achieved by adding as many application instances on
as much server hardware as needed for some high-
throughput requirements. The same methodology is
applicable for the SOA management components. With
the load-balancing capability SOA management
capability,
components can send traffic to any server as indicated by
the “X-like” connectivity lines.
High Availability: With the important load-balancing
g y p g
capability of SOA management components and the “X-
like” connectivity between SOA management components
and server instances, any single component failure would
still allow continuous operation of the overall setup.
p p
© SAP 2007 / Page 23
25. Best Practice #2: Think about not only SOA management
features, but also operational risks – High availability of
management console is also critical
g
To ensure the continuous operation of the enterprise services environment, most SOA
Management solutions (SOA Software is shown as example) support clustered
deployment for high availability and load balancing
The high
Th hi h availability consideration should not b li it d t th runtime enforcement
il bilit id ti h ld t be limited to the ti f t
points, but also the central console.
© SAP 2007 / Page 24
26. Best Practice #3: Take change management
into consideration early in projects
<protocol>://<server>:<port>/<web-service specifier>
Transport Locator WebService Locator
Web-Service Traffic Web-Service Traffic
SOA Management SAP Development
Proxy System
When fully qualified URLs are used,
? SAP CTS
change management of virtualized
services can be a lot of work
Web-Service Traffic Web-Service Traffic
SOA Management SAP QA
Proxy System
Desired:
? SAP CTS
- The “transport locator” should be
Web-Service Traffic Web-Service Traffic
SOA management
Proxy
y
SAP Productive
System
y
separated from the “Web service
locator”, so it’s easier to migrate from
one system to another or switch from
one protocol to another (e.g. http to
https)
- Mass import & export capability
© SAP 2007 / Page 25
27. Best Practice #4: Separation of UI traffic and
SOAP traffic
No major issue if UI traffic can be routed around SOA management Proxy
WSIL via GET was provided, but did not work in the landscape. Client applications
that require dynamic Web services discovery via WSIL fail function. Further
investigation is required
required.
SOA
SAP
Management
Web-Service Server
Web-Service + Proxy
UI traffic traffic only
Blocks any traffic but
Web-Service traffic
Most SOA management
solutions are designed
specifically for web-service
traffic
Application delivery appliance would be needed to separate the traffic
when clients access the application servers only through some sort of
intranet or the Internet cloud where all network traffic travels jointly on one
j y
network pipe.
© SAP 2007 / Page 26
28. Operational consideration: Reliable runtime performance
Example – SAP Co-Innovation Lab Results for SOA Software
SOA Software provides Java-
based Web services proxy, policy
management, performance
monitoring and reporting tools for
SOA management.
It is important that such solutions
do not degrade the reliability of an
overall business application
landscape, which uses SOA.
Tests performed in our lab showed
that a combined landscape with
SOA Software tools and SAP
applications reaches “ five 9s”
(99.9998%) reliability on SOA
Error statistics message transfers. This was found
Pass
P Fail
F il Stop
St in six-hour tests under high loads.
162,440 0 0
© SAP 2008 / SAP TechEd 08 / SOA110 Page 27
29. Operational consideration: High scalability
Example - SAP Co-Innovation Lab Results for SONOA Appliance
SONOA provides a network hardware appliance for SOA management, which is capable of
handling large message volumes:
Shown is a six-hour measurement where an increasing number of users make requests while message
g q g
sizes were kept constant (about 300 KB)
At high load of our stress testing, only less than 1% of the SONOA appliance CPU was utilized
One SONOA appliance may be able to enforce SOA management policies in front of many SAP
application components with high sustained load
load.
© SAP 2008 / SAP TechEd 08 / SOA110 Page 28
30. Understand what SOA management capability is important to you
Example - Managing policies with AmberPoint
AmberPoint provides a rich user experience in managing services provided by SAP
and other vendors
Services ramp up
ramp-up
WSIL-based approach
makes initial services
registration painless
Policy management
Rich set of templates
Apply and enforce
policies with a service
in a few simple steps
Reporting
Comprehensive view as well as
detailed performance reports
Dependency map
Navigation
Simple Web-based UI
Filters to narrow down results
Easy navigation among key
functional areas
© SAP 2008 / SAP TechEd 08 / SOA110 Page 29
32. Copyright 2008 SAP AG
All Rights Reserved
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed
without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, SAP Business ByDesign, ByDesign, PartnerEdge and other SAP products and services mentioned herein as well as their respective logos are
trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned and associated logos displayed are
the t d
th trademarks of their respective companies. Data contained i thi d
k f th i ti i D t t i d in this document serves i f
t informational purposes only. N ti
ti l l National product specifications may vary.
l d t ifi ti
The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written
permission of SAP AG. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies,
developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that
this document is subject to change and may be changed by SAP at any time without notice. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the
accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or
implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
SAP shall h
h ll have no li bilit f d
liability for damages of any ki d i l di without li it ti di t special, i di t or consequential d
f kind including ith t limitation direct, i l indirect, ti l damages th t may result f
that lt from th use of th
the f these materials. Thi limitation
t i l This li it ti
shall not apply in cases of intent or gross negligence.
The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these
materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch
SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden.
Einige von der SAP AG und deren Vertriebspartnern vertriebene Softwareprodukte können Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind.
SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, SAP Business ByDesign, ByDesign, PartnerEdge und andere in diesem Dokument erwähnte SAP-Produkte und Services sowie die
dazugehörigen Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und in mehreren anderen Ländern weltweit. Alle anderen in diesem Dokument erwähnten Namen von
Produkten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu
Informationszwecken. Produkte können länderspezifische Unterschiede aufweisen.
Die in dieser Publikation enthaltene Information ist Eigentum der SAP. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form
auch i
h immer, nur mit ausdrücklicher schriftlicher G
it d ü kli h h iftli h Genehmigung d h SAP AG gestattet. B i di
h i durch t tt t Bei dieser Publikation h d lt es sich um eine vorläufige V i
P blik ti handelt i h i lä fi Version, di nicht Ih
die i ht Ihrem gültigen Li
ülti Lizenzvertrag
t
oder anderen Vereinbarungen mit SAP unterliegt. Diese Publikation enthält nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP®-Produkts. SAP entsteht aus dieser
Publikation keine Verpflichtung zu einer bestimmten Geschäfts- oder Produktstrategie und/oder bestimmten Entwicklungen. Diese Publikation kann von SAP jederzeit ohne vorherige
Ankündigung geändert werden.
SAP übernimmt keine Haftung für Fehler oder Auslassungen in dieser Publikation. Des Weiteren übernimmt SAP keine Garantie für die Exaktheit oder Vollständigkeit der Informationen, Texte,
Grafiken, Links und sonstigen in dieser Publikation enthaltenen Elementen. Diese Publikation wird ohne jegliche Gewähr, weder ausdrücklich noch stillschweigend, bereitgestellt. Dies gilt u. a.,
aber nicht ausschließlich, hinsichtlich der Gewährleistung der Marktgängigkeit und der Eignung für einen bestimmten Zweck sowie für die Gewährleistung der Nichtverletzung geltenden Rechts.
SAP haftet nicht für entstandene Schäden. Dies gilt u. a. und uneingeschränkt für konkrete, besondere und mittelbare Schäden oder Folgeschäden, die aus der Nutzung dieser Materialien
g g , g , g
entstehen können. Diese Einschränkung gilt nicht bei Vorsatz oder grober Fahrlässigkeit.
Die gesetzliche Haftung bei Personenschäden oder Produkthaftung bleibt unberührt. Die Informationen, auf die Sie möglicherweise über die in diesem Material enthaltenen Hotlinks zugreifen,
unterliegen nicht dem Einfluss von SAP, und SAP unterstützt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewährleistungen oder Zusagen über Internetseiten
Dritter ab.
Alle Rechte vorbehalten.
© SAP 2008 / SAP TechEd 08 / SOA115 Page 31