5.4.3 WebSphere Application Server-specific JNI native shared object libraries
WebSphere Application Server-specific libraries can be found under the WebSphere Application Server installation directory and the /bin subdirectory, where the startServer.sh script can be found that starts instances.
The shared objects in this directory reveal how WebSphere Application Server accesses operating system functionality, thus bypassing the JVM. To find out how these are used as JNI objects you can use strings -a to look for the Java_XXXXX entries and determine how each maps to the Java world.
Example 5-42 WebSphere Application Server-specific shared objects listing
# ls -l *.so -rwxr-xr-x 1 root system 6556 06 Oct 2006 libgetClasses.so -rwxr-xr-x 1 root system 48530 06 Oct 2006 libibmaiodbg.so -rwxr-xr-x 1 root system 28317 06 Oct 2006 libibmaio.so -rwxr-xr-x 1 root system 60175 06 Oct 2006 libNativeFile.so -rwxr-xr-x 1 root system 24472 06 Oct 2006 libpmiJvmpiProfiler.so -rwxr-xr-x 1 root system 30381 06 Oct 2006 libpmiJvmtiProfiler.so -rwxr-xr-x 1 root system 11860 06 Oct 2006 libSelector.so -rwxr-xr-x 1 root system 16250 06 Oct 2006 libSystemData.so -rwxr-xr-x 1 root system 21720 06 Oct 2006 libUnixRegistryImpl.so -rwxr-xr-x 1 root system 68252 06 Oct 2006 libWs60ProcessManagement.so
Table 5-5 lists the WebSphere Application Server-specific shared objects and functional descriptions.
Table 5-5
Name Java class Functional description libgetClasses.so com.ibm.ws.classloader.ClassLoaderDump Java Classloader Debug Access libibmaiodbg.so com.ibm.io.async.AsyncLibrary Asynchronous I/O mapping - Debug Version libibmaio.so com.ibm.io.async.AsyncLibrary Asynchronous I/O mapping - Normal Version libNativeFile.so com.ibm.io.file.UnixNativeFile Access to native UNIX file system structures - including /proc file system libpmiJvmpiProfiler.so com.ibm.ws.pmi.server.jvmpi.JvmpiJni Java JVMPI performance statistics-gathering management libpmiJvmtiProfiler.so com.ibm.ws.pmi.server.jvmpi.JvmpiJni Java JVMPI/JMTI performance statistics-gathering management. Maps JVMTI data to JVMPI. libSelector.so com.ibm.ws.orbimpl.transport.JNIReaderThread Object request broker connection management. Important because most J2EE security uses the CORBA CSIv2 functionality and much J2EE internal communication uses CORBA IIOP, so this shows that WebSphere Application Server bypasses JVM sockets functionality for some of the CORBA (and thus, EJB container security) functions and talks directly to AIX networking code. libSystemData.so com.ibm.ws.pmi.server.system.SystemData General system level performance statistics gathering, that is, CPU and memory stats libUnixRegistryImpl.so com.ibm.ws.security.registry.unix.UnixRegistryImpl Password file access and UNIX authentication libWs60ProcessManagement.so com.ibm.ws.process.EnvUtilGlue_native & com.ibm.ws.process.UnixProcessGlue Access the UNIX environment and process management (that is, start and stop). WebSphere Application Server-specific shared objects