Servicio de área de trabajo: consideraciones especiales
Los programadores que utilizan áreas de trabajo deberían tener en cuenta los temas siguientes que podrían provocar problemas potenciales: interoperatividad entre los modelos de programación EJB y CORBA; y el uso de áreas de trabajo con el kit de utilidades Abstract Windowing Toolkit de Java.
Interoperatividad de EJB y CORBA
Aunque el área de trabajo se puede utilizar en los modelos de programación CORBA y EJB, muchos tipos de datos compuestos no se pueden utilizar satisfactoriamente entre dichos límites. Por ejemplo, si se pasa una instancia de SimpleSampleCompany desde un entorno de WebSphere a un entorno de CORBA, la aplicación de CORBA puede recuperar el objeto SimpleSampleCompany encapsulado dentro de un objeto Any de CORBA desde el área de trabajo, pero no se puede extraer el valor de él. Asimismo, una estructura definida de IDL en una aplicación CORBA y establecida en el área de trabajo no puede leerse por parte de la aplicación que utiliza la clase UserWorkArea.

Además, los Any de CORBA que contienen el typecode tk_null o tk_void se pueden establecer en el área de trabajo utilizando la interfaz de CORBA. No obstante, la especificación del área de trabajo no puede permitir que la implementación J2EE (Java™ 2 Platform, Enterprise Edition) devuelva null en una búsqueda que recupere esas propiedades establecidas en CORBA sin que esto implique incorrectamente que no hay valor establecido para la clave correspondiente. Por ejemplo, cuando un usuario intenta recuperar una clave no existente de un área de trabajo, el servicio de área de trabajo devuelve un valor nulo para indicar que la clave especificada no contiene un valor, lo que implica que la propia clave no está en uso o no existe. En el caso de que los Any de CORBA contengan tk_null o tk_void, cuando un usuario solicite la clave asociada con uno de estos valores, el servicio de área de trabajo devuelve un valor nulo, como se esperaba. En tal caso, la clave puede existir realmente y el servicio de área de trabajo ha devuelto simplemente el valor nulo de la clave. Por lo tanto, cuando trabaje con los Any de CORBA, un usuario no debe asumir nada cuando se devuelva un valor nulo de un área de trabajo porque podría significar que no hay ninguna propiedad asociada con la clave determinada o que hay una propiedad asociada con la clave determinada y contiene tk_null o tk_void, por ejemplo, un valor nulo en el entorno J2EE. Si una aplicación J2EE intenta recuperar propiedades establecidas en CORBA que no son serializables, o contienen valores null o referencias vacías de CORBA, se lanza la excepción com.ibm.websphere.workarea.IncompatibleValue.
Uso de áreas de trabajo con el kit de utilidades Abstract Windowing Toolkit (AWT) de Java
Las áreas de trabajo se deben utilizar con cautela en aplicaciones que utilizan AWT (Abstract Windowing Toolkit) de Java. La implementación de AWT es multihebra, y las áreas de trabajo que comenzaron en una hebra no están disponibles en otra. Por ejemplo, si un programa comienza un área de trabajo como respuesta a un suceso de AWT, como pulsar un botón, el área de trabajo no estará disponible en otra parte de la aplicación, una vez que finalice la ejecución del suceso.