Presentation is loading. Please wait.

Presentation is loading. Please wait.

Adding Fault Tolerance to Service Oriented Architecture Ingrid Buckley 02/19/09.

Similar presentations


Presentation on theme: "Adding Fault Tolerance to Service Oriented Architecture Ingrid Buckley 02/19/09."— Presentation transcript:

1 Adding Fault Tolerance to Service Oriented Architecture Ingrid Buckley 02/19/09

2 Agenda Service Oriented Architecture Problem Objective Fault Tolerance SOA –Web Services Layers Approach –Examples Challenges Conclusion References

3 Service Oriented Architecture SOA architectural layers.

4 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.

5 Objective Achieve Fault Tolerance in the SOA, by developing an appropriate lifecycle methodology. The methodology is based on patterns; it requires the development of dependability patterns and their use along the software development life cycle

6 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)

7 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.

8 SOA –Web Services Layers Business Workflow –The highest level is the Business workflow level. BPEL provides a language for the formal specification of business processes and business interaction protocols. –This extends the web services interaction model and allows web services to perform business transactions. –How to apply Fault Tolerance, possible solutions: Checking monitoring – ensure that interacting services are active. Redundancy and Diversity - for each service in the event failure occurs.

9 SOA –Web Services Layers Catalog and Description –Messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. –Related concrete endpoints are combined into abstract endpoints (services). –How to apply Fault Tolerance, possible solutions: Redundancy to have multiple copies of the message definition. Checking and Monitoring of the message format for change.

10 SOA –Web Services Layers Document Storage –Sender and receiver must agree on document structure and meaning. –A message includes a header (describing routing and security information) and an envelope (carrying the message contents). –A contract defines the meaning of header and envelope for the entities that exchange messages –Associated with the DMBS tier –How to apply Fault Tolerance, possible solutions: Redundancy- Maintain a back copy of the structure and meaning of the document.

11 SOA –Web Services Layers Communication is performed in two ways as: – Asynchronous messages. Send a document to a service and receive an answer later. –Synchronous operation using a Broker (proxies handle asynchronous messages). –Sender and receiver must agree on document structure and meaning (Document Storage) –How to apply Fault Tolerance, possible solution: Monitoring and Checking- Use of acknowledgements to identify if a service is still active. Redundancy- have more than one proxy or broker

12 Approach To achieve Fault Tolerance in the SOA, when implemented through web services along the whole life cycle. Add Fault Tolerance Mechanism to the SOA layers (Fig 1) and throughout software life cycle (Fig 2).

13 EXAMPLE Fig 1. SOA Layer with standards added

14 EXAMPLE Fig 2. SDLC with security added in each stage

15 Approach StageMethod to address Fault Tolerance RequirementsIdentity Fault Tolerance for each UC, to include (Critical, Medium and normal). AnalysisActivity and sequence diagrams to analyze flow of activities and to add fault tolerance mechanism to counter failure. DesignModel View Controller pattern to realize the mechanism that can counter failures identified in the Analysis stage. This can be depicted in a Class diagram. ImplementationTranslating class diagram from Design stage using some programming framework/language. Deployment and Maintenance Redundant Fault Tolerance deployment.

16 Challenges Web services do not strictly follow the conventional software development methodologies, because of their nature. They are often integrated with other service to form a composite service. What approach should be used to add fault tolerance principles in “whole life cycle” of web services? Can we use the conventional Software development Life cycle ( Requirements, Analysis, Design and Implementation, Deployment and Development) to add fault tolerance principles? The approach being adopted here is shown in [Fer06], where many security patterns were used. There are some patterns for Fault Tolerance; however, most are not complete and more is needed. Should we use some alternative approach in this case?

17 Conclusion It’s not enough to have a secure SOA but also to design secure and fault tolerant web services applications. –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. We need to study the effect of security violations on the reliability of the syst em; e.g. crashes induced by security attacks. We also need to study the effect of reliability on security. A failure may expose sensitive information. Given a workflow in the form of an activity diagram we can study the effect of faults in each activity and classify each activity as requiring high, medium, or low degree of fault tolerance.

18 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. [Fer09] E.B Fernandez et al. A survey and analysis of the state of the art on security and reliability of Service- Oriented Architectures. January 2009. [Fer06] E. B. Fernandez, M.M. Larrondo-Petrie, T. Sorgente, and M. VanHilst, "A methodology to develop secure systems using patterns", Chapter 5 in "Integrating security and software engineering: Advances and future vision", H. Mouratidis and P. Giorgini (Eds.), IDEA Press, 2006, 107-126. [Buc08] I. Buckley, E.B Fernandez, “A Survey of Fault Tolerance Patterns”, Department of Computer Science and Engineering, Florida Atlantic University, 2007.

19 Recommendation Suggestion or Recommendation :


Download ppt "Adding Fault Tolerance to Service Oriented Architecture Ingrid Buckley 02/19/09."

Similar presentations


Ads by Google