some performance and security findings relative to a soa

15
Slide Slide 1 1 Integrated Systems & Solutions Integrated Systems & Solutions Some Performance and Security Findings Some Performance and Security Findings Relative to a SOA Ground Implementation Relative to a SOA Ground Implementation March 28, 2007 March 28, 2007 John Hohwald John Hohwald

Upload: zubin67

Post on 08-Jul-2015

512 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Some Performance and Security Findings Relative to a SOA

SlideSlide 11

Integrated Systems & SolutionsIntegrated Systems & Solutions

Some Performance and Security Findings Some Performance and Security Findings Relative to a SOA Ground ImplementationRelative to a SOA Ground Implementation

March 28, 2007March 28, 2007John HohwaldJohn Hohwald

Page 2: Some Performance and Security Findings Relative to a SOA

SlideSlide 22

Integrated Systems & SolutionsIntegrated Systems & Solutions

Ground SOA Implementation IssuesGround SOA Implementation Issues

SOA Benchmarking SOA Benchmarking Benchmarked a variety of vendorsBenchmarked a variety of vendors−− IBM Websphere Process Server 6.0.1; IBM Advanced Websphere (MessIBM Websphere Process Server 6.0.1; IBM Advanced Websphere (Message Broker) age Broker)

6.0.0 (on AIX 5.3)6.0.0 (on AIX 5.3)−− DataPower XS40 (HW appliance: XML Accelerator and SAML 2.0 TokeDataPower XS40 (HW appliance: XML Accelerator and SAML 2.0 Tokens)ns)−− BEA Aqualogic 2.5 (on SUSE Linux)BEA Aqualogic 2.5 (on SUSE Linux)−− Oracle ESB Suite 10.1.3.1(on Windows 2003)Oracle ESB Suite 10.1.3.1(on Windows 2003)

Prototyped multiPrototyped multi--vendor ESB interaction and crossvendor ESB interaction and cross--platform operationsplatform operationsEnabled legacy C/C++ code with gSOAP 2.7Enabled legacy C/C++ code with gSOAP 2.7.NET and J2EE Interoperability.NET and J2EE InteroperabilityPerformance with large messagesPerformance with large messagesSecurity (MultiSecurity (Multi--Domain)Domain)

Installed, configured, and benchmarked ESB products from major SOA vendors

Page 3: Some Performance and Security Findings Relative to a SOA

SlideSlide 33

Integrated Systems & SolutionsIntegrated Systems & Solutions

Prototype SOA InfrastructurePrototype SOA Infrastructure

Page 4: Some Performance and Security Findings Relative to a SOA

SlideSlide 44

Integrated Systems & SolutionsIntegrated Systems & Solutions

Prototype SOA InfrastructurePrototype SOA Infrastructure

Client Service Proxy

Routing

Service A Service B Service C

Test Harness

ESB / Application Server

Service Endpoint

Constructed web services“Test Harness” to generate bothsequential and concurrent serviceinvocations

What additional overhead does an ESB carry compared to direct service invocation?What are the performance limiting factors in using web services?

Page 5: Some Performance and Security Findings Relative to a SOA

SlideSlide 55

Integrated Systems & SolutionsIntegrated Systems & Solutions

Implementing a Ground SOAImplementing a Ground SOA

Comparison of Performance of ESB Products for Concurrent Requests

012345678

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49

Sample Number

Tim

e in

Sec

onds Direct

IBM WebSphereIBM AdvancedBEAOracle

All major ESB products handle concurrent requests relatively well – some variability due to dynamic “garbage collection”

50 Concurrent ServiceInvocations

Page 6: Some Performance and Security Findings Relative to a SOA

SlideSlide 66

Integrated Systems & SolutionsIntegrated Systems & Solutions

Implementing a Ground SOAImplementing a Ground SOA

Comparison of Performance of ESB Products for Single Messages

0

5

10

15

20

25

30

35

0 200 400 600 800 1000 1200 1400 1600

Size in KB

Seco

nds

directIBM advancedoracleWebSphereBEA

ESB overhead shows small but increasing overhead as message size increases –compared to direct service invocation

Page 7: Some Performance and Security Findings Relative to a SOA

SlideSlide 77

Integrated Systems & SolutionsIntegrated Systems & Solutions

Web Services Performance and Large MessagesWeb Services Performance and Large Messages

IBM Advanced ESB and DataPower tested with large messages IBM Advanced ESB and DataPower tested with large messages 3MB (335 hrs Eph Data) response:3MB (335 hrs Eph Data) response:−− 30 seconds30 seconds

6MB (675 hrs Eph Data) response:6MB (675 hrs Eph Data) response:−− 75 seconds75 seconds

8.7MB (1080 hrs Eph Data) response:8.7MB (1080 hrs Eph Data) response:−− 125 seconds125 seconds

