architecture-based reliability of web services

14
Architecture-based Reliability of web services Presented in SRG Group meeting January 24, 2011 Cobra Rahmani

Upload: bian

Post on 23-Feb-2016

54 views

Category:

Documents


0 download

DESCRIPTION

Architecture-based Reliability of web services . Presented in SRG Group meeting January 24, 2011 Cobra Rahmani. Definition Architecture-based reliability modeling Research problem Challenges Our Approach. Agenda. (Architecture-based reliability modeling) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Architecture-based Reliability of web services

Architecture-based Reliability of web services

Presented in SRG Group meetingJanuary 24, 2011

Cobra Rahmani

Page 2: Architecture-based Reliability of web services

Agenda

DefinitionArchitecture-based reliability modeling

Research problem

Challenges

Our Approach

Page 3: Architecture-based Reliability of web services

(Architecture-based reliability modeling)

"Architecture-based reliability modeling estimates system reliability taking into account the information about the architecture of the software made out of components" [1]

[1] K. Goseva–Popstojanova, A. P. Mathur, and K. S. Trivedi, “Comparison of Architecture-Based Software Reliability Models”, 12th Int’l

Symp. on Software Reliability Engineering, 2001, pp. 22-31.

Prevalent architecture-based analysis techniques

Path-based techniques State-based techniques

Definition

Page 4: Architecture-based Reliability of web services

The primary objective of architecture-based software reliability analysis:

Component reliabilities Application architecture

to obtain an estimate of the application reliability

based on based on

Definition

Page 5: Architecture-based Reliability of web services

Web service reliability modeling using SPN

Service Provider

Web

Ser

ver

Appl

icati

on

Serv

er

Web

Ser

vice

Data

Bas

eSOAP/HTTP Request

Shared Resources

SOAP/HTTP Response

Resource release Resource allocation

Middleware

Http thread pool

EJB pool DB connection pool

Research problem

Page 6: Architecture-based Reliability of web services

Web services is not standalone software and deployed into the servers

Need to define Components from web services as well as web server and application server

Challenges

Page 7: Architecture-based Reliability of web services

Challenges

Since web services run on middleware, some failures in service-based software are originating from interconnection of layers and not from any specific component or layer.

(e.g. misconfiguration of shared resources)

Page 8: Architecture-based Reliability of web services

Our Approach

Start

Static analysis3. Extract main layers and

shared resources

4. Build interaction between layers

Instrumentation1. Instrument AS

with a profiler

2. Execute WS for each test case

Dynamic Analysis5. Estimate Transition

Probabilities6. Estimate Time

Spent in each layer7. Gather failure

data for each layer

8. Form Petri net model

9. Run Petri net model, gather and analyze results

End

Page 9: Architecture-based Reliability of web services

Instrumentation

Web server

Web service

Application server

Page 10: Architecture-based Reliability of web services

Static Analysis

Major layers and shared resources between layers will be extracted

Layers: Web server, Application server, Web service, DB

Shared Resources: Http/AJP thread pool in web container, EJB instance pool in EJB container, and Data Base connection pool in data access layer

Page 11: Architecture-based Reliability of web services

Estimate Transition Probabilities◦Using JRAT, …◦Limitation: Output can be read from JRAT framework,

manual workEstimate Time Spent in each layer

◦Using JRAT, …

Gather failure data for each layer◦Test cases, Bug repositories

Dynamic Analysis

Page 12: Architecture-based Reliability of web services

Form Petri net model

Page 13: Architecture-based Reliability of web services

Gather reliability data from Petri net

Sensitivity analysis

Evaluation of this model with actual reliability data (tools: Jmeter, …)

Form Petri net model

Page 14: Architecture-based Reliability of web services

Further work

Experimental analysis to find out what are the major failure types of web services (based on some data released on Internet, )

There is a paper for failure types for web applications. Comparison between failure types of web applications and web services would be a good starting point

Different types of modeling: Colored Petri net, Markov Chain, or Path based modeling

Model distributed composite web services