Survey of Adding Fault Tolerance to Service Oriented Architecture

18
Survey of Adding Fault Tolerance to Service Oriented Architecture Ingrid Buckley 03/26/09

description

Survey of Adding Fault Tolerance to Service Oriented Architecture. Ingrid Buckley 03/26/09. Agenda. Fault Tolerance Problem Objective SOA –Web Services Layers Survey Analysis Conclusion References. Fault Tolerance. - PowerPoint PPT Presentation

Transcript of Survey of Adding Fault Tolerance to Service Oriented Architecture

Page 1: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

Survey of

Adding Fault Tolerance to

Service Oriented Architecture

Ingrid Buckley03/26/09

Page 2: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

Agenda

• Fault Tolerance• Problem• Objective• SOA –Web Services Layers• Survey • Analysis• Conclusion• References

Page 3: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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.

Page 4: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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)

Page 5: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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.

Page 6: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

Objective

To understand and evaluate approaches that has been done in adding fault tolerance to the SOA

Page 7: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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

Page 8: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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

Page 9: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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.

Page 10: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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

Page 11: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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

Page 12: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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

Page 13: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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.

Page 14: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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.

Page 15: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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

Page 16: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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.

Page 17: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

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.

Page 18: Survey  of  Adding Fault Tolerance  to   Service Oriented Architecture

Recommendation

Suggestion or Recommendation :