Capa+de+procesamiento+de+datos.


 * 2.3 Capa de procesamiento de datos. **

Toda aplicación tiene código para implementar reglas de negocios, procesosrelacionados a los datos o cálculos y otras actividades relativas a los negocios.Colectivamente este código es considerado para formar la capa de negocios. Otravez, uno de los principios del diseño lógico cliente/servidor, la lógica de negociosdebe mantenerse separada de la capa de presentación y de los servicios de datos.Esto no significa necesariamente que la lógica de negocios está en cualquier parte, por el contrario, esta separación es en un sentido lógico.Hay muchas formas de separar la lógica de negocios. En términos orientados aobjetos, usted debería encapsular la lógica de negocios en un conjunto de objetoso componentes que no contienen presentación o código de servicios de datos.

Teniendo separada lógicamente su lógica de negocios de ambas, la capa depresentación y servicios de datos, usted ganará en flexibilidad en término dedonde usted puede almacenar físicamente la lógica de negocios.Por ejemplo, usted puede seleccionar almacenar la lógica de negocios sobre cadaestación de cliente, u optar por ejecutar la lógica de negocios sobre un servidor deaplicaciones, permitiendo a todos los clientes acceder a un recurso centralizado.Los objetos de negocios son diseñados para reflejar o representar sus negocios.Ellos se convierten en un modelo de sus entidades de negocios e interrelaciones.Esto incluye tanto objetos físicos como conceptos abstractos. Estos son algunosejemplos de objetos del mundo real: un empleado, un cliente, un producto, unaorden de compra.Todos estos son objetos en el mundo físico, y la idea en su totalidad detrás deusar objetos de negocios de software, es crear una representación de los mismosobjetos dentro de su aplicación.Sus aplicaciones pueden hacer que estos objetos interactúen unos con otros comoellos lo hacen en el mundo real.


 * Por ejemplo, un empleado puede crear unaorden de compra a un cliente que contiene una lista de productos. **

Siguiendo esta lógica usted puede crear objetos de negocios de una ordenconteniendo el código necesario para administrarse a si mismo, así usted nuncanecesitará replicar código para crear ordenes, usted solo usará el objeto.


 * Similarmente, un objeto cliente contiene y administra sus propios datos **

Un buen diseño de un objeto cliente contiene todos los datos y rutinas necesitadaspara representarlo a través del negocio completo, y puede ser usado a través detoda la aplicación de ese negocio.No toda la lógica de negocio es la misma. Alguna lógica de negocio es un procesointensivo de datos, requiriendo un eficiente y rápido acceso a la base de datos.Otras no requieren un frecuente acceso a los datos, pero es de uso frecuente por una interfase de usuario robusta para la validación en la entrada de campos uotras interacciones de usuarios.Si nosotros necesitamos una validación al nivel de pantallas y quizás cálculos entiempo real u otra lógica de negocios, pudiéramos considerar este tipo de lógica denegocios para ser parte de la IU, ya que en su mayor parte es usada por lainterfase de usuario.Una alternativa de solución es dividir la capa de lógica de negocios en dos:

• Objetos de negocios de la IU.

• Objetos de negocios de datos.Un ejemplo del objeto Empleado de la capa objetos de negocios de la IU proveerápropiedades y métodos para usar por el diseñador de la interfase de usuario.Ejemplo de propiedades y métodos pudieran ser: IdEmpleado, Nombre, Dirección,etc., y como métodos crear una de compra, etc.El objeto Empleado de la capa de objetos de negocios de datos será responsablede los mecanismos de persistencias, interactuar con la base de datos.Los objetos de esta capa son considerados sin estado, solo poseen métodos.


 * Componentes Distribuidos de Java EJBs. **

Los


 * Enterprise JavaBeans **

(también conocidos por sus siglas


 * EJB **

) son una delas API que forman parte del estándar de construcción de aplicacionesempresariales J2EE de Sun Microsystems (ahora JEE 5.0).Su especificación detalla cómo los servidores de aplicaciones proveen objetosdesde el lado del servidor que son, precisamente, los EJBs:

