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

Slides:



Advertisements
Similar presentations
An Approach to Wrap Legacy Applications into Web Services Wesal Al Belushi, Youcef Baghdadi Department of Computer Science, Sultan Qaboos University, Sultanate.
Advertisements

Cryptography and Network Security 2 nd Edition by William Stallings Note: Lecture slides by Lawrie Brown and Henric Johnson, Modified by Andrew Yang.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
Incorporating Fault Tolerance and Reliability in Software Architectures Ingrid Buckley 01/15/09.
Distributed components
Chapter 6 Methodology Conceptual Databases Design Transparencies © Pearson Education Limited 1995, 2005.
Methodology Conceptual Database Design
Lecture Nine Database Planning, Design, and Administration
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Chapter 9 Database Planning, Design, and Administration Sungchul Hong.
Overview of the Database Development Process
Framework: ISA-95 WG We are here User cases Studies
Managing Service Metadata as Context The 2005 Istanbul International Computational Science & Engineering Conference (ICCSE2005) Mehmet S. Aktas
1 Chapter 15 Methodology Conceptual Databases Design Transparencies Last Updated: April 2011 By M. Arief
Secure Systems Research Group - FAU 1 A survey of dependability patterns Ingrid Buckley and Eduardo B. Fernandez Dept. of Computer Science and Engineering.
Secure Systems Research Group - FAU Classifying security patterns E.B.Fernandez, H. Washizaki, N. Yoshioka, A. Kubo.
MESSAGE ORIENTED MODEL (MOM). Slide 2CITE 4420 Message Oriented Model Message-Oriented Model (MOM)
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
Database System Development Lifecycle 1.  Main components of the Infn System  What is Database System Development Life Cycle (DSDLC)  Phases of the.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Secure Systems Research Group - FAU 1 Active Replication Pattern Ingrid Buckley Dept. of Computer Science and Engineering Florida Atlantic University Boca.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
Survey of Adding Fault Tolerance to Service Oriented Architecture Ingrid Buckley 03/26/09.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Safety-Critical Systems 7 Summary T V - Lifecycle model System Acceptance System Integration & Test Module Integration & Test Requirements Analysis.
1 Chapter 1 – Background Computer Security T/ Tyseer Alsamany - Computer Security.
Over View of CENELC Standards for Signalling Applications
BPEL Business Process Engineering Language A technology used to build programs in SOA architecture.
Kemal Baykal Rasim Ismayilov
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Secure Systems Research Group - FAU 1 WS-Reliability Pattern Ingrid Buckley Dept. of Computer Science and Engineering Florida Atlantic University Boca.
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
Introduction to Software Engineering Syed Salman Ali B.E, MBA ( MIS, Mktg), PMP.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Protocols and layering Network protocols and software Layered protocol suites The OSI 7 layer model Common network design issues and solutions.
Introduction to UML.
Chapter 9: Transport Layer
Chapter 1- Introduction
CompSci 280 S Introduction to Software Development
Methodology Conceptual Databases Design
Instructor Materials Chapter 9: Transport Layer
CS408/533 Computer Networks Text: William Stallings Data and Computer Communications, 6th edition Chapter 1 - Introduction.
Methodology Conceptual Database Design
Chapter 1- Introduction
Telemedicine.
DEPARTMENT OF COMPUTER SCIENCE
DEPENDABILITY AND ROLLBACK RECOVERY FOR COMPOSITE WEB SERVICES
Frequently asked questions about software engineering
Service-centric Software Engineering
Service-centric Software Engineering 1
Fault Tolerance Distributed Web-based Systems
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Chapter 6 – Architectural Design
Architectures of distributed systems Fundamental Models
Chapter 5 Architectural Design.
Architectures of distributed systems Fundamental Models
An Introduction to Software Architecture
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Methodology Conceptual Databases Design
Architectures of distributed systems
Chapter 5 Architectural Design.
Design Yaodong Bi.
Architectures of distributed systems Fundamental Models
Design.
Cryptography and Network Security
Presentation transcript:

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

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

Service Oriented Architecture SOA architectural layers.

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

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)

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.

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.

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.

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.

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

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

EXAMPLE Fig 1. SOA Layer with standards added

EXAMPLE Fig 2. SDLC with security added in each stage

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.

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?

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.

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 , San Francisco Bay, USA, July [Har08] Neil B. Harrison and Paris Avgeriou. Incorporating Fault Tolerance Tactics in Software Architecture Patterns. Proceedings of ACM. SERENE NewCastle, UK, November 17-19,2008. [W3c04] David Booth, et al. Web Services Architecture. ws-arch /wsa.pdf, February [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 [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, [Buc08] I. Buckley, E.B Fernandez, “A Survey of Fault Tolerance Patterns”, Department of Computer Science and Engineering, Florida Atlantic University, 2007.

Recommendation Suggestion or Recommendation :