Son aconsejables las siguientes prácticas para desarrollar servicios e interfaces
relacionadas con EGL:
- Utilizar interfaces como herramienta de diseño
- Puede crear una o varias interfaces que describan las funciones que desee codificar
en un servicio EGL. Una vez terminadas las interfaces, usted u otros usuarios pueden
codificar el servicio, que se dice que implementa la interfaz.
El significado
principal es que el servicio contiene todas las funciones descritas en las interfaces. Las interfaces proporcionan un tipo de contrato que el servicio debe satisfacer.
Esta
utilización de las interfaces ofrece las siguientes ventajas:
- Ayuda a los usuarios de la organización a pensar claramente acerca de las operaciones
que son necesarias antes de iniciar el desarrollo del servicio
- Permite a los desarrolladores finalizar las aplicaciones cliente mientras el código
del servicio se está desarrollando, ya que el código cliente puede interactuar con las
variables basadas en componentes de interfaz en lugar de en componentes de servicio
- Evitar declaraciones innecesarias que hagan referencia a un componente de servicio
o de interfaz
- A menos que tenga una razón para hacer lo contrario, utilice bibliotecas de enlaces
de servicios para definir cada variable que haga referencia a un componente de
servicio o de interfaz.
Generalmente no es necesario declarar ese tipo de variables
en ninguna otra ubicación ni pasarlas o devolverlas desde una función o declarar más de
una para hacer referencia a un servicio determinado.
Cada una de las variables de una
biblioteca EGL es global con respecto a la unidad de ejecución.
- Crear varias bibliotecas de enlaces de servicio, una para cada colección diferente
de componentes de servicio e interfaz
- Organice las variables enlazadas en colecciones lógicas pequeñas, para evitar la
necesidad de regenerar una biblioteca al añadir componentes nuevos.
- Asignar un valor al campo debugImpl de las propiedades @EGLBinding y @WebBinding
(utilizadas en las bibliotecas de enlaces de servicio)
- El campo de propiedad debugImpl identifica un componente de servicio al que se
accede durante la depuración, aunque el servicio sea sólo un apéndice de desarrollo.
Si no se especifica ningún componente, la sesión de depuración invoca un servicio
desplegado sin recorrer ese servicio, pero en ese caso la ausencia de un servicio de
tiempo de ejecución lanza una excepción de tipo ServiceInvocationException.
- Utilizar el modificador IN para ahorrar tiempo y ancho de banda cuando no es
necesario devolver un valor para un parámetro de función determinado
- El uso del modificador IN reduce el tiempo necesario para el proceso de tiempo de
ejecución y la cantidad de datos que deben transmitirse desde el servicio al cliente.
- Evitar declarar variables globales en un componente de servicio
- Si declara todas las variables de un servicio como parámetros de función u otras
variables locales, el comportamiento del servicio es coherente independientemente de
dónde se despliegue el servicio.