Survey of Adding Fault Tolerance to Service Oriented Architecture
description
Transcript of Survey of Adding Fault Tolerance to Service Oriented Architecture
Survey of
Adding Fault Tolerance to
Service Oriented Architecture
Ingrid Buckley03/26/09
Agenda
• Fault Tolerance• Problem• Objective• SOA –Web Services Layers• Survey • Analysis• Conclusion• References
Fault Tolerance• There are many fault tolerance mechanisms which can be
adopted in the design of a web service [Buc08].
• Replication and redundancy and diversity are basic mechanisms that can be used in the design of web services.
• N-version programming and recovery block apply diversity by having several different implementations of software or hardware specifications, running in parallel to cope with errors or failures that could arise directly from a specific implementation or design.
Fault Tolerance
• Techniques– Detection – Diagnosis– Masking– Containment– Recovery
• We aim to identify how patterns can be applied to SOA.
• Fault Tolerance Software Mechanisms
– Redundancy– Diversity– Recovery/Graceful
Degradation– Checking and Monitoring– N-version Programming– Recovery Blocks (RB)
Problem
• Service Oriented Architectures are widely used in industry and government.
• The need to render them fault tolerant is increasingly necessary in order to apply them to safety critical applications.
• Currently, there is no systematic methodology to design fault tolerance in SOA.
Objective
To understand and evaluate approaches that has been done in adding fault tolerance to the SOA
EXAMPLE
WS1 WS2 Registry
PAYLOADHEADER
. . .
. . .TransportsHTTP
DocumentStorage
Web Services
BusinessWorkflow
Catalog andDescription
Communications
DBMS
SSLOS
TCP/IP file systemmemoryprocesses
BPEL4WS
WSCI
UDDI
ebXML
WSDL
SOAP
XML
XML
Web services standardsWeb services layers
Supporting structures
Fig 1. SOA Layer with standards added
Survey• Transparent Fault-Tolerant Web Services
• An approach was presented for a scheme that recovers in progress requests that do not require deterministic servers or changes to the clients
– Implemented two performance enhancements to a client-transparent fault tolerant Web service scheme that is based on a hot standby backup front-end server and logging.
– In the original implementation each node is a primary/backup pair and maintained its role as the primary or the backup for all requests for as long as both nodes were operational.
• This results in uneven utilization of the nodes.
– The first enhancement would allow each node to serve as primary for some requests
Survey• Backup for others with the use of Dual Server hosts scheme instead
of assigning a server to either a backup or primary role .
• Showed improvement in terms of the idle CPU cycles time when processing request.
• The second enhancement handles requests for dynamic content and static content differently to help decrease overhead for later requests .
• This is done by allowing both backup and primary server to generate and send acknowledgments to clients instead of logging replies which increases message size.
• This reduced average latency because static replies eliminated the reply/logging of each request.
Survey• Providing Reliable Web Services through Active Replication
– A middleware is presented that provides reliable web services using active replication technique.
– It uses a timestamp-based protocol to maintain the consistency of the replicas’ states
• uses a state machine approach and FIFO processing
– Allows the replicas to reach an agreement in the order in which the clients’ requests are processed.
– Each replica consists of a proxy web service site and a web service site – The Requests sent by clients are encapsulated in SOAP messages
Survey– Experiment measured the overheads
– A comparison of this timestamp-based protocol and optimistic active replication protocol was done.
– The result showed the former performed better when the mean processing time increases
– the overhead decreases due to the reduced synchronization cost
Survey• A Modular Architecture for Secure and Reliable Distributed
Communication
– Proposed the use to achieve secure and reliable messaging exchanges in distributed systems at the application layer of the SOA:
• WS-ReliableMessaging• WS-Trust, WS-Security and WS-SecureConversation
– An implementation on Apache Axis 2 platform was done.
– This resulted in modular components that can be used separately or combined to send reliable and secure messages within distributed system
Survey• Dynamic Web Service Composition: A New Approach in Building Reliable
Web Service– This approach creates a dynamic Web service composition algorithm
with verification using Petri-Nets.
– Each Web service is described by WSDL and their interactions with other services are described by WSCI
– The algorithm is comprised of Web services with the information provided by these two specification descriptions
– They verify the Web service to be deadlock free with modeling the Web service as a Petri-Net.
– Experiments were done to check the correctness and performance of the composed Web service.
Survey
– Experiments were done to check the correctness and performance of the composed Web service using acceptance test.
– BPEL is constructed to describe composition properties of the web services:
• Communication and specific behaviors
– Result from experiments showed that all test cases were passed and no deadlock was observed in all cases.
Analysis
Approach Standards Contribution ApplicationTransparent Fault-Tolerant Web services
WSDL, WSCI •Decrease in Average latency•More idle CPU cycles
Web Services
Providing Reliable Web Services through Active Replication
SOAP •Increase Performance •Decrease overhead•reduced synchronization cost
Middleware
A Modular Architecture for Secure and Reliable Distributed Communication
WS-ReliableMessagingWS-Trust, WS-Security WS-SecureConversation
Increase reliability of messagesIncrease securing messages
Apache Axis 2 application
Dynamic Web Service Composition: A New Approach in Building Reliable Web Service
WSDL , WSCI, BPEL Eliminated dead-locksIncreased reliability
Web Service Algorithm
Conclusion• A detailed survey can help shed light on what has been done to add
fault Tolerance to the SOA.
• Increase our knowledge of how to add Fault Tolerance to the SOA
• We can evaluate and analyze pass contributions to build upon them or realize new approaches.
• Systematic methodology that can be used to aid designers in building secure web services
• We intend to use patterns to add fault tolerance to Service Oriented Architectures.
References• [Eze08] Onyeka Ezenwoye and S. Masoud Sadjadi. A language-based approach to addressing
reliability in composite web services. In Proceedings of the 20th International Conference on Software Engineering and Knowledge Engineering (SEKE'2008), pages 649-654, San Francisco Bay, USA, July 2008.
• [Har08] Neil B. Harrison and Paris Avgeriou. Incorporating Fault Tolerance Tactics in Software Architecture Patterns. Proceedings of ACM. SERENE 2008. NewCastle, UK, November 17-19,2008.
• [W3c04] David Booth, et al. Web Services Architecture. http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/wsa.pdf, February 2004.
• [Buc08] I. Buckley, E.B Fernandez, “A Survey of Fault Tolerance Patterns”, Department of Computer Science and Engineering, Florida Atlantic University, 2007.
• [Agh03] N. Aghdaie and Y. Tamir, Performance Optimizations for Transparent Fault-Tolerant Web Services, Proceedings of IEEE, 2003.
• [Ye07] X.Ye, Providing Reliable Web Services through Active Replication, Proceedings of IEEE, 6th ACIS International Conference on Computer and Information Science (ICIS), 2007.
• [Jay07] C.M. Jayalath and R.U. Fernando, A Modular Architecture for Secure and Reliable Distributed Communication, Proceedings of IEEE, Second International Conference on Availability, Reliability and Security (ARES’07), 2007.
• [Cha08] P. P. W. Chan and M. R. Lyu, Dynamic Web Service Composition: A New Approach in Building Reliable Web Service, Proceedings of IEEE, 22nd International Conference on Advanced Information Networking and Applications, 2008.
Recommendation
Suggestion or Recommendation :