En el mundo existen una serie de Generadores de códigos innumerables, pero a pesar de sus facilidades, también tienen sus desventajas, como:
Una aplicación se compone de varios componentes, así como el modo en que cada uno de los cuales realiza una tarea diferente. Todas las soluciones de software contienen tipos de componentes similares, independientemente de las necesidades que deban cubrir. Por ejemplo, la mayoría de las aplicaciones contienen componentes que tienen acceso a datos, encapsulan reglas empresariales y controlan la interacción con el usuario, entre otros. La identificación de los tipos de componentes que se encuentran normalmente en las soluciones de software facilitará la elaboración de un plano técnico para el diseño de las aplicaciones, así como para una rápida creación o utilización de herramientas de generación de código.
Tipos de componentes:
El análisis de la mayoría de las soluciones basadas en modelos de componentes por capas muestra que existen varios tipos de componentes habituales. En la figura 1.1 se muestra una ilustración completa en la que se indican estos tipos de componentes. Aunque la lista que se muestra en la figura no es completa, representa los tipos de componentes de software más comunes encontrados en la mayoría de las soluciones con una arquitectura en capas, orientada a objetos y servicios.

Figura 1.1. Arquitectura en capas. Tipos de componentes utilizados.
Componentes de interfaz de usuario (IU). La mayor parte de las soluciones necesitan ofrecer al usuario un modo de interactuar con la aplicación. Las interfaces de usuario se implementan utilizando formularios, controles u otro tipo de tecnología que permita procesar y dar formato a los datos de los usuarios, así como adquirir y validar los datos entrantes procedentes de éstos. En un gran número de casos, la interacción del usuario con el sistema se realiza de acuerdo a un proceso predecible.
Componentes de lógica de negocio o empresariales. Independientemente de si el proceso consta de un único paso o de un flujo de trabajo organizado, la aplicación requerirá probablemente el uso de componentes que implementen reglas empresariales y realicen tareas empresariales. Por ejemplo, en la aplicación comercial, deberá implementar una funcionalidad que calcule el precio total del pedido y agregue el costo adicional correspondiente por el envío del mismo. Los componentes empresariales implementan la lógica empresarial de la aplicación.
Componentes de acceso a datos. La mayoría de las aplicaciones y servicios necesitan obtener acceso a un almacén de datos en un momento determinado del proceso empresarial. Por ejemplo, la aplicación empresarial necesita recuperar los datos de los productos de una base de datos para mostrar al usuario los detalles de los mismos, así como insertar dicha información en la base de datos cuando un usuario realiza un pedido. Por tanto, es razonable abstraer la lógica necesaria para obtener acceso a los datos en una capa independiente de componentes lógicos de acceso a datos, ya que de este modo se centraliza la funcionalidad de acceso a datos y se facilita la configuración y el mantenimiento de la misma.
4. Servicios. Cuando un componente empresarial requiere el uso de la funcionalidad proporcionada por un servicio externo, tal vez sea necesario hacer uso de código para administrar la semántica de la comunicación con dicho servicio. Los agentes de servicios permiten aislar las idiosincrasias de las llamadas a varios servicios desde la aplicación y pueden proporcionar servicios adicionales, como la asignación básica del formato de los datos que expone el servicio al formato que requiere la aplicación.
5. Componentes de seguridad: La directiva de seguridad se ocupa de la autenticación, autorización, comunicación segura, auditoria y administración de perfiles.
Cada componente tiene sus especificidades las cuales cumple funcionalidades de acuerdo al rol que tienen en la aplicación. A continuación se muestra una descripción un poco mas detallada por cada componente, para una mucha mejor comprensión de la arquitectura.
Los componentes de la interfaz de usuario deben mostrar datos al usuario, obtener y validar los datos procedentes del mismo e interpretar las acciones de éste que indican que desea realizar una operación con los datos. Asimismo, la interfaz debe filtrar las acciones disponibles con el fin de permitir al usuario realizar sólo aquellas operaciones que le sean necesarias en un momento determinado. Los componentes de interfaz de usuario:
Al aceptar la entrada del usuario, los componentes de la interfaz:
Los componentes empresariales pueden ser la raíz de las transacciones atómicas. Éstos implementan las reglas empresariales en diversos patrones y aceptan y devuelven estructuras de datos simples o complejas. Los componentes empresariales deben exponer funcionalidad de modo que sea independiente de los almacenes de datos y los servicios necesarios para realizar la tarea, y se deben componer de forma coherente desde el punto de vista del significado y transaccional. Si el proceso empresarial invocará a otros procesos empresariales en el contexto de una transacción atómica, todos los procesos invocados deben garantizar que sus operaciones participan en la transacción existente de modo que las operaciones se deshagan en caso de que la lógica empresarial que realiza las llamadas se interrumpa. Una técnica muy segura es volver a intentar una operación atómica si ésta da error, sin miedo a que los datos pierdan su coherencia. Considere el límite de una transacción determinada como un límite de reintento. En la siguiente lista se resumen las recomendaciones relativas al diseño de componentes empresariales:
Los componentes empresariales son llamados por los siguientes clientes:
En la figura1.2 se muestra un componente empresarial típico que interactúa con los componentes lógicos de acceso a datos, las interfaces y los agentes de servicios y otros componentes empresariales.