Real Performance Bottleneck is in SOAP Processing for large messReal Performance Bottleneck is in SOAP Processing for large messagesagesXML Serialization in client + XML DeXML Serialization in client + XML De--serialization in server serialization in server −− CPU time and memory intensiveCPU time and memory intensive

Message Size/Complexity dependentMessage Size/Complexity dependentAdditional ESB overhead can handle these size messagesAdditional ESB overhead can handle these size messages……

But heap size and timeout must be increasedBut heap size and timeout must be increased

Performance (Msg Size)

3

6

8.7

020406080

100120140

0 2 4 6 8 10

Size (MB)

Tim

e (S

ecs)

Page 8: Some Performance and Security Findings Relative to a SOA

SlideSlide 88

Integrated Systems & SolutionsIntegrated Systems & Solutions

Addressing Large Messages in Web ServicesAddressing Large Messages in Web Services

Message Transfer OptionsMessage Transfer OptionsSOAPSOAP−− Ordinary XML encoded payload document in SOAP envelopeOrdinary XML encoded payload document in SOAP envelope

SOAP with Attachments (SOAP with Attachments (SwASwA))−− Compound Document StructureCompound Document Structure−− MIME Encoding (DeMIME Encoding (De--facto usage standard) of attachment informationfacto usage standard) of attachment information−− DIME Encoding (Direct Internet Message Encapsulation) largely obDIME Encoding (Direct Internet Message Encapsulation) largely obsoletesolete

MTOM (Message Transmission Optimization Mechanism, W3C), XOP (XMMTOM (Message Transmission Optimization Mechanism, W3C), XOP (XMLL--binary Optimized Packaging, W3C)binary Optimized Packaging, W3C)−− Relatively new standardsRelatively new standards

OutOut--ofof--Band TransferBand Transfer−− E.g., pass URI and use other transfer mechanism (FTP)E.g., pass URI and use other transfer mechanism (FTP)−− Places burden of decoding message payload back to the applicatioPlaces burden of decoding message payload back to the applicationn

PREVIOUS DATA RESULTS

Alternatives exist to mitigate performance bottlenecks of XML Serialization/De-serialization with large messages

Page 9: Some Performance and Security Findings Relative to a SOA

SlideSlide 99

Integrated Systems & SolutionsIntegrated Systems & Solutions

Web Services Performance FindingsWeb Services Performance Findings

Additional Performance ConsiderationsAdditional Performance ConsiderationsSOAP Encoding StylesSOAP Encoding Styles−− RPC/EncodedRPC/Encoded (Worst Performance)(Worst Performance)

o Deprecated and not WS-I compliant−− RPC/LiteralRPC/Literal (Middle)(Middle)−− Document/Literal WrappedDocument/Literal Wrapped (Best Performance)(Best Performance)

o Greater user control of parsingo Namespace element tagging allows complex datatype validation

Performance ConclusionsPerformance ConclusionsTrue performance bottlenecks due to XML Serialization and DeTrue performance bottlenecks due to XML Serialization and De--serialization serialization of large messagesof large messages——mitigate via:mitigate via:−− Alternative transfer mechanisms (e.g. Alternative transfer mechanisms (e.g. SwASwA) for XML payload messages > ~ 10 MB) for XML payload messages > ~ 10 MB−− SOAP encoding style (Document/Literal)SOAP encoding style (Document/Literal)−− H/W appliance XML AcceleratorsH/W appliance XML Accelerators

ESB products add modest overhead which increases as message sizeESB products add modest overhead which increases as message sizes s growsgrows

Page 10: Some Performance and Security Findings Relative to a SOA

SlideSlide 1010

Integrated Systems & SolutionsIntegrated Systems & Solutions

Web Services and SOA Security Web Services and SOA Security

MultiMulti--Domain SOA SecurityDomain SOA SecurityDo not confuse Do not confuse MultiMulti--Domain SecurityDomain Security with with MultiMulti--Level SecurityLevel Security (MLS)(MLS)MultiMulti--Level Security implies a single domain with electronic access byLevel Security implies a single domain with electronic access by one or one or more individuals not briefed at all security levels (or compartmmore individuals not briefed at all security levels (or compartments) for data ents) for data within the systemwithin the system−− Typically requires DCID 6/3 PLTypically requires DCID 6/3 PL--4 protection4 protection

MultiMulti--Domain Security implies there are multiple infrastructure domainDomain Security implies there are multiple infrastructure domains, s, managed by different organizations, that may have different requmanaged by different organizations, that may have different requirements and irements and standardsstandards−− Data in each domain may in fact have same set of Classification Data in each domain may in fact have same set of Classification Level(sLevel(s), ),

CompartmentsCompartments−− Key issue is trust: you must trust that your partnerKey issue is trust: you must trust that your partner’’s security implementation is s security implementation is

reliablereliable

Page 11: Some Performance and Security Findings Relative to a SOA

SlideSlide 1111

