Architecture-based Reliability of web services Presented in SRG Group meeting January 24, 2011 Cobra...
-
Upload
emma-beasley -
Category
Documents
-
view
215 -
download
0
Transcript of Architecture-based Reliability of web services Presented in SRG Group meeting January 24, 2011 Cobra...
Architecture-based Reliability of web services
Presented in SRG Group meetingJanuary 24, 2011
Cobra Rahmani
(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
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
Web service reliability modeling using SPN
Service Provider
Web
Ser
ver
Appl
icati
on
Serv
er
Web
Ser
vice
Dat
a Ba
seSOAP/HTTP Request
Shared Resources
SOAP/HTTP Response
Resource release Resource allocation
Middleware
Http thread pool
EJB pool DB connection pool
Research problem
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
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)
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
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
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
Gather reliability data from Petri net
Sensitivity analysis
Evaluation of this model with actual reliability data (tools: Jmeter, …)
Form Petri net model
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