ORBit Beginners Documentation V1.6

Ewan Birney

Michael Lausch

Todd Lewis

Stéphane Genaud

Frank Rehberger


Table of Contents
1. Introduction
1.1. About this documentation
1.1.1. Change Notes between 1.5 and 1.4
1.1.2. Change Notes between 1.4 and 1.3
1.1.3. Change Notes between 1.3 and 1.2
1.1.4. Change Notes between 1.2 and 1.1
2. Frequently Asked Questions
2.1. General Questions
2.1.1. What is CORBA?
2.1.2. What is ORBit?
2.1.3. Why aren't you using ILU/MICO/TAO?
2.1.4. Is ORBit stable?
2.1.5. Does ORBit work with other ORBs?
2.1.6. What license does ORBit get distributed with and how does it affect me?
2.1.7. Why doesn't ORBit compile with my cc compiler ?
2.1.8. What is a language binding?
2.1.9. What language bindings does ORBit provide?
2.1.10. Does ORBit have DII and DSI?
2.1.11. Does ORBit provide a naming service?
2.1.12. Can you encrypt a CORBA connection?
2.2. Common Coding Problems
2.2.1. LD_LIBRARY_PATH not defined
2.2.2. IOR strings with newlines
2.2.3. Activating POAManager before servants can handle requests
3. Installing ORBit
3.1. Installing from RPMS
3.2. Installing from Source
3.3. Getting the examples to run
3.4. Known platforms where ORBit works
4. CORBA concepts
4.1. Quick tour of a working client&server
4.1.1. Definition of the object - the IDL
4.1.2. Identifying the Object
4.1.3. Calling the method
4.1.4. Moving the call across the network
4.1.5. Returning the answer
4.1.6. Continue
5. First CORBA Programs
5.1. Examples introduction
5.2. Files at a glance
5.3. Echo client & server
5.3.1. Echo client
5.3.2. Echo Server
5.3.3. Compiling server & client
5.4. Calculator client & server
5.4.1. Calculator client
5.4.2. Calculator server
5.4.3. Compiling server & client
5.5. Account client & server
5.5.1. Account client
5.5.2. Account server
5.5.3. Compiling server & client
5.6. Byte-Sequence client & server
5.6.1. Byte-Sequence client
5.6.2. Byte-Sequence server
5.6.3. Compiling client & server
5.7. BadCall client & server
5.7.1. BadCall client
5.7.2. BadCall server
5.7.3. Compiling client & server
5.8. NameResolve client & server
5.8.1. Example-Toolkit Helpers
5.8.2. NameResolve client
5.8.3. NameResolve server
5.8.4. Compiling client & server
5.9. Factory client & server
5.9.1. Factory client
5.9.2. Factory server
5.9.3. Compiling client & server
5.10. Threaded calculator server
5.10.1. multi-threaded calculator server
5.10.2. Compiling client & server
6. How to do garbage collection under CORBA
6.1. The question
6.2. Difference between the client and the server
6.3. Server-side deactivation
6.4. Why is this an issue?
List of Examples
5-1. Echo IDL file
5-2. echo-client.c
5-3. echo-server.c source code
5-4. echo-skelimpl.c
5-5. Makefile
5-6. Invoking make
5-7. Terminal 1 - Starting Echo Server
5-8. Terminal 2 - Starting Echo Client
5-9. calculator.idl
5-10. calculator-client.c
5-11. calculator-skelimpl.c
5-12. calculator-skelimpl.c fragment
5-13. calculator-server.c
5-14. makefile
5-15. account.idl
5-16. account-client.c
5-17. account-skelimpl.c fragment - object declaration
5-18. account-skelimpl.c fragment - method definition
5-19. account-skelimpl.c fragment - constructor
5-20. account-server.c
5-21. Makefile for the Account example
5-22. byteseq.idl
5-23. byteseq-client.c
5-24. byteseq-server.c
5-25. byteseq-skelimpl.c
5-26. Makefile
5-27. badcall.idl
5-28. badcall-client.c
5-29. badcall-server.c
5-30. badcall-skelimpl.c
5-31. Makefile
5-32. name-resolve.idl
5-33. example-toolkit.c(etk_get_name_service)
5-34. example-toolkit.c(etk_name_service_bind)
5-35. example-toolkit.c(etk_name_service_resolve)
5-36. name-resolve-client.c
5-37. name-resolve-server.c
5-38. name-resolve-skelimpl.c
5-39. Makefile
5-40. factory.idl
5-41. factory-client.c
5-42. factory-server.c
5-43. factory-skelimpl.c
5-44. Makefile
5-45.
5-46. mt-calculator-server.c
5-47. calculator-skelimpl.c
5-48. Makefile