Tracing CORBA applications using interceptors
Contents
Motivation
Motivation
Motivation
Contents
Tracing vs. debugging
Aims of tracing (use cases)
Current tracing mechanisms
Current tracing mechanisms
Contents
CORBA interceptor
Callback methods
Definitions & implementations
Other possible solutions
Contents
Tracing using interceptors
The resulting architecture
Overhead
Contents
Results
Future plans
Tracing CORBA applications using interceptors
234.00K
Category: programmingprogramming

Tracing CORBA applications using interceptors

1. Tracing CORBA applications using interceptors

Zoltán Mann
Supervisor: Dr. Károly Kondorosi
Budapest University of Technology
and Economics
Department of Control Engineering and
Information Technology
Zoltán Mann: Tracing CORBA applications
1/22

2. Contents

1. Motivation
2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion
Zoltán Mann: Tracing CORBA applications
2/22

3. Motivation

1. Technical development:
• Distributed, heterogeneous environment
• Object-oriented integration CORBA
Zoltán Mann: Tracing CORBA applications
3/22

4. Motivation

2. Applications:
• e-Business
• Embedded systems
Zoltán Mann: Tracing CORBA applications
4/22

5. Motivation

3. Growing competition:
• Functional and reliability requirements
• Time-to-market pressure
Zoltán Mann: Tracing CORBA applications
5/22

6. Contents

1. Motivation
2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion
Zoltán Mann: Tracing CORBA applications
6/22

7. Tracing vs. debugging

Zoltán Mann: Tracing CORBA applications
7/22

8. Aims of tracing (use cases)

1. Checking correct behaviour
2. Locating bugs
3. Better understanding of how the system works
4. Monitoring crucial applications
5. Automatic documentation extraction
6. Performance analysis, identifying bottlenecks
Zoltán Mann: Tracing CORBA applications
8/22

9. Current tracing mechanisms

Current solutions are bound to particular programming
languages.
Problems with distributed systems:
• Heterogeneity
• Collecting information from different namespaces
• Synchronization, lack of global clock etc.
Zoltán Mann: Tracing CORBA applications
9/22

10. Current tracing mechanisms

State of the art in distributed systems:
+ Central tracer
– Manual instrumentation
– Extra programming work
– Prone to errors
Zoltán Mann: Tracing CORBA applications
10/22

11. Contents

1. Motivation
2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion
Zoltán Mann: Tracing CORBA applications
11/22

12. CORBA interceptor

• An object implementing the interceptor
interface
• extending the functionality of the ORB
• using callback methods
• without actually modifying the ORB
Zoltán Mann: Tracing CORBA applications
12/22

13. Callback methods

Client
Client
Client
Request
Interceptor
Proxy
Server
Skeleton
Server
Request
Interceptor
Servant
methodX()
send_request()
receive_request()
methodX()
send_reply()
receive_reply()
Zoltán Mann: Tracing CORBA applications
13/22

14. Definitions & implementations

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
Zoltán Mann: Tracing CORBA applications
14/22

15. Other possible solutions

Smart proxies
Servant managers
Pluggable protocols
ORB event handlers

Zoltán Mann: Tracing CORBA applications
15/22

16. Contents

1. Motivation
2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion
Zoltán Mann: Tracing CORBA applications
16/22

17. Tracing using interceptors

Client
Server
Tracer
send_request()
receive_request()
send_reply()
receive_reply()
Zoltán Mann: Tracing CORBA applications
17/22

18. The resulting architecture

Automatic instrumentation
One single line of initialization code per name
space
With the standard registration mechanism of
interceptors, even that could be avoided
Until then: a slight modification of the ORB
Open system
Zoltán Mann: Tracing CORBA applications
18/22

19. Overhead

In interactive mode: ~ 500 %
communication overhead
In local mode: ~ 15 %
Zoltán Mann: Tracing CORBA applications
19/22

20. Contents

1. Motivation
2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion
Zoltán Mann: Tracing CORBA applications
20/22

21. 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
Zoltán Mann: Tracing CORBA applications
21/22

22. 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
• …
Zoltán Mann: Tracing CORBA applications
22/22

23. Tracing CORBA applications using interceptors

Zoltán Mann
Supervisor: Dr. Károly Kondorosi
Budapest University of Technology
and Economics
Department of Control Engineering and
Information Technology
Zoltán Mann: Tracing CORBA applications
23/22
English     Русский Rules