diff options
Diffstat (limited to 'TAO/docs/libraries.html')
-rw-r--r-- | TAO/docs/libraries.html | 321 |
1 files changed, 321 insertions, 0 deletions
diff --git a/TAO/docs/libraries.html b/TAO/docs/libraries.html new file mode 100644 index 00000000000..7c03e93e967 --- /dev/null +++ b/TAO/docs/libraries.html @@ -0,0 +1,321 @@ +<!-- $Id$ --> +<HTML> + +<HEAD> + <TITLE>TAO libraries.</TITLE> +</HEAD> + +<BODY text = "#000000" +link="#000fff" +vlink="#ff0f0f" +bgcolor="#ffffff"> + +<HR><P><H3 ALIGN=CENTER>Libraries in TAO</H3></P> + +<H3>Overview</H3> + +As part of the <a href="minimumTAO.html">subsetting effort</a> to +reduce footprint of applications using TAO, we have created different +libraries that house various CORBA features, such the POA and +DynamicAny. This design helps minimize application footprint, only +linking in features that are required. However, applications must +link in the libraries they need. It is possible to load most of these +libraries dynamically using the ACE Service Configurator framework, +though this will not work for statically linked executables. Linking +the necessary libraries with your application is therefore the most +straightforward way to get the features you need. + +<H3> List of Libraries </H3> + +Here we outline the list of libraries in TAO core with the list of <a +href="../../MPC/docs/README"> MPC </a> projects that can be used by the +application to get all the required libraries linked into the +application. The library names in table below are the ones created on +UNIX based systems. Windows systems have a slightly different naming +convention, e.g., the PortableServer library is named as +PortableServerd.lib and PortableServerd.dll. But for the naming +conventions used on different platforms, the contents of the libraries +and the dependencies outlined below are the same. <P> + +<table width="75%" border=1> + <caption><b>List of CORE Libraries in TAO<P></B></caption> + <thead> + <tr valign=top > + <th>Name of the Library + <th>Feature + <th> MPC project to use + </tr> + </thead> + <tbody> + <tr align=left> + <th>libTAO.so</th> + <td> All the core features for a client and server side ORB. The + list includes support for IIOP, invocation framework, + wait strategies for transports, leader-follower framework, + thread pools and thread-per-connection framework, + portable interceptors, CORBA Any's, CORBA Policy framework, + CDR framework etc. </td> + <td>taoclient.mpb for simple clients or tao_lib_with_idl.mpb to + create an application library.</td> + </tr> + <tr align=left> + <th>libTAO_AnyTypeCode.so</th> + <td>Library with all the TypeCode and Any support. If you use + the anytypecode base project the IDL compiler flags -Sa and + -St are removed from the default idl flags. + <td>anytypecode.mpb</td> + </tr> + <tr align=left> + <th>libTAO_BiDirGIOP.so</th> + <td>Support for BiDirectional GIOP as outlined by the CORBA + spec. Please see $TAO_ROOT/tests/BiDirectional for a simple + test case of this feature. Applications need to <code> + #include "tao/BiDir_GIOP/BiDirGIOP.h" </code> within their + code to get this feature. </td> + <td>bidir_giop.mpb</td> + </tr> + <tr align=left> + <th>libTAO_CodecFactory.so</th> + <td>Support for CodecFactory as outlined by the CORBA + spec. Please see $TAO_ROOT/tests/Codec for a simple + test case of this feature. Applications need to <code> + #include "tao/CodecFactory/CodecFactory.h" </code> within their + code to get this feature. </td> + <td>codecfactory.mpb</td> + </tr> + <tr align=left> + <th>libTAO_Domain.so</th> + <td>Support for server side skeletons for the DomainManager + interface. </td> + <td>No base projects available</td> + </tr> + <tr align=left> + <th>libTAO_DynamicAny.so</th> + <td>Support for DynamicAny. Please see + $TAO_ROOT/tests/DynAny_Test for an example of how to access + and use this library. Applications have to <code> #include + "tao/DynamicAny/DynamicAny.h" </code> to get the right + symbols.</td> + <td>dynamicany.mpb</td> + </tr> + <tr align=left> + <th>libTAO_EndpointPolicy.so</th> + <td>Support for the TAO-specific Endpoint Policy. This is used + to set up constraints on endpoints placed in IORs. The endpoint + policy is applied to a POAManager via the POAManagerFactory and + affects all POAs associated with that manager. Examples of use + are in $TAO_ROOT/tests/POA/EndpointPolicy. Applications have to + <code> #include "tao/EndpointPolicy/EndpointPolicy.h" </code> to + get the right symbols.</td> + <td>endpointpolicy.mpb</td> + </tr> + <tr align=left> + <th>libTAO_DynamicInterface.so</th> + <td>Support for DII and DSI invocations. Applications have to + <code> #include "tao/DynamicInterface/Dynamic_Adapter_Impl.h" + </code> to get the right symbols.</td> + <td>dynamicinterface.mpb</td> + </tr> + <tr align=left> + <th>libTAO_IFR_Client.so</th> + <td>Support for client/stub side interfaces for + InterfaceRepository applications. Applications have to <code> + #include "tao/IFR_Client/IFR_Client_Adapter_Impl.h" </code> to + get the right symbols.</td> + <td>ifr_client.mpb</td> + </tr> + <tr align=left> + <th>libTAO_ImR_Client.so</th> + <td>Support for applications that want to register itself to + the Implementation Repository. Applications have to <code> + #include "tao/ImR_Client/ImR_Client.h" </code> to + get the right symbols.</td> + <td>imr_client.mpb</td> + </tr> + <tr align=left> + <th>libTAO_IORInterceptor.so</th> + <td>Support for IORInterceptor. The portable server library + depends on the IORInterceptor library. Applications have to + <code> #include + "tao/IORInterceptor/IORInterceptor_Adapter_Factory_Impl.h" + </code> to get the right symbols.</td> + <td>iorinterceptor.mpb</td> + </tr> + <tr align=left> + <th>libTAO_IORManipulation.so</th> + <td>Support for IOR manipulation. The interfaces offered + provide operations to create and multi-profile IOR's and + other related utilities. Applications have to <code> #include + "tao/IORManipulation/IORManip_Loader.h" </code> to get the + right symbols.</td> + <td>iormanip.mpb</td> + </tr> + <tr align=left> + <th>libTAO_IORTable.so</th> + <td> Any TAO server can be configured as an corbaloc + agent. Such agents forward requests generated using a simple + ObjectKey in a corbaloc specification to the real location of + the object. In TAO we implement this feature by dynamically + (or statically) adding a new Object Adapter to the ORB, that + handles any sort of request. This feature is placed in this + library. Applications have to <code> #include + "tao/IORTable/IORTable.h" </code> to get the right + symbols.</td> + <td>iortable.mpb</td> + </tr> + <tr align=left> + <th>libTAO_Messaging.so</th> + <td>Support for AMI and CORBA policies such as + RoundtripTimeout and ConnectionTimeout are placed in this + library. Applications have to <code> #include + "tao/Messaging/Messaging.h" </code> to get the + rightsymbols.</td> + <td>messaging.mpb</td> + </tr> + <tr align=left> + <th>libTAO_ObjRefTemplate.so</th> + <td>Support for Object Reference Template + specification. The portable server library depends on this + library. </td> + <td>objreftemplate.mpb</td> + </tr> + <tr align=left> + <th>libTAO_PI.so</th> + <td>Support for Portable Interceptors. This library is automagically + loaded by + the ORB when the application uses the PolicyFactory or ORBInitializer + . Just linking this library should be sufficient to + get all the features that are required to write applications + using portable interceptors. </td> + <td>pi.mpb</td> + </tr> + <tr align=left> + <th>libTAO_PortableServer.so</th> + <td>Support for POA. This library is automagically loaded by + the ORB when the application calls resolve_initial_references + ("RootPOA"); Just linking this library should be sufficient to + get all the features that are required to write powerful + servers. </td> + <td>taoserver.mpb</td> + </tr> + <tr align=left> + <th>libTAO_RTCORBA.so</th> + <td>Support for RTCORBA client side features. Applications are + required to <code> #include "tao/RTCORBA/RTCORBA.h" </code> to + get the required symbols for linking. Support in this library + is complaint with RTCORBA 1.0 spec.</td> + <td>rt_client.mpb</td> + </tr> + <tr align=left> + <th>libTAO_RTPortableServer.so</th> + <td>Support for RTCORBA server side features. Applications are + required to <code> #include + "tao/RTPortableServer/RTPortableServer.h" </code> to + get the required symbols for linking. Support in this library + is complaint with RTCORBA 1.0 spec.</td> + <td>rt_server.mpb</td> + </tr> + <tr align=left> + <th>libTAO_RTScheduling.so</th> + <td>Support for RTCORBA 2.0 features. Applications are + required to <code> #include + "tao/RTScheduling/RTScheulding.h" </code> to + get the required symbols for linking. Support in this library + is complaint with RTCORBA 2.0 spec.</td> + <td>rtscheduling.mpb</td> + </tr> + <tr align=left> + <th>libTAO_SmartProxies.so</th> + <td>Support for <a href + ="Smart_Proxies.html">Smartproxies</a>.</td> + <td>smart_proxies.mpb</td> + </tr> + <tr align=left> + <th>libTAO_Strategies.so</th> + <td>Support for advanced resource options for the ORB that have + been strategized into this library. Advanced resource + categories include new transport protocols, additional + reactors, connection purging strategies etc. Applications + should <code> #include "tao/Strategies/advanced_resources.h" + </code>.</td> + <td>strategies.mpb</td> + </tr> + <tr align=left> + <th>libTAO_TypeCodeFactory.so</th> + <td>Support for TypeCodeFactory interface.</td> + <td>typecodefactory.mpb</td> + </tr> + <tr align=left> + <th>libTAO_Utils.so</th> + <td>Helper methods for that are useful for writing portable, + exception safe application code.</td> + <td>utils.mpb</td> + </tr> + <tr align=left> + <th>libTAO_Valuetype.so</th> + <td>Support for object by value (OBV). Portable server and messaging depends on + this library </td> + <td>valuetype.mpb</td> + </tr> + <tr align=left> + <th>libTAO_CSD_Framework.so</th> + <td>Support framework for Custom Servant Dispatching (CSD) feature. The CSD_ThreadPool + depends on this library</td> + <td>csd_framework.mpb</td> + </tr> + <tr align=left> + <th>libTAO_CSD_ThreadPool.so</th> + <td>Support for ThreadPool Custom Servant Dispatching (CSD) Strategy. This library can + be loaded statically or dynamically. Applications are required to + <code> #include "tao/CSD_ThreadPool/CSD_ThreadPool.h" + </code> for static loading and provide service configuration file for dynamic loading. + </td> + <td>csd_threadpool.mpb</td> + </tr> + <tr align=left> + <th>libTAO_TC.so</th> + <td>Support for TAO::Transport::Current - a generic fremework for aplications that + need access to statistical information about the currently used Transport. See <a + href="transport_current/index.html"> Transport::Current</a>. + This library can be loaded statically or dynamically. Applications are required to + <code> #include "tao/TransportCurrent/Transport_Current.h" + </code> for static loading. + </td> + <td>tc.mpb</td> + </tr> + <tr align=left> + <th>libTAO_TC_IIOP.so</th> + <td>Support for TAO::Transport::IIOP::Current - an IIOP-specific plug-in for + Transport::Current. See <a href="transport_current/index.html"> Transport::Current</a>. + This library can be loaded statically or dynamically. + Applications are required to <code> #include "tao/TransportCurrent/IIOP_Transport_Current.h" + </code> for static loading. Depends on libTAO_TC.so. + </td> + <td>tc_iiop.mpb</td> + </tr> + <tr align=left> + <th>libTAO_Compression.so</th> + <td>Support for Compression. This library can + be loaded statically or dynamically. Applications are required to + <code> #include "tao/Compression/Compression.h" + </code> for static loading. + </td> + <td>compression.mpb</td> + </tr> + <tr align=left> + <th>libTAO_ZlibCompressor.so</th> + <td>Support for Zlib Compression. This library can + be loaded statically or dynamically. Applications are required to + <code> #include "tao/Compression/zlib/ZlibCompressor.h" + </code> for static loading. + </td> + <td>zlibcompressor.mpb</td> + </tr> +</tr> +</table> + +<hr> +<p>Back to the TAO <a href="index.html">TAO documentation page</a>.<!--#include virtual="/~schmidt/cgi-sig.html" --> +</body> + +</HTML> |