Incorporating Fault Tolerance and Reliability in Software Architectures Ingrid Buckley 01/15/09.

Slides:



Advertisements
Similar presentations
Web Services Architecture An interoperability architecture for the World Wide Service Network.
Advertisements

An Approach to Wrap Legacy Applications into Web Services Wesal Al Belushi, Youcef Baghdadi Department of Computer Science, Sultan Qaboos University, Sultanate.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
What is SOA? IT architecture for request - reply applications Application functions are modularized and presented as services Services are loosely coupled.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Achieving Success With Service Oriented Architecture Derek Ireland 17th March, 2005.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Introduction and Overview “the grid” – a proposed distributed computing infrastructure for advanced science and engineering. Purpose: grid concept is motivated.
Software Architecture Design Instructor: Dr. Jerry Gao.
The Architecture Design Process
Business Process Orchestration
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Network Enabled Capability Through Innovative Systems Engineering Service Oriented Integration of Systems for Military Capability Duncan Russell, Nik Looker,
Course Instructor: Aisha Azeem
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
9/2/2015 | 1 Neil B. Harrison Paris Avgeriou University of Groningen Groningen, The Netherlands Incorporating Fault Tolerance Tactics in Software Architecture.
Tsinghua University Service-Oriented Enterprise Coordination Prof. Dr. Yushun Fan Department of Automation, Tsinghua University,
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Managing Service Metadata as Context The 2005 Istanbul International Computational Science & Engineering Conference (ICCSE2005) Mehmet S. Aktas
An Introduction to Software Architecture
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Secure Systems Research Group - FAU Securing Service-Oriented Architectures using a Model-driven Approach Nelly A Delessy.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Distributed Systems: Concepts and Design Chapter 1 Pages
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Service Oriented Architectures Presentation By: Clifton Sweeney November 3 rd 2008.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
Survey of Adding Fault Tolerance to Service Oriented Architecture Ingrid Buckley 03/26/09.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
Chapter 5 McGraw-Hill/Irwin Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved.
Enterprise Integration Patterns CS3300 Fall 2015.
David Smiley SOA Technology Evangelist Software AG Lead, follow or get out of the way Here Comes SOA.
Secure Systems Research Group - FAU 1 WS-Reliability Pattern Ingrid Buckley Dept. of Computer Science and Engineering Florida Atlantic University Boca.
ENABLING ADAPTABILITY IN COMPOSITE SERVICES USING TRANSPARENT SHAPING TECHNIQUES Onyeka Ezenwoye Autonomic Computing Research Laboratory School of Computing.
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
HNDIT Rapid Application Development
RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies Onyeka Ezenwoye S. Masoud Sadjadi Autonomic Computing Research Lab.
Basics of SOA Testing Assurance Services Unit 24 February 2016.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Models of the OASIS SOA Reference Architecture Foundation Ken Laskey Chair, SOA Reference Model Technical Committee 20 March 2013.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Adding Fault Tolerance to Service Oriented Architecture Ingrid Buckley 02/19/09.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Software Design and Architecture
Gestione di Service Level Agreements (SLA) in sistemi Grid
3 Cloud Computing.
Service Oriented Architecture (SOA)
An Introduction to Software Architecture
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Physics data processing with SOA
Presentation transcript:

Incorporating Fault Tolerance and Reliability in Software Architectures Ingrid Buckley 01/15/09

Agenda Introduction Service Oriented Architecture Motivation Problem Related Work & Approaches –RobustBPEL –Using Fault Tolerance measures in software Architecture –Autonomous functionality/ Behavior in Web Services Challenges Conclusion Future Work Recommendations References

Introduction The Software Architecture (SA) of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. A service is a function or method that does some particular action. Web services are software components defined by their interfaces that can be accessed on the Internet and incorporated into applications. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. Some means of connecting services to each other is required. Web services are a realization of a more abstract architectural style called Service- Oriented Architecture (SOA). Service-Oriented Architecture (SOA) has been considered to be the new phase in the evolution of distributed system applications. We define SOA as an architectural style in which a system is composed from a set of loosely coupled services that interact with each other by sending messages.

Service Oriented Architecture In order to interoperate, each service publishes its description, which defines its interface and expresses constraints and policies that must be respected in order to interact with it. Discovery enables agents to retrieve Web service-related resource descriptions. SOA roles

Service Oriented Architecture SOA architectural layers.

Motivation SOA could enable the design and realization of flexible and extensible applications which span across multiple organizations. SOA has promised to provide enterprises with modular, reusable and easily extensible architectures that would enable them to adapt their applications easily so that they remain competitive and compliant. Even though there is a common acceptance of this concept, a real problem hinders the widespread use of SOA: A methodology to design and build secure service-oriented applications is needed.