•

<span style="font-family: Arial,sans-serif; font-size: 12pt;">comunicación remota utilizando CORBA,

<span style="font-family: Arial,sans-serif; font-size: 12pt;">•

<span style="font-family: Arial,sans-serif; font-size: 12pt;">transacciones,

<span style="font-family: Arial,sans-serif; font-size: 12pt;">•

<span style="font-family: Arial,sans-serif; font-size: 12pt;">control de la concurrencia,

<span style="font-family: Arial,sans-serif; font-size: 12pt;">•

<span style="font-family: Arial,sans-serif; font-size: 12pt;">eventos utilizando JMS (Java messaging service),

<span style="font-family: Arial,sans-serif; font-size: 12pt;">•

<span style="font-family: Arial,sans-serif; font-size: 12pt;">servicios de nombres y de directorio,

<span style="font-family: Arial,sans-serif; font-size: 12pt;">•

<span style="font-family: Arial,sans-serif; font-size: 12pt;">seguridad,

<span style="font-family: Arial,sans-serif; font-size: 12pt;">•

<span style="font-family: Arial,sans-serif; font-size: 12pt;">ubicación de componentes en un servidor de aplicaciones.Los EJBs proporcionan un modelo de componentes distribuido estándar del ladodel servidor.El objetivo de los EJBs es dotar al programador de un modelo que le permitaabstraerse de los problemas generales de una aplicación empresarial(concurrencia, transacciones, persistencia, seguridad, etc.) para centrarse en eldesarrollo de la lógica de negocio en sí.El hecho de estar basado en componentes permite que éstos sean flexibles ysobre todo reutilizables.No hay que confundir los Enterprise JavaBeans con los JavaBeans.Los JavaBeans también son un modelo de componentes creado por SunMicrosystems para la construcción de aplicaciones, pero no pueden utilizarse enentornos de objetos distribuidos al no soportar nativamente la invocación remota(RMI).


 * <span style="font-family: Arial,sans-serif; font-size: 12pt;">Componentes distribuidos DCOM.Distributed Component Object Model **

<span style="font-family: Arial,sans-serif; font-size: 12pt;">(


 * <span style="font-family: Arial,sans-serif; font-size: 12pt;">DCOM **

<span style="font-family: Arial,sans-serif; font-size: 12pt;">), en español


 * <span style="font-family: Arial,sans-serif; font-size: 12pt;">Modelo de Objetosde Componentes Distribuidos **

<span style="font-family: Arial,sans-serif; font-size: 12pt;">, es una tecnología propietaria de Microsoft paradesarrollar componentes software distribuidos sobre varios ordenadores y que secomunican entre sí. Extiende el modelo COM de Microsoft y proporciona elsustrato de comunicación entre la infraestructura del servidor de aplicacionesCOM+ de Microsoft. Ha sido abandonada en favor del framework .NETLa adición de la "D" a COM fue debido al uso extensivo de DCE/RPC, o másespecíficamente la versión mejorada de Microsoft, conocida como MSRPC.En términos de las extensiones que añade a COM, DCOM tenía que resolver losproblemas de

<span style="font-family: Arial,sans-serif; font-size: 12pt;">•

<span style="font-family: Arial,sans-serif; font-size: 12pt;">Aplanamiento - Serializar y deserializar los argumentos y valores de retornode las llamadas a los métodos "sobre el cable".

<span style="font-family: Arial,sans-serif; font-size: 12pt;">•

<span style="font-family: Arial,sans-serif; font-size: 12pt;">Recolección de basura distribuida, asegurándose que las referenciasmantenidas por clientes de las interfaces sean liberadas cuando, por ejemplo, el proceso cliente ha caído o la conexión de red se pierde.Uno de los factores clave para resolver estos problemas es el uso de DCE/RPCcomo el mecanismo RPC subyacente bajo DCOM. DCE/RPC define reglasestrictas en cuanto al aplanamiento y a quién es responsable de liberar lamemoria.