Tracing CORBA applications using interceptors

Содержание

Слайд 2

Contents 1. Motivation 2. Tracing in general 3. Interceptors 4. Tracing using interceptors 5. Conclusion

Contents

1. Motivation
2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion

Слайд 3

Motivation 1. Technical development: Distributed, heterogeneous environment Object-oriented integration → CORBA

Motivation

1. Technical development:

Distributed, heterogeneous environment

Object-oriented integration → CORBA

Слайд 4

Motivation 2. Applications: e-Business Embedded systems

Motivation

2. Applications:

e-Business

Embedded systems

Слайд 5

Motivation 3. Growing competition: Functional and reliability requirements Time-to-market pressure

Motivation

3. Growing competition:

Functional and reliability requirements

Time-to-market pressure

Слайд 6

Contents 1. Motivation 2. Tracing in general 3. Interceptors 4. Tracing using interceptors 5. Conclusion

Contents

1. Motivation
2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion

Слайд 7

Tracing vs. debugging

Tracing vs. debugging

Слайд 8

Aims of tracing (use cases) 1. Checking correct behaviour 2. Locating

Aims of tracing (use cases)

1. Checking correct behaviour

2. Locating bugs

3. Better

understanding of how the system works

5. Automatic documentation extraction

6. Performance analysis, identifying bottlenecks

4. Monitoring crucial applications

Слайд 9

Current tracing mechanisms Current solutions are bound to particular programming languages.

Current tracing mechanisms

Current solutions are bound to particular programming languages.

Synchronization,

lack of global clock etc.

Heterogeneity

Collecting information from different namespaces

Problems with distributed systems:

Слайд 10

Current tracing mechanisms State of the art in distributed systems: +

Current tracing mechanisms

State of the art in distributed systems:

+ Central tracer

Manual instrumentation

– Extra programming work

– Prone to errors

Слайд 11

Contents 1. Motivation 2. Tracing in general 3. Interceptors 4. Tracing using interceptors 5. Conclusion

Contents

1. Motivation
2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion

Слайд 12

CORBA interceptor An object implementing the interceptor interface without actually modifying

CORBA interceptor

An object implementing the interceptor interface

without actually modifying the

ORB

using callback methods

extending the functionality of the ORB

Слайд 13

Callback methods methodX() methodX() Client Server

Callback methods

methodX()

methodX()

Client Server

Слайд 14

Definitions & implementations First definition: CORBA 2.3 Incompatible implementations September 1998:

Definitions & implementations

First definition: CORBA 2.3
Incompatible implementations
September 1998: OMG RFP
December 1999:

Joint Submission
March 2000: CORBA 3.0 Working Draft
The used implementation: TAO 1.1 and 1.1.9 beta
Слайд 15

Other possible solutions Smart proxies Servant managers Pluggable protocols ORB event handlers …

Other possible solutions

Smart proxies
Servant managers
Pluggable protocols
ORB event handlers

Слайд 16

Contents 1. Motivation 2. Tracing in general 3. Interceptors 4. Tracing using interceptors 5. Conclusion

Contents

1. Motivation
2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion

Слайд 17

Tracing using interceptors send_request() receive_request() send_reply() receive_reply()

Tracing using interceptors

send_request()

receive_request()

send_reply()

receive_reply()

Слайд 18

The resulting architecture Automatic instrumentation Open system Until then: a slight

The resulting architecture

Automatic instrumentation

Open system

Until then: a slight

modification of the ORB

With the standard registration mechanism of interceptors, even that could be avoided

One single line of initialization code per name space

Слайд 19

Overhead In interactive mode: ~ 500 % communication overhead In local mode: ~ 15 %

Overhead

In interactive mode: ~ 500 % communication overhead
In local mode: ~

15 %
Слайд 20

Contents 1. Motivation 2. Tracing in general 3. Interceptors 4. Tracing using interceptors 5. Conclusion

Contents

1. Motivation
2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion

Слайд 21

Results A tracing architecture satisfying the previously defined requirements A tool

Results

A tracing architecture satisfying the previously defined requirements
A tool

for documenting and interactive tracing of CORBA applications
The solution works in a distributed and heterogeneous environment
Prototype of a future product
Слайд 22

Future plans Improving interoperability Extending the architecture for other middleware systems,

Future plans

Improving interoperability
Extending the architecture for other middleware systems, such as

DCOM
Improving user interface, with the inclusion of possible users
Making the tracer persistent