Problem How to achieve greater usage of the Service Oriented Architecture by making it more dependable. How to achieve reliable and fault tolerant web services The following properties must be added to the SOA : Reliability Fault Tolerance

Using Fault Tolerance tactics in Software Architecture Approach The study was done on the impact of incorporating fault tolerance tactics into system architecture that use architectural patterns. Primarily for Legacy systems and already existing systems but can be used for green systems. Fault Tolerance tactics employed – detection, recovery( preparation, repair, reintroduction and prevention Ten architectural patterns including Client-Server, Broker, Layers, Model View, Pipes and Filters were used. An impact scale was mapped from easy, neutral, trivial and difficult to show which of these patterns are easily changed to include fault tolerance into the system architecture. Useful in giving a cost analysis of the comparative amount of work required to add fault tolerance to existing systems

RobustBPEL Approach This study looked at a language-based approach to address reliability in the business layer. RobustBPEL is a part of the transparent shaping programming model A composite web service defined as a BPEL process is instrumented automatically to monitor its partner web services at runtime. Events such as faults and timeouts are monitored from within the adapted process. This adapted process is augmented with a proxy that dynamically replaces failed services. They assert that this will improve fault tolerance and performance of BPEL processes by transparently adapting their behavior. Transparency is achieved by using a dynamic proxy. No change is made to the BPEL engine.

Autonomous functionality in Web Services Approach This study is primarily geared at high availability of long running web services by extending the Web Services Architecture. The following new components were proposed: Component Health Monitoring (CHM) module represents a new service used to track the health of individual Web Services components. basically a failure detection service. Consistent and Reliable Messaging (CRM) a simple optimized group communication layer, limited to small groups that use virtual synchrony for replication. Data Dissemination (DDS) module provides ‘reliable’ multicast-style data streaming from the Web Services platform to a potentially large number of clients that must link directly to the DDS protocol. the DDS framework standardizes such notions as joining a group, sending a message, and delivering a message, but offers plug-in flexibility with respect to the actual properties of the protocol.

Autonomous functionality in Web Services Approach Monitoring, Distributed Control (MDC) component responds to the need for mechanisms capable of monitoring and managing the entire system, by tracking performance metrics and other state variables and reporting them out [Bir04]. Event Notification (EVN) is last major component proposed and is still at an early design stage. EVN service focuses on urgent, small, one-time events. They have a notion of using some form of distributed query processing, in which the components of a Web Services system are treated as small Databases that can be queried [Bir04]. These five new components along with the use of the WS-Reliability, WS- ReliableMessaging and WS-Transaction standards were proposed.

Challenges Difficult to address reliability and fault tolerance in collaborating webs services in multiple application scenarios. –Multiple services developed and maintained on different environments introduce new levels of complexity. –Unreliable communication channels –Long running composite web service applications –If the architecture of system already exist, thus it is difficult to make substantial changes –Cost of incorporating fault tolerance into a system –Given the architecture used in a system, which patterns are easier to maintain and adjust when necessary. –May Become too complex if one extends the Web Services architecture to include autonomous functionality. –In extending the SOAn by adding new layers and frameworks, may introduce additional vulnerabilities to the architecture. –May affect the robustness of the architecture.

Conclusion In sum a lot of work is being done to achieve reliability and fault tolerance in web services, however analysis of some these approaches show that they can introduce undesirable consequences such as increase in overall cost, complexity and maintenance. The use of patterns can be useful in adding reliability and fault tolerance to the Service Oriented Architecture. Reliability Patterns - WS-ReliableMessaging and WS-reliability Fault Tolerance Patterns – Acknowledgement and Active Replication Look into the feasibility of extending the SOA framework to make it more dependable. It’s not enough to have a dependable SOA but also to design secure and dependable web services applications. –Systematic methodology that can be used to aid designers in building dependable web services.

Future Work Look into designing a methodology to implement fault tolerance, reliability and autonomous functionality into the framework of the Web Services Architecture. “Autonomous” Webs Services supports reliability, as such we can develop patterns that describes the “big picture” general properties which include self- monitoring, self-diagnosis of faults, self-contained, discoverable, self-adapting and self-repair properties that is being sought currently.

Recommendations Suggestions/feedback:

References [Bir04] Ken Birman, Robbert van Renesse and Werner Vogels. Adding High Availability and Autonomic Behavior to Web Services. Proceedings of 26 th International Conference on Software Engineering (ICSE’04) [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 2004.