www.exhortador.comoj.com
noticias informacion diario informacion diaria entrevistas problematica cnn


Mas recientes

  • adictos al ruido version uk search results trapezoide
  • musulmanes y cristianos cosas que unen y separan
  • electrodomesticos en colombia
  • la batidora electrodomestico
  • el feminismo desvelado la lucha contra el
  • dialogo cristiano
  • bricolaje caborian comunidad de fotografia foros tutoriales
  • ponencia cronista de la arquitectura de la ciudad obregon sonora
  • enoturismo en burgos visita a bodegas
  • manuales y guias
  • deja cfe a oscuras siete municipios de chiapas cortara luz a otros
  • espai vital setembre 2010
  • correr la vega experiencia vital para los hermanacos
  • ciencia explicada fallos de la evolucion i rubisco y el
  • vacaciones
  • cubamatinal opinion
  • puntos de aprendizaje
  • el jefe designado en antecedentes de la
  • operar a nivel de bits operaciones logicas a nivel de bit
  • clinica oftalmologica baviera
  • ha llegado cartapara mi amigooscar
  • el forex scalping una de las mejores estrategias en forex
  • 2011 marzo 10 gua 30
  • towards a vmm
  • un tal perez
  • encuentro web
  • farabunterra resumen de noticias desde el salvador
  • limpido cuento de diego bermani
  • isaac asimov suenos de robot
  • el blog para el emprendedor
  • lo que una mujer busca en un hombre
  • incorrect s
  • dante alighieri
  • renegados con amlo presidente legitimo de mexico ver tema
  • el consentimiento informado en las relaciones medico
  • 931 amor blogs
  • puede un incapacitado permanente
  • pina records
  • documentos basicos en la empresa privada i 07
  • la dispensacion de la gracia
  • hoy en los cines hollywood campeche
  • aplicacion de patrones j2ee en un caso de estudio programacion
  • de hombres y caballos una antologia del western durante febrero
  • algunas acotaciones
  • giardini del quirinale quirinal garden garden of the quirinal
  • exoesqueletos las armaduras del futuro
  • un exoesqueleto apodado como sarcos puede facilitar trabajos el
  • noticias de la ciencia y la tecnologia
  • el blog de sofa
  • csic instituto de automatica industrial



  • 1 2 3 4 5 6 7 8 9

    beruby.com - Empieza el día ahorrando

    Publicidad 

         
    Ultimos Posts



    Descripcion:
    Al maestro Sr. Patricio Molina, mi profesor de computación de la infancia, que en paz descanse. Su trabajo de hace más de 10 años aproximadamente ha tenido sus primeros frutos. Espero que desde el más allá pueda apreciar el resultado de meses de paciencia con un niño de 10 a 12 años aproximadamente que solo deseaba jugar.

    Para lograr este objetivo, se define que son los patrones J2EE, para posteriormente concentrarnos en la definición de los patrones de estudio. A continuación, se define un caso de estudio en el cual se aplican técnicas de análisis y diseño orientado a objetos, ilustrando la aplicación de los patrones directamente en la fase de diseño. Finalmente, se desarrolla una aplicación web de baja escala, la que implementará una solución a la problemática del caso de estudio en JSP / Struts / JDBC.

    Sun Microsystem provee en su sitio web un conjunto de patrones que pueden ser usados en el contexto del diseño de aplicaciones Java 2 Enterprise Edition, J2EE. Los patrones de diseño J2EE consisten en soluciones recurrentes y documentadas de problemas comunes de diseño de aplicaciones J2EE. Muchas de estas soluciones se basan en los patrones de Gamma et al. , así que se podrán encontrar soluciones J2EE que son aplicadas al diseño de aplicaciones de software en general.

    Motivación: Lista de las razones y motivaciones que afectan al problema y a la solución. Esta lista resalta la razón del porqué se debe elegir utilizar el patrón en discusión en un problema de diseño y de la justificación de su utilización.

    Solución: Describe el acercamiento a la solución brevemente y los elementos de la solución en detalle. Esta sección contiene 2 subsecciones: Estructura: Diagrama de clases que definen los objetos y relaciones entre estos.

    El paso de los atributos de un objeto de dominio (por ejemplo, Consumidores) a un método puede conducir a métodos con muchos argumentos, y cada modificación de un atributo del objeto de dominio afectará la signatura de todos los métodos que usen este objeto, teniendo con ello problemas de acoplamiento y mantenibilidad.

    Si se necesita encapsular atributos de varias tablas en una petición (por ejemplo, un carrito de compra, con el id de un cliente, el id y cantidad de un producto), se crea una clase que combine todos los atributos que son requeridos. Este enfoque se denomina Custom Value Object .

    En el contexto de JDBC, permite representar un conjunto de atributos procedentes de uno o varios objetos de dominio, representados por la signatura método (VO) en ves de método (arg1, arg2, arg3…).

    Ocultar al cliente las interacciones y las interdependencias entre los componentes de negocio, permitiendo de esta forma el aumento de flexibilidad y evitar que los cambios en los objetos de negocio repercutan en errores en la vista.

    Usar un session bean (para el caso de aplicaciones EJB) o una clase java común que encapsule la complejidad de las interacciones entre los objetos de negocio participantes en un flujo de trabajo (workflow). El session façade maneja los objetos de negocios y proporciona un servicio de acceso uniforme a los cliente. Es decir, el cliente (JSP, Swing, etc) no tratará con los EJB ni con la complejidad del acceso remoto, ni con JDBC, sino que trabajará con colecciones y Value's Object. .

    Introduce una capa extra entre el Modelo y el Controlador: Agregando esta capa, se puede modelar los casos de uso de una forma centralizada, logrando también centralizar todo el acoplamiento a esta capa intermedia.

    La poca homogeneidad del almacenamiento persistente produce distintas implementaciones para lograr la accesibilidad (la iimplementación de operaciones sobre un archivo de texto plano es distinta a la realizada sobre un motor de base de datos, aunque se requiera de ambos las mismas operaciones)). Un cambio en el sistema de almacenamiento (cambio de proveedor de bd o de formato) puede conducir a una reimplentación de los componentes de datos y componentes vinculados (los que requieren estos datos).

    Con el API de JDBC se puede acceder de una forma estándar a los servidores de bases de datos relacional. Sin embargo, la implementación del lenguaje SQL puede variar según el propietario, aunque se suponga que es un estándar (por ejemplo, las operaciones para recuperar el autonumérico de un registro ingresado no es igual en Oracle que en MySQL o SQLServer).

    El acceso a datos de sistemas no relacionales incurre en la utilización de un API no propietario, por lo que se aumenta la dependencia entre el código de la aplicación y el código del acceso a datos.

    Los componentes de la aplicación necesitan recuperar y almacenar información desde almacenamientos persistentes y otras fuentes de datos variadas (includos archivos de texto, planillas de cálculo, etc). Además, puede variar los proveedores, por lo que se tiene el problema del SQL propietario.

    Una API de datos que exponga al cliente un conjunto de operaciones comunes lograría reducir el acomplamiento y dependencias de la implementación. Por ejemplo, una tabla de clientes en un modelo relacional para el proveedor Oracle o MySQL tiene las mismas operaciones: agregar, eliminar, modificar, etc. Sin embargo, algunas operaciones pueden tener distintas implementaciones (porque el SQL para esa acción puede ser distinto según el proveedor), pero esto sería independiente para los clientes (por medio de una factory)

    Los componentes necesitan ser transparentes al almacenamiento persistente real o la implementación de la fuente de datos para proporcionar una portabilidad y migración sencillas a diferentes productos, tipos de almacenamiento y tipos de fuentes de datos.

    Utilizar un Data Access Object (DAO) para abstraer y encapsular todos los accesos a la fuente de datos, logrando así desacoplar la lógica de negocios de la lógica de acceso a datos. El DAO maneja la conexión con la fuente de datos para obtener y almacenar datos.

    El desacoplamiento de la lógica de negocios con el acceso a datos permite crear implementaciones plugables del DAO, con solo seleccionar el tipo de fuente de datos durante la instalación/configuración de una aplicación.

    El caso de estudio se enmarca en el grupo de desarrollo Inukisoft. Esta empresa basa su principal actividad en el desarrollo de software, por lo que requiere de una web que permita a los clientes ver la oferta de productos y enviar consultas / sugerencias. Los administradores de la web de Inukisoft deben poder revisar las consultas y actualizar el catálogo de productos, con una cuenta exclusiva para usuarios administradores. Se especifica que se requiere de una única cuenta de administración, por lo que no se deberá registrar una lista de usuarios.

    En base a este diagrama de casos de uso, se pueden identificar algunos objetos de dominio candidatos: Producto de software, Catálogo, Consulta, Cliente y Administrador. Definiendo un diagrama de clases para armar el modelo conceptual, quedaría:

    Ya generalizadas las tablas del modelo relacional en clases, se debe a continuación aplicar el patrón DAO a las tablas Consulta y Producto de Software. Bellas propone un esquema estructural para los DAO's, el cual se reutilizará este diseño para la tabla Consulta:

    Clase Abstracta que implementa SQLConsultaDAO. Los métodos implementados en la clase abstracta son los que son independiente de plataforma (en general son todos, a excepción del método create() ).

    Subclase de AbstractSQLConsultaDAO, la cual es una clase concreta y final que implementa los métodos dependientes de la plataforma. En general, se implementa el método create(), puesto que el campo clave de la tabla es un autonumérico, por lo que la estrategia de recuperación, en este caso, es por DriverJDBC del tipo 3.

    El siguiente paso del diseño es definir donde van a ir implementados los casos de uso. Para ello, se puede aplicar directamente el patrón Session Façade, donde se definirán todas las operaciones de los casos de uso.

    Esta façade será el punto de acceso a todas las funcionalidades del sistema. En una arquitectúra MVC (Modelo Vista Control), los DAO’s y el VO representan la capa Modelo. La Vista puede ser representada por una aplicación Swing, JSP o Applet. La vista se comunica con las clases controlador, las cuales son las que se comunican a su vez con la façade del sistema. De esta forma, se tiene una arquitectura general del software con menos acoplamiento, lo que permite trabajar con el modelo de forma independiente a la vista (potenciando la separación de roles de trabajo, por ejemplo, equipo de desarrollo del Modelo, equipo de desarrollo de la Vista y Control, etc.)

    La siguiente fase del diseño es definir la vista que se favorecerá del Modelo. Según el caso de estudio, se requiere de una WebApp, por lo que las vistas serán implementadas como JSP y las clases controlador serán definidas como Servlets Action (subclase de Action de Struts) que invocan a los datos de la façade (para evitar que la vista se comunique directamente con la façade del sistema). Para definir los elementos de la vista, se requiere del diseño de la navegación, la cual será jerárquica:

    Los servlets action cumplen el rol de controlador de flujo de las acciones, seteando los datos que deben presentarse en las páginas JSP, y también son utilizados para invocar a los métodos de negocios definidos en la façade.

    En la implementación se deben codificar los modelos de clases obtenidos del diseño (en este caso, en un diseño logrado con la aplicación directa de los patrones de diseño). Se debe tener en cuenta que el patrón de diseño representa una solución de diseño, teniendo como objetivo la reutilización. Sin embargo, la codificación del patrón de diseño a lenguaje Java no conduce necesariamente a componentes reutilizables, por lo que se deberán utilizar otras herramientas para hacer reutilizable el código obtenido. En esta investigación se utilizó el Refactoring de Eclipse para reutilizar el código de las clases, utilizando un DAO de otro proyecto anterior, para luego adaptar el nombre, la ruta de los paquetes, y la redefinición del método (en general, cambiar el SQL). Las vinculaciones y correcciones de nombres son realizadas por el IDE. Esta técnica es útil para los DAO’s que tienen pocos campos y que cumplen las mismas funcionalidades básicas (por ejemplo, una tabla pais (id,descripción) y otra tabla categorias (id, categoria) las que son utilizadas para llenar los comboBox de un formulario).

    Definir el mapeo correspondiente a la nueva acción en el archivo struts-config.xml, indicando el nombre de la acción, y la clase Action que ejecutará las acciones correspondientes, el nombre del FormBean que validará los datos, el alcance que tendrán esos datos, de donde será referenciada y quien desplegará los datos para los ActionForward definidos en el servlet. (ver

    Escribir el Action Servlet, el cual ejecutará las acciones del requerimiento (típicamente una invocación a la façade, la asignación de valores al FormBean y la asignación de valores asociados a la Request). (ver

    Escribir el o los archivos JSP que generará la vista para el usuario. Se debe tener especial cuidado con los beans y atributos que se utilizarán en este archivo ya que deben estar definidos en el FormBean e ingresados como atributos al requerimiento que recibe la página JSP.(ver

    Para implementar los componentes de la vista, se utiliza Java Standar Tag Library (JSTL), puesto que consiste en una solución, basada en XML, que sustituye el scriptlet incristado de la páginas JSP por tags XML . Este tipo de solución permite adecuar la vista a los roles que no están familiarisados con el código Java, como por ejemplo, los diseñadores. De esta forma, se mejora la separación de roles de trabajo.

    La implementación de patrones J2EE no es trivial en los desarrollos de aplicaciones empresariales. Los desarrolladores necesitan conocer propuestas metodológicas para una correcta implementación de los patrones. La investigación entrega un aporte metológico, junto con un producto de baja escala con ejemplos de implementación.

    El código fuente del caso de estudio, incluido en la investigación, puede ayudar a comprender la implementación del patrón, pero debe quedar claro que los patrones no son las respuestas únicas a un problema, sino que más bien representan una solución estructural y de comportamiento para un problema de diseño recurrente.

    Barrios Nuñez, Juan Manual. Investigación de la Plataforma J2EE y su Aplicación Práctica. Memoria para optar al título de Ingeniero Civil en Computación,Universidad de Chile, 2003. p.116

    Urzúa Reinoso, José Andrés. Diseño e Implementación de un Nuevo Sistema de Facturación Para Nic Chile. Memoria para optar al título de Ingeniero Civil en Computación,Universidad de Chile, 2003. p.130. Disponible en

    Vilches Vásquez, Juan Antonio. Generación Automática de Encuestas Web Usando Patrones de Diseño. Memoria para optar al título de Ingeniero Civil en Computación, Universidad de Chile, 2002. p.78






    http://www.desscant.comule.com/783451/presentacion-de-originales.html

    solis.site40.net
     

    www.exhortador.comoj.com Todos los derechos reservados