Similar presentations:
Tracing CORBA applications using interceptors
1. Tracing CORBA applications using interceptors
Zoltán MannSupervisor: 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. Motivation2. 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. Motivation2. 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 applications7/22
8. Aims of tracing (use cases)
1. Checking correct behaviour2. 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 programminglanguages.
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. Motivation2. 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 interceptorinterface
• 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
ClientClient
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 & implementationsFirst 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 proxiesServant managers
Pluggable protocols
ORB event handlers
…
Zoltán Mann: Tracing CORBA applications
15/22
16. Contents
1. Motivation2. Tracing in general
3. Interceptors
4. Tracing using interceptors
5. Conclusion
Zoltán Mann: Tracing CORBA applications
16/22
17. Tracing using interceptors
ClientServer
Tracer
send_request()
receive_request()
send_reply()
receive_reply()
Zoltán Mann: Tracing CORBA applications
17/22
18. The resulting architecture
Automatic instrumentationOne 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. Motivation2. 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 thepreviously 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 MannSupervisor: 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