Figura 1.2. Componentes empresariales
Obsérvese los siguientes puntos:
Nota: Las flechas que aparecen en la figura representan el flujo de control, no el flujo de datos.
Casi todas las aplicaciones y servicios necesitan almacenar y obtener acceso a un determinado tipo de datos.
Al trabajar con datos debe determinar:
La aplicación o servicio puede disponer de uno o varios orígenes de datos, los cuales pueden ser de tipos diferentes. La lógica utilizada para obtener acceso a los datos de un origen de datos se encapsulará en componentes lógicos de acceso a datos que proporcionan los métodos necesarios para la consulta y actualización de datos. Los datos con los que la lógica de la aplicación debe trabajar están relacionados con entidades del mundo empresarial que forman parte de la empresa. En determinados escenarios, puede disponer de componentes personalizados que representan estas entidades, mientras que en otros puede decidir trabajar con datos utilizando directamente conjuntos de datos o documentos XML. La mayoría de las aplicaciones utilizan una base de datos relacional como almacén principal de los datos de la aplicación.
Diseño de la directiva de seguridad
La directiva de seguridad se ocupa de la autenticación, autorización, comunicación segura, auditoría y administración de perfiles, tal como muestra la figura 1.3.

Figura 1.3. Aspectos de la directiva de seguridad
Existen ciertos principios generales sobre seguridad que se deben tener en cuenta a la hora de desarrollar una directiva de seguridad. Hay que tener en cuenta las siguientes directrices:
Valorados los impactos causados por los generadores de código, se puede afirmar que su uso es de gran ayuda en la confección de softwares, mejorándose grandemente la calidad de la producción, el establecimiento de estándares de código y el tiempo de desarrollo de las aplicaciones.
Además, con un buen uso una arquitectura en componentes se puede llegar a obtener un máximo rendimiento del generador de código que se utilice, así como una buena practica de lo métodos de construcción de software utilizando capas o componentes.
Referente al Autor:
Leevan Abon Cepeda
Año de nacimiento: 1983.
Titulo: Ingeniero en Ciencias Informáticas.
Datos Adicionales: Trabajador de la Universidad de Ciencias Informáticas. Graduado con Titulo de Oro de Ingeniero en Ciencias Informáticas en dicha universidad.
Referente al Trabajo:
Ciudad: Ciudad de la Habana.
País: Cuba.
Fecha de Realización: febrero del 2008.
Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
Trabajos relacionados
Ver mas trabajos de Programacion |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.