Integrated Systems & SolutionsIntegrated Systems & Solutions

Web Services and SOA Security: Logical ArchitectureWeb Services and SOA Security: Logical Architecture

Service

WS Gateway / XML Firewall

WS-Trust Service

Identity Provider (LDAP, AD, etc)

WS Gateway / XML Firewall

Internal Service Bus

External Service Bus

User

UID / Password Portal1

2 3

Identity Provider (LDAP, AD, etc)

WS-Trust Service

45

6

7

9

8

DOMAIN A

DOMAIN B

Page 12: Some Performance and Security Findings Relative to a SOA

SlideSlide 1212

Integrated Systems & SolutionsIntegrated Systems & Solutions

Web Services and SOA Security: Configuration 1Web Services and SOA Security: Configuration 1

Security Dom

ain 1

LDAPWindows

Service Client(Horizon)Windows

WS-TrustWindows

Security Dom

ain 2

Complex and fragile architecture but acceptable performanceComplex and fragile architecture but acceptable performanceComponentized architecture permits flexibilityComponentized architecture permits flexibilityTFIM implementation of WSTFIM implementation of WS--Trust and WSSM is still maturingTrust and WSSM is still maturingEnforcement via WS ESB is proprietary; no security on responseEnforcement via WS ESB is proprietary; no security on response

CO

NFIG

UR

ATION

1

Service ProviderWindows 2003

Websphere Product ServerESB

Windows 2003

WSSM/Tivoli AccessManager

AIX

DataPowerXML Gateway

SAML Token ExchangeAcross security domains

Page 13: Some Performance and Security Findings Relative to a SOA

SlideSlide 1313

Integrated Systems & SolutionsIntegrated Systems & Solutions

Web Services and SOA Security: Configuration 2 Web Services and SOA Security: Configuration 2

Security Dom

ain 1Service Client

(Horizon)Windows

Security Dom

ain 2

CO

NFIG

UR

ATION

2

Service ProviderWindows 2003

Websphere Product ServerESB

Windows 2003

Tivoli AccessManager

AIX

DataPowerXML Gateway

Simplified and easy to configure; very fastSimplified and easy to configure; very fastCan transform and route messages based on content & policyCan transform and route messages based on content & policyCan sign and encrypt responsesCan sign and encrypt responsesXML gateway product is proprietaryXML gateway product is proprietaryTransformations can only be written in XSLT (no custom adaptors)Transformations can only be written in XSLT (no custom adaptors)

SAML Token ExchangeAcross security domains

Page 14: Some Performance and Security Findings Relative to a SOA

SlideSlide 1414

Integrated Systems & SolutionsIntegrated Systems & Solutions

Performance Overhead Performance Overhead –– Dynamic Routing & SecurityDynamic Routing & Security

The two tests are identical The two tests are identical (1(1--72 hours of Ephemeris 72 hours of Ephemeris Generation/Retrieval)Generation/Retrieval)Adding security (DataPower Adding security (DataPower appliance, SAML 2.0 token appliance, SAML 2.0 token generation, trust chain, etc.) generation, trust chain, etc.) and dynamic routing did not and dynamic routing did not significantly degrade significantly degrade performanceperformance

Secure ESB with Systinet Registry Overhead

0

2

4

6

8

10

12

14

16

1 6 11 16 21 26 31 36 41 46 51 56 61 66 71

Sequential Eph Hours

Runt

ime

Secured ESB InvocationUnsecured ESB Invocation

Adding security and dynamic routing to service invocation did not dramatically alter performance

Page 15: Some Performance and Security Findings Relative to a SOA

SlideSlide 1515

Integrated Systems & SolutionsIntegrated Systems & Solutions

Summary and Conclusions Summary and Conclusions

SOAP/XML based web service performance is largely a factor of seSOAP/XML based web service performance is largely a factor of serialization rialization and deand de--serialization of XML messages at mediationserialization of XML messages at mediation

Size of response is the critical factor in performance analysis:Size of response is the critical factor in performance analysis: large size (MB range) large size (MB range) results in rapid performance degradationresults in rapid performance degradationAlternative approaches for transferring large messages/files viaAlternative approaches for transferring large messages/files via web services web services required and availablerequired and available−− Impacts how you should structure your servicesImpacts how you should structure your services

Additional ESB overhead is small compared to message size effectAdditional ESB overhead is small compared to message size effectESB products handle consistent, moderate loads dramatically bettESB products handle consistent, moderate loads dramatically better than sudden, er than sudden, heavy loadsheavy loads

SOAP encoding style has an impact: prefer document/literal wrapSOAP encoding style has an impact: prefer document/literal wrappedpedPractical message size is not changed with the addition of crossPractical message size is not changed with the addition of cross--domain domain

security security Additional network hops, but small data size exchanges in eachAdditional network hops, but small data size exchanges in each

“A man has got to know his (COTS) limitations.”