10. Taller de Formación Java empresarial. Ing. Laura González Ing. Guillermo Roldós Ing. Juan Herman

Tamaño: px
Comenzar la demostración a partir de la página:

Download "10. Taller de Formación Java empresarial. Ing. Laura González Ing. Guillermo Roldós Ing. Juan Herman"

Transcripción

1 10. Taller de Formación Java empresarial Ing. Laura González Ing. Guillermo Roldós Ing. Juan Herman

2

3 Instalación de Entorno de Trabajo Qué herramientas tenemos que instalar? Las herramientas que vamos a usar para el desarrollo de aplicaciones bajo la plataforma JEE durante el curso son las siguientes: Java Developmet Kit (JDK): Conjunto de herramientas para el desarrollo de aplicaciones JAVA. PostgreSQL: Sistema de Gestión de Base de Datos (del inglés DBMS - DataBase Managment System). JBoss Application Server (JBoss AS): Servidor de Aplicaciones JEE. Eclipse: Entorno de Desarrollo Integrado (del ingés IDE Integrated Development Environment). JBoss Tools: jbosstools ga.aggregate-update _ h329.zip/download?use_ mirror=ufpr Qué pasos debemos seguir? 1. Para empezar, debemos copiar la carpeta Herramientas, que se encuentra en el DVD entregado para el desarrollo del curso, en algún directorio local al cual llamaremos en adelante %TF_JEE%. 2. Instalamos la JDK: %TF_JEE%\Herramientas\1.Java\jdk-6u25-windows-i586.exe siguiendo los pasos del wizard de instalación. 631

4 3. Instalamos PostgreSQL: %TF_JEE%\Herramientas\2.PostgreSQL\postgresql windows.exe siguiendo los pasos del wizard de instalación. 4. Instalación de JBoss AS: Lo único que debemos hacer es descomprimir el archivo %TF_JEE%\Herramientas\3.JBoss\jboss-as-distribution Final.zip. 5. Instalación de Eclipse: Al igual que con JBoss solo debemos descomprimir el archivo entregado %TF_JEE%\Herramientas\4.Eclipse\eclipse.zip. La versión de eclipse entregada corresponde a la versión Helios-SR2 con los siguiente plugins de JBossTools ya instalados: a. Hibernate Tools b. JBoss Tools RichFaces c. JBoss WebServices Tools d. JBossAS Tools Opcionalmente, se entrega el instalador de Firefox 5, ya que es perfectamente compatible con las herramientas que utilizaremos para el desarrollo WEB. El instalador se encuentra en %TF_JEE%\Herramientas\5.Extras\Firefox Setup exe Cómo integramos Eclipse con JBoss? El plugin JBossAS Tools (ya instalado en la versión entregada) nos brinda la posibilidad de manejar la configuración del JBoss desde el propio IDE, además de la posibilidad de iniciarlo (en modo normal o debug), reiniciarlo, detenerlo y republicar los proyectos sin necesidad de copiar carpetas, archivos o utilizar comandos por consola. Veamos paso a paso como realizar dicha integración: 1. Sobre la vista Servers damos click derecho -> New - > Server. 632

5 2. Elegimos JBoss AS Seleccionamos como Home Directory la ruta donde descomprimimos JBoss \ jboss Final. Configuración default y presionamos Finish. 4. El paso 3 agregará un nuevo ítem en la vista de Servers, si damos doble click sobre él podemos ver la siguiente pantalla de configuración. 633

6 Vemos, además, que se activan los siguientes botones: 634

7 1 Introducción Taller de Formación Java EE Tema: Introducción a componentes de negocio (EJB) 1 era Parte Cuando se va a desarrollar un Sistema de Información de cierto tamaño (o que se espera que pueda crecer en el futuro), es necesario tener en cuenta varios aspectos para su diseño como, por ejemplo, el manejo de la seguridad, acceso a Bases de Datos y gestión de transacciones, escalabilidad, posibilidad de distribuir la instalación en múltiples servidores, etc. Las especificaciones JEE [1] resuelven esta problemática a través de la creación de componentes de negocio llamados EJB, que simplifican muchísimo el desarrollo. La idea está basada en el uso de un contenedor de EJB (o EJB Container) que se encarga de gran parte de las tareas mencionadas antes, dejando al desarrollador la implementación de la lógica de negocio particular de cada servicio. De esta forma, se cumple con el principio de que cada componente de software resuelve la parte de la que es responsable en un sistema débilmente acoplado. 1.1 Qué son y para qué sirven los EJB Los EJB (por las siglas en inglés de Enterprise Java Beans, o Componentes de Negocio Java), también llamados Enterprise Beans, son componentes de software escritos en Java que encapsulan las complejidades relacionadas con todos los servicios de base necesarios para una aplicación de mediano o gran porte, permitiendo que el desarrollador se concentre en 635

8 implementar lo realmente importante. Estos componentes no son capaces de ejecutarse por sí solos, sino que necesitan de un servidor que los contenga y les brinde todos los servicios necesarios (el Contenedor). En una arquitectura en capas tradicional, los EJB se encuentran en la capa lógica y, eventualmente, en la capa de persistencia, como puede verse en la Figura Cómo funcionan los EJB Cuando se desarrolla un componente EJB, lo que se escribe realmente es una clase POJO junto con determinados annotations 1 que indican las características y propiedades de dicho componente. Estas propiedades son leídas e interpretadas por el Container y permiten a éste decidir cómo controlar cada instancia del EJB y su ciclo de vida. En un contenedor pueden existir diferentes EJBs, los que pueden formar parte de la misma aplicación o de más de una. Existen diferentes tipos de EJB, los que serán vistos más adelante, cada uno de los cuales tiene un fin específico y es manejado por el contenedor de forma diferente. Es el contenedor 636 el que crea y destruye las instancias de los EJB de acuerdo a sus necesidades, así como gestiona el ciclo de vida de cada instancia. Esto no es controlable por el desarrollador. Cuando un cliente (sea éste una aplicación Java o una página JSP o JSF) desea ejecutar un servicio provisto por un EJB, debe primero solicitar una instancia del mismo y toda la interacción es a través del Container, como se observa en la Figura 2. 2 Contenedor de EJB Como ya se mencionó antes, un Contenedor de EJB es una aplicación que cumple con una serie de especificaciones para ejecutar componentes EJB. Las especificaciones JEE son provistas por Sun (ahora Oracle) y pueden ser implementadas por más de un proveedor, cada uno de los cuales implementa su propia versión de las mismas. Existen servidores gratuitos o pagos, cada uno puede brindar mayor o menor funcionalidad pero todos deben cumplir con las especificaciones oficiales. En la Figura 3 se observa un diagrama que muestra cómo los EJB son ejecutados dentro de un EJB Container, y éste es parte de un Application Server. Una de las ventajas de esto es que los EJB son multiplataforma, es decir, que son desarrollados una vez y no es necesario modificarlos si se cambia de proveedor del Container. 1 Las annotations sirven para expresar metadata acerca de una clase, método o atributo de forma integrada con el código de la misma.

9 Algunos de los contenedores de EJB comúnmente usados son: JBoss AS [2] es un servidor de aplicaciones completo donde no solo se ejecutan EJBs sino también aplicaciones Web, portales, etc. Es muy utilizado debido a que es un producto open-source de excelente calidad, robusto y con muchos años en el mercado. GlassFish [3] fue desarrollado por Sun como un producto open-source, si bien es más reciente que JBoss está muy extendido actualmente. A partir de la adquisición por parte de Oracle, Sun forma parte del paquete Middleware de Oracle. WebLogic Server [4] fue desarrollado por BEA Systems y adquirido recientemente por Oracle, es un producto comercial muy robusto. WebSphere [5], producto comercial desarrollado por IBM, se integra fácilmente con otros productos de la compañía. Las responsabilidades principales de un Contenedor son las siguientes: Manejo del ciclo de vida de las instancias de EJB. Pool de instancias de cada EJB, donde debe equilibrar la cantidad de instancias necesarias para responder rápidamente sin consumir recursos excesivamente. Gestión de transacciones para que sea transparente para el desarrollador, éste solamente debe declarar unas directivas. Seguridad a nivel de usuarios y roles. Inyección de dependencias, lo que permite la invocación remota de otros EJB sin que el desarrollador deba especificar su ubicación. Soporte para Web Services, que brindan la posibilidad de interactuar con servicios alojados en otras plataformas o tecnologías. Timer para ejecutar eventos cada determinada cantidad de tiempo. 3 Tipos de EJB Existen dos tipos principales de EJB, los que se verán en este capítulo. Este tipo debe especificarse como una anotación en la clase Java que lo implementa. 3.1 Session Beans Son componentes que contienen lógica de negocios, pueden verse como servicios expuestos para ser consumidos por los clientes, tanto local como remotamente (luego se verá con mayor profundidad este concepto). Cuando un cliente desea ejecutar una operación de un determinado EJB el servidor (Container) le provee una instancia del mismo para que ejecute el método deseado sobre ella. 637

10 Existen, a su vez, tres tipos de Session Beans, determinados por cómo son manejadas las instancias con respecto a los clientes que consumen sus servicios Stateless Session Beans Estos EJB no mantienen información acerca de los clientes que atienden, incluso es posible que un mismo cliente sea atendido por diferentes instancias del mismo EJB. Cuando un cliente desea ejecutar una operación pide una instancia al Container, éste toma una instancia de dicho EJB de un pool de instancias disponibles, ejecuta el método solicitado y devuelve la instancia al pool sin que quede registrada ninguna información de la operación que realizó. Esto se observa más claramente en la Figura 4 (más adelante se explicará el concepto de Proxy que aparece en la figura). Son los más utilizados, su principal ventaja es que consumen pocos recursos ya que las instancias son reaprovechadas y un mismo servidor puede atender a mayor cantidad de clientes. Esto brinda mayor escalabilidad a la aplicación. Para crear un EJB de este tipo debemos agregar la como se ve en el ejemplo de la Figura 5. A esta manera de especificar las dependencias declarativamente se le llama dependency injection, ya que el Container inyecta las definiciones necesarias Stateful Session Beans 638 A diferencia de los anteriores, en este caso, cada instancia de un EJB atiende a un único cliente, por lo que puede guardar información acerca de su estado. Este tipo de componentes son utilizados en casos en que se necesite mantener una relación conversacional entre el cliente y el servidor. El ejemplo más común es el carrito de compras, en el que el servidor debe conocer los ítems que el cliente ha ido comprando. En la Figura 6 se muestra este concepto.

11 Claramente estos EJB consumen mayor cantidad de recursos que los anteriores, ya que por cada cliente es necesario contar con una instancia del EJB con lo cual, a mayor cantidad de clientes crecerán los requerimientos para el servidor. Esto resta escalabilidad a la aplicación. Del mismo modo que en el caso anterior, para crear un EJB de este tipo es necesario especificar la Singleton Session Beans En este caso, una única instancia del EJB es creada para toda la aplicación, por lo que todos los clientes compartirán dicha instancia y ésta mantiene el estado entre una invocación de un cliente y otra. En los casos anteriores (Stateless y Stateful), el container asegura que ninguna instancia estará sirviendo a más de un cliente en un momento dado. Sin embargo, en este caso sí puede darse esa situación y la misma instancia puede estar siendo accedida por más de un cliente al mismo tiempo. Por lo tanto, es necesario tener esto en cuenta y sincronizar las partes del código que no puedan ejecutarse concurrentemente. 3.2 Message Driven Beans Este tipo de EJB (también llamados MDB) no son invocados directamente por clientes, sino que los mismos envían mensajes asincrónicamente a un sistema de mensajería JMS (Java Message Service) para que sean tomados de allí y procesados por estos EJB. Esto se observa mejor en la Figura

12 Hasta la versión 2.0 la especificación JEE soportaba solamente JMS, 2 pero a partir de la versión 2.1 se extendió a cualquier sistema que soporte JCA 3 (Java Connector Architecture). 4 Ejemplo de EJB A efectos de clarificar los conceptos vertidos en este documento se muestra la implementación de un servicio ofrecido por un EJB, incluyendo el acceso a los datos. Se describe un servicio para ingresar libros a una Base de Datos para lo cual existen dos EJB de tipo 640 Stateless: Uno que ofrece servicios de alto nivel será el que el cliente invoque para realizar la operación, cuyo código se observa en la Figura 8. Otro que brinda servicios de persistencia, que será usado por el anterior para acceder a los datos. El código es el que se muestra en la Figura 9. De esta forma, se logra encapsular la responsabilidad de cada componente, lo que favorece la extensibilidad de la aplicación. Como se puede ver en este ejemplo, el primer servicio actúa como cliente del segundo. Lo primero que hay que notar es que nunca se crea una instancia de LibroDAO, sino que directamente se usa, eso es porque el Container se encarga de inyectar las dependencias necesarias. En cuanto a LibroDAO, se declara el contexto de persistencia a través de una referencia a librounit (también se usa dependency injection aquí). Este contexto indica información acerca de la Base de Datos (su ubicación, usuario y contraseña, etc.) y debe estar declarado en forma externa a la aplicación. Puede ser declarado en un archivo llamado persistence.xml 2 JMS es un servicio brindado por Java para aplicaciones basadas en mensajes, es decir, que la comunicación entre cliente y servidor es asincrónica a través de colas de mensajería. 3 JCA es un concepto más amplio que JMS y refiere a todo lo relativo a conectividad entre servidores o entre cliente y servidor.

13 o a través de un DataSource (es decir, una definición de fuente de datos que se realiza directamente en el Servidor de Aplicaciones). 5 Bibliografía Java Community Process, Java EE 6 Specification JBoss Application Server GlassFish Server Oracle WebLogic Server IBM WebSphere 641

14 Taller de formación Java EE Tema: Introducción a componentes de negocio (EJB) 2 da Parte 1 Introducción Como se vio en la primera parte de este curso introductorio, los EJB son componentes de software que ofrecen servicios a nivel de lógica de negocios y persistencia. Éstos no tienen entidad por sí mismos sino que deben ejecutarse en un Container, que es quien provee todos los servicios de base que el EJB necesita. Como se mostró, es posible a través de esta tecnología la implementación de sistemas de mediano y gran porte sin tener que implementar todas las complejidades que esto implica, como control de concurrencia, transaccionalidad, seguridad, etc. En esta segunda parte se profundizará en los distintos tipos de interfaces que ofrecen los EJB, así como en dos conceptos importantes a la hora de implementar una solución basada en JEE: manejo de transacciones y seguridad Cómo exponer un EJB Una vez desarrollado el componente EJB, se debe decidir cómo será expuesto, es decir, cómo es ofrecido este servicio para ser consumido por los clientes. Para esto existen tres opciones, las que se desarrollarán en este capítulo, que básicamente determinan la visibilidad que se le desea dar al servicio. 2.1 Interfaz Remota Una interfaz remota podrá ser accedida por cualquier cliente, tanto sea otro EJB que esté corriendo dentro del mismo Container como una aplicación externa, incluso el cliente puede estar ubicado en otra máquina física. Ya que una interfaz de este tipo puede ser accedida tanto remota como localmente, es común que las interfaces se definan como remotas en general. Además, si bien esto puede agregar un overhead del lado del Container, a futuro puede otorgar más flexibilidad a la aplicación. Téngase en cuenta que, aunque un sistema puede pensarse que va a ejecutar siempre en un único Container, es probable que en el futuro se decida (por razones de escalabilidad) distribuir en más de un servidor.

15 Si el cliente que consume un EJB remoto está ejecutando dentro del Container puede referenciarlo usando injection pero, si es una aplicación externa, debe buscar y obtener una referencia al servicio usando JNDI (Java Naming and Directory Interface). Para declarar una interfaz remota se anota como se observa en la Figura 1, y en la Figura 2 puede observarse el código de un cliente externo para ejecutar un EJB. 2.2 Interfaz Local Una interfaz de este tipo será accedida solamente por clientes que ejecuten dentro del mismo Container, es decir, que el servicio no es expuesto para ser consumido públicamente sino solamente por otros componentes conocidos o controlados. Si bien un cliente local es más eficiente que uno remoto, en general se considera que las interfaces locales generan un mayor acoplamiento en la aplicación ya que no permiten que la misma se distribuya en más de un servidor. Para declarar una interfaz local se usa la como se observa en la Figura Sin interfaz Existe la posibilidad de que un EJB no implemente ninguna interfaz, ni local ni remota. En este caso se declara implícitamente una interfaz local con todos los métodos públicos. 2.4 Referencias a objetos remotos Como se observa en la Figura 4, cuando un cliente remoto interactúa con un EJB lo hace en realidad a través de una interfaz remota y usando los servicios provistos por el Container. Pero, qué sucede con los objetos que se pasan como parámetros o con el valor que puede retornar un método del EJB? Como se recordará, en Java cuando un método retorna un objeto está devolviendo, en realidad, una referencia a un objeto que se encuentra en el Heap. 1 Cómo se supone que el cliente remoto pueda acceder a un objeto si no tiene acceso al Heap en el que se encuentra dicho objeto? Nuevamente el Container se encarga de esto, para que lo que se devuelva al cliente no sea una referencia al heap local sino un proxy al objeto original, llamado stub. Este proxy actúa como si fuera el objeto original, pero cada vez que se le solicita algo envía la solicitud al objeto remoto original El Heap es un espacio de memoria utilizado por la JVM para almacenar objetos.

16 Para que todo esto funcione correctamente, tanto los parámetros como los valores devueltos por los métodos de las interfaces remotas deben ser serializables. 2 Esto es debido a que en cada invocación los objetos deben ser serializados para ser enviados remotamente. 3 Persistencia En la gran mayoría de los sistemas de información la persistencia es uno de los aspectos más importantes y donde hay que prestar más atención durante el desarrollo. En JEE existen dos conceptos básicos que simplifican mucho la gestión de la persistencia, los que se describen a continuación. 3.1 Transacciones El control de transacciones es un servicio importante brindado por el Container, ya que a través de una simple anotación éste se encarga de inyectar todo el código necesario para el manejo de transacciones, tanto desde el inicio de las mismas hasta el commit o rollback en caso de producirse excepciones. Como se sabe, una transacción es una unidad de trabajo formada por uno o más accesos a los datos. Esta unidad de trabajo debe ejecutarse exitosamente en su totalidad o no se ejecuta, no se permite que se ejecute parcialmente ya que esto generaría inconsistencias en la base de datos. En JEE las transacciones se definen a nivel de métodos de negocio, ya que son éstos los que corresponden al concepto de unidad de trabajo, aunque se puede definir también a nivel de EJB haciendo que todos sus métodos posean el mismo atributo. Para indicar al Container cómo debe manejar el inicio y fin de las transacciones se utiliza la que puede tener uno de los valores indicados a continuación Required Si al invocar al método ya existe una transacción abierta se usa ésta (caso -a- en la Figura 5), en caso contrario se crea una nueva (la cual es cerrada una vez finalizada la ejecución del método, caso -b-) Un objeto es serializable cuando es posible convertirlo a bytes para ser enviado a través de la red.

17 Este es el valor por defecto que toma el en caso de no definirse ningún valor Requires_New Si al invocar el método ya existe una transacción abierta ésta queda en suspenso y crea una nueva. El método invocado utiliza esta nueva transacción y, al finalizar, vuelve a retomarse la anterior Mandatory Indica que el método necesita una transacción abierta por el llamante. En caso de que no haya una transacción abierta arroja una excepción Supports En caso de que exista una transacción abierta se utiliza y, en caso contrario, ninguna transacción es creada Not_Supported 645 En caso de que exista una transacción abierta ésta se suspende mientras se invoca a este método y, una vez finalizado, se retoma dicha transacción. Si no existe una transacción no es creada ninguna tampoco.

18 3.1.6 Never Si no existe una transacción no se crea tampoco una. Si ya existe una transacción abierta se arroja una excepción. En el cuadro de la Figura 11 se resumen las posibles situaciones según el definido para el método invocado Entidades persistentes Las bases de datos relacionales no están orientadas a objetos sino a tablas relacionadas a través de dependencias funcionales, por lo que debe realizarse un mapeo entre las entidades que forman una aplicación (el modelo de dominio), y las tablas que van a persistir sus atributos. Este mapeo se especifica a través de las anotaciones que definen la Java Persistence API (JPA), la cual será estudiada en profundidad en otro documento. 4 Seguridad La seguridad en JEE es manejada tanto declarativamente como programáticamente en los casos que no es suficiente con la primera. Está basada en roles, es decir, que los usuarios pueden pertenecer a uno o más roles y sobre éstos se realizan los controles de acceso a los métodos de los EJB. Existen tres conceptos importantes para determinar si un acceso está permitido para ejecutar determinada operación: Autorización: permite o deniega la ejecución de determinada operación o método de un EJB. Está basada en la identificación y en la autenticación. Identificación: permite reconocer el usuario que está intentando ejecutar el método.

19 Autenticación: es el proceso de validación o verificación de que el usuario es realmente quien dice ser. En general, en una aplicación JEE el procedimiento de autenticación implica los siguientes pasos: Se le pide al usuario que ingrese su id y contraseña a través de una página web o de una aplicación de otro tipo. Estas credenciales son validadas contra un proveedor JAAS (Java Authentication and Authorization Service). Si la autenticación es válida, el cliente recibe un objeto llamado token (o principals), el cual será usado en forma transparente en cada invocación a métodos de EJB para indicarle al Container quién es el usuario que está realizando la operación y que el mismo está autorizado. En base a dicho token el Container también obtendrá el o los roles a los que pertenece el usuario y, en base a eso, determinará si puede o no ejecutar los métodos invocados. Como se puede ver, la validación de usuario y contraseña se realiza a nivel de la capa Web, y el EJB recibe ya un objeto que indica que el usuario es válido (aunque todavía no ha decidido si dicho usuario puede invocar al método solicitado). 4.1 Seguridad declarativa Como se mencionó, la especificación de los permisos para ejecutar los métodos de los EJB se realizan a nivel de roles autorizados para eso. Esto se hace a través de la la cual se puede utilizar tanto en métodos como en toda la clase (en este caso indica que los roles especificados pueden acceder a todos sus métodos). En la Figura 12 puede verse un ejemplo de un EJB en el que se especifica esta restricción. Además de las anotaciones mencionadas, es posible para indicar que un método es accesible a todos los roles para indicar que un método no es accesible a ningún rol. 647

20 4.2 Seguridad programática En algunas ocasiones no son suficientes las anotaciones mencionadas para permitir o denegar el acceso a un método. En estos casos es necesario utilizar programación para obtener más información. Si bien el uso de esta metodología excede el alcance de este documento en la Figura 13 se observa un ejemplo de uso del API de seguridad de JEE a efectos ilustrativos. 648

21 Introducción a Java Server Faces (JSF) 1 era Parte 1 Introducción 1.1 Aplicaciones Web Una aplicación Web es una aplicación que es capaz de interactuar con un cliente que se ejecuta en un navegador de Internet (como Firefox, Chrome o Internet Explorer). Estas aplicaciones generan contenido HTML dinámicamente a través de la invocación por parte de los clientes de pedidos HTTP (HTTP Request), los que son atendidos por un Web Container (como Tomcat) que es el entorno de ejecución de las aplicaciones Web. En la Figura 1 se observa más claramente el funcionamiento de una aplicación Web tradicional. Los servlets son simples clases Java capaces de atender pedidos HTTP y retornar una respuesta. Muchas veces, parte del contenido de una aplicación Web es estático (como por ej. imágenes), estos archivos son retornados directamente por el Container sin intervención de ningún servlet. 1.2 Java Server Faces Descripción Java Server Faces (o JSF, [1]) es un framework provisto por la plataforma Java EE para desarrollar aplicaciones Web y está compuesto por dos grandes módulos: Librerías de tags para agregar componentes a páginas Web. Una API para manejar el estado de los componentes, escuchar eventos, realizar validaciones, etc., a través de los llamados managed beans (también llamados backing beans). 649

22 Una aplicación JSF está, entonces, compuesta por los siguientes elementos: Una o más páginas HTML, utilizadas generalmente como contenedores de las páginas JSF. Un conjunto de páginas JSF, que son las que contienen los tags. Un conjunto de managed beans, componentes del lado del servidor que mantienen el estado de los componentes representados en las páginas, entre otras tareas. Un archivo descriptor de la aplicación (llamado web.xml). Archivos de recursos, como imágenes, javascripts, css, etc. Opcionalmente, es posible incluir un archivo llamado faces-config.xml, donde se especifican componentes personalizados de validación, conversiones, etc Facelets Es un lenguaje [2] expresado como un conjunto de tags que permite construir páginas a través de la composición de otras páginas, formando árboles jerárquicos donde las páginas se anidan unas dentro de otras. Es común utilizar tags facelets para organizar las páginas JSF, de forma de simplificar el desarrollo y facilitar la reutilización de componentes. Por ejemplo, es posible definir una plantilla formada por un cabezal, un cuerpo y un pie, haciendo que el cabezal y pie se mantengan a lo largo de la aplicación y cambiando solamente el cuerpo de la misma Ejemplo A efectos de clarificar los conceptos antes de continuar profundizando aspectos teóricos, en la Figura 2 se muestra parte de una página JSF, mientras que en la Figura 3 se observa parte del código del managed bean correspondiente. 650

23 2 Patrón Model-View-Controller (MVC) 2.1 MVC Model-View-Controller (o MVC, [3]) es un patrón de diseño de aplicaciones que permite la separación (desacoplamiento) entre los componentes de la misma de acuerdo a sus responsabilidades: Model: contiene los datos o interactúa directamente con el componente encargado de obtenerlos. View: muestra los datos al usuario de una aplicación y permite su interacción. Un modelo puede tener asociadas más de una vista, dependiendo de cómo se quieran mostrar los datos en cada caso. Controller: es el que recibe los pedidos del usuario, invoca a las operaciones del modelo necesarias y retorna una nueva vista. De esta forma, se simplifica el desarrollo y mantenimiento de la aplicación, ya que cada componente tiene claramente delimitado su campo de acción. En la Figura 4 se muestra un diagrama de este patrón de diseño. 2.2 MVC aplicado a JSF Java Server Faces fue diseñado de acuerdo al patrón MVC, por lo que respeta claramente la separación entre modelo, vista y controlador, como se observa en la Figura 5. Cuando un usuario solicita una página JSF, este pedido es capturado por el FacesServlet (Controller), 651

24 obtiene la información necesaria de los Managed Beans (Model) y arma la respuesta en base a la página JSF (View) que corresponda. FacesServlet es el servlet provisto por el framework de JSF para atender todas las solicitudes de los clientes. Es esta clase la que se encarga de iniciar el ciclo de vida de cada solicitud. El concepto de ciclo de vida se estudia con más detalle en el capítulo siguiente. 3 Ciclo de vida Es importante comprender el ciclo de vida de un request a una aplicación JSF para poder entender mejor la forma en que se vinculan los elementos de la aplicación. A través del ciclo que se explicará en esta sección, se ejecutan todas las tareas que, de otra forma, debería escribir el desarrollador como ser validaciones, actualización del modelo de datos, etc. De todas formas, es posible intervenir o modificar cada uno de los pasos del ciclo de vida, si es necesario modificar el comportamiento para adaptarlo a alguna necesidad específica. En la Figura 6 se observa el diagrama de los eventos que ocurren en cada invocación a una página JSF, los que se describirán brevemente en esta sección. En [4] puede ver una descripción más detallada de lo que ocurre en las fases de conversión y validación Restore View (recuperar vista) Se crea una estructura (llamada component tree) conteniendo todos los elementos de la vista y se guarda en un objeto llamado FacesContext, el cual está disponible durante todo el ciclo de vida. 2. Apply Request Values (aplicar valores de la petición) Para cada elemento del component tree se obtiene su estado (o sea, su valor en el formulario enviado) y se guarda en el FacesContext. Si ocurren errores durante la conversión de datos (por ejemplo, se ingresaron valores alfanuméricos en un campo numérico), se generan errores y se salta directamente al paso 6 para generar la respuesta. 3. Process Validations (procesar validaciones) Se realizan todas las validaciones especificadas en los componentes contra los valores obtenidos en la fase anterior. Si hay componentes que no pasan la validación se generan errores y se salta directamente al paso 6 para generar la respuesta. Las condiciones de validación son expresadas en los componentes en forma declarativa, como se observa en la Figura 7.

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1) TECNOLOGÍAS (1/2) (L1) EJB ( Enterprise Java Beans ) JSP ( Java Server Pages ) JNDI ( Java Naming and Directory Interface ) JDBC ( Java Data Base Connectivity ) Java Mail JSF ( Java Server Faces ) TECNOLOGÍAS

Más detalles

Curso de JavaServer Faces

Curso de JavaServer Faces 1 Una JavaBean es una clase Java que sigue las siguientes convenciones: Constructor vacío Atributos de clase privados Por cada atributo, se crean los métodos getters y setters El Objetivo de los Managed

Más detalles

1 Índice... 1. 2 Introducción... 2. 2.1 Propósito... 2. 2.2 Alcance... 2. 3 Modelo Arquitectónico Inicial... 3

1 Índice... 1. 2 Introducción... 2. 2.1 Propósito... 2. 2.2 Alcance... 2. 3 Modelo Arquitectónico Inicial... 3 1 Índice 1 Índice... 1 2 Introducción... 2 2.1 Propósito... 2 2.2 Alcance... 2 3 Modelo Arquitectónico Inicial... 3 3.1 Diagrama de alto nivel de la arquitectura... 3 3.2 Vista de Casos de Uso... 5 3.2.1

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1 Gerardo Lecaros Felipe Díaz Problemática Petición de salas de forma tradicional Solución J2EE Java 2 Platform, Enterprise Edition

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

Curso de Spring Framework

Curso de Spring Framework Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Vivimos en un mundo globalizado, donde la eficiencia y productividad de las empresas es un factor crucial para

Más detalles

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

Más detalles

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional. 1. Definición JBoss es un proyecto de código abierto, con el que se consigue un servidor de aplicaciones basado en J2EE, e implementado al 100% en Java. Por lo tanto al estar basado en Java, JBoss puede

Más detalles

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación. Unidad II Metodología de Solución de Problemas 2.1 Descripción del problema (enunciado). Este aspecto nos indica describir de manera objetiva la realidad del problema que se esta investigando. En la descripción

Más detalles

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN 3.3 Aplicaciones Definición de Aplicación (Application). Programa informático que permite a un usuario utilizar una computadora con un fin específico. Las

Más detalles

Toda base de datos relacional se basa en dos objetos

Toda base de datos relacional se basa en dos objetos 1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.

Más detalles

Facultad de Ingeniería Escuela de Ciencias y Sistemas 2011-14674 Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces

Facultad de Ingeniería Escuela de Ciencias y Sistemas 2011-14674 Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces JSF + JSP + RichFaces Manual Introductorio al uso de JSF, JSP y RichFaces en Java El siguiente documento es un manual muy introductorio, ya que la primera vez que me encontré con estas 3 frases juntas

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

Java 7.0 Advanced Application Developer

Java 7.0 Advanced Application Developer DESCRIPCIÓN La arquitectura de software es un conjunto de elementos y estructuras interrelacionados entre sí que componen a un sistema informático: define qué elementos tiene una aplicación, cómo se relacionan

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Capítulo II. Arquitectura del Software

Capítulo II. Arquitectura del Software Capítulo II. Arquitectura del Software Después de un cuidadoso análisis de los objetivos del proyecto, se determinó que la mejor manera de estructurar el sistema era haciendo uso del muy famoso patrón

Más detalles

Análisis y diseño del sistema CAPÍTULO 3

Análisis y diseño del sistema CAPÍTULO 3 Análisis y diseño del sistema CAPÍTULO 3 36 CAPÍTULO 3 Análisis y diseño del sistema En este capítulo se pretende realizar un análisis detallado de los requerimientos del software a desarrollar para la

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República

Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República Web Services en Java Taller de Programación Instituto de Computación Facultad de Ingeniería Universidad de la República Contenido Motivación y Conceptos Funcionamiento Annotations Desarrollando una aplicación

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

Capítulo 2. Marco Teórico

Capítulo 2. Marco Teórico Capítulo 2. Marco Teórico 2.1. Frameworks para Aplicaciones Web en Java Con el crecimiento exponencial de Internet en los últimos años, las aplicaciones Web se han convertido en una parte básica y común

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Conceptos Generales en Joomla 1.7.2.

Conceptos Generales en Joomla 1.7.2. 1.- Tipos de usuarios en Joomla! JOOMLA 1.7 USUARIOS. Los usuarios de sitios web de Joomla! pueden dividirse en dos categorías principales: Invitados. Usuarios registrados. Los Invitados son sencillamente

Más detalles

Autenticación Centralizada

Autenticación Centralizada Autenticación Centralizada Ing. Carlos Rojas Castro Herramientas de Gestión de Redes Introducción En el mundo actual, pero en especial las organizaciones actuales, los usuarios deben dar pruebas de quiénes

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición

Más detalles

Banco de la República Bogotá D. C., Colombia

Banco de la República Bogotá D. C., Colombia Banco de la República Bogotá D. C., Colombia Subgerencia de Informática Departamento de Seguridad Informática MANUAL DE USUARIO PARA EL SERVICIO - SISTEMA DE GESTIÓN PKI DE USUARIOS ROAMING - USI-GI-56

Más detalles

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 4. Servidor DNS 1 Índice Definición de Servidor DNS... 3 Instalación del Servidor DNS... 5 Configuración del Servidor DNS... 8 2 Definición de Servidor

Más detalles

UNIVERSIDAD DE OVIEDO

UNIVERSIDAD DE OVIEDO UNIVERSIDAD DE OVIEDO ESCUELA POLITÉCNICA DE INGENIERÍA DE GIJÓN MÁSTER EN INGENIERÍA INFORMÁTICA TRABAJO FIN DE MÁSTER SPRING ROO ADD-ONS PARA PROTOTIPADO RÁPIDO JAVIER MENÉNDEZ ÁLVAREZ JULIO 2014 UNIVERSIDAD

Más detalles

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR En este capítulo se describe el análisis y diseño de un sistema, denominado e-commerce Constructor, el cual cumple con los siguientes objetivos: Fungir

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

Tema 1. Introducción a Java EE

Tema 1. Introducción a Java EE Objetivos del tema Propiedades de las aplicaciones empresariales El Modelo Cliente/Servidor Presentar la Plataforma Java Presentar Java EE y otras tecnologías horizontales Tema 1. Introducción a Java EE

Más detalles

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS UNIVERSIDAD DE MEDELLÍN MANUAL DE USUARIO GESTOR DE CONTENIDOS NUEVO PORTAL WEB TABLA DE CONTENIDO Tabla de Contenido 2 Consideraciones Iniciales 3 Ingreso al Sistema 4 Opciones de Gestor de contenidos

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

Algunas Herramientas de Apoyo al Análisis y Diseño de Software. Agustín J. González ELO329: Diseño y programación orientados a objetos

Algunas Herramientas de Apoyo al Análisis y Diseño de Software. Agustín J. González ELO329: Diseño y programación orientados a objetos Algunas Herramientas de Apoyo al Análisis y Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos Resumen Para desarrollar software hay varias herramientas de gran utilidad

Más detalles

Documentación Técnica Conector

Documentación Técnica Conector Documentación Técnica Conector Torre Ejecutiva Sur Liniers 1324, piso 4 Montevideo Uruguay Tel/Fax: (+598) 2901.2929* Email: contacto@agesic.gub.uy www.agesic.gub.uy Indice 1 Introducción...4 2 Casos

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc

Más detalles

OpenProdoc. ECM Open Source

OpenProdoc. ECM Open Source OpenProdoc ECM Open Source Índice Visión General Arquitectura Funciones Seguridad Administración Requerimientos Evolución Visión General OpenProdoc es un gestor documental de código abierto. Cuenta con

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

Componentes de Integración entre Plataformas Información Detallada

Componentes de Integración entre Plataformas Información Detallada Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.

Más detalles

Curso de Java EE Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1

Curso de Java EE Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 1 Los Enterprise Java Beans (EJB) es código Java del lado del Servidor. Normalmente tienen la lógica de negocio de nuestra aplicación, y por lo tanto cubren el rol de la capa de servicio de nuestras aplicaciones

Más detalles

Creación y administración de grupos locales

Creación y administración de grupos locales Creación y administración de grupos locales Contenido Descripción general 1 Introducción a los grupos de Windows 2000 2 Grupos locales 5 Grupos locales integrados 7 Estrategia para utilizar grupos locales

Más detalles

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo INDICE Cómo crear una cuenta en ARQA? 4 Cómo tener un grupo en ARQA? 5 Secciones y funcionalidades de los grupos 6 Muro del Grupo 6 Compartir Textos 8 Compartir Imágenes 9 Compartir videos 10 Compartir

Más detalles

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS INSTALACIÓN A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc al que le asignaremos

Más detalles

Tema 5. Plataforma Java EE

Tema 5. Plataforma Java EE Tema 5. Plataforma Java EE SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs enero 2009 FJRP, FMBR 2008/09 ccia SCS 5.1 Introducción a Java EE Java EE (Java Enterprise

Más detalles

Puesta en Marcha versión Monousuario

Puesta en Marcha versión Monousuario Puesta en Marcha versión Monousuario Criterium www.criterium.es Antonio Muñoz Sánchez criteriumcyp@criterium.es 950 442 281 Puesta en Marcha versión Monousuario 1 Limitaciones de versión monopuesto...3

Más detalles

Elección de tecnología para la capa de presentación de SOA. Huibert Aalbers Senior Certified Software IT Architect

Elección de tecnología para la capa de presentación de SOA. Huibert Aalbers Senior Certified Software IT Architect Elección de tecnología para la capa de presentación de SOA Huibert Aalbers Senior Certified Software IT Architect IT Insight podcast Este podcast pertenece a la serie IT Insight Pueden suscribirse al podcast

Más detalles

Arquitectura de Proyectos de IT

Arquitectura de Proyectos de IT Arquitectura de Proyectos de IT Apunte: Introducción a MQ y conceptos de mensajería Autores: Patricio Echagüe patricioe@gmail.com Ing. Gastón Escobar gescobar@gmail.com Versión: 0.1 Octubre, 2005 1 Índice

Más detalles

En los últimos años, se ha presentado una enorme demanda por servicios portátiles,

En los últimos años, se ha presentado una enorme demanda por servicios portátiles, Capítulo 1 Introducción En los últimos años, se ha presentado una enorme demanda por servicios portátiles, a los que se les ha llamado tecnologías móviles, este repentino crecimiento de tecnologías ha

Más detalles

Q-expeditive Publicación vía Internet

Q-expeditive Publicación vía Internet How to Q-expeditive Publicación vía Internet Versión: 2.0 Fecha de publicación 11-04-2011 Aplica a: Q-expeditive 3 Índice Introducción... 3 Publicación de servicios... 3 Ciudadanos... 3 Terminales de auto

Más detalles

Tutorial: Primeros Pasos con Subversion

Tutorial: Primeros Pasos con Subversion Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través

Más detalles

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported PROGRAMACIÓN ORIENTADA A OBJETOS APLICADA A BASES DE DATOS Por LAURA NOUSSAN LETTRY BrowserSQL MySQL Workbench en Linux (Abril 2015, Mendoza) Aviso Legal El presente libro electrónico se distribuye bajo

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

ESTRUCTURA DE LOS SITIOS DE CATEDRAS

ESTRUCTURA DE LOS SITIOS DE CATEDRAS ESTRUCTURA DE LOS SITIOS DE CATEDRAS El de la FCE le enviará el esqueleto vacío del sitio de la cátedra, al cual usted ingresara el contenido de acuerdo a sus necesidades. La tarea principal que tiene

Más detalles

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013 - MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD Rev. 01- FEBRERO 2013 Software de diagnóstico de la seguridad de la información y autoimplantación

Más detalles

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA ACLARACIONES Y RESPUESTAS A CONSULTAS SEGUNDA PARTE De acuerdo a lo señalado en el numeral 11 de las Bases de Licitación, a continuación se presenta

Más detalles

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado Capítulo VI Estudio de Caso de Aplicación del Integrador de Información Desarrollado 6.1 Organización elegida La Organización elegida para el caso de aplicación, es la empresa CTM Tours del grupo Costamar,

Más detalles

Enterprise JavaBeans

Enterprise JavaBeans Enterprise Java Beans y JBoss Enterprise JavaBeans Es una de las API que forman parte del estándar de construcción de aplicaciones empresariales J2EE (ahora JEE 5.0) de Oracle Corporation (inicialmente

Más detalles

Gastos Reales Web Manual de Usuario

Gastos Reales Web Manual de Usuario Gastos Reales Web Manual de Usuario Unidad Informática Diciembre 2009 1 Índice de contenido 1Invocación al guardar un formulario...3 2Invocación desde una grilla...5 3Ingreso por primera vez...6 4Procesamiento

Más detalles

Guía de instalación de la carpeta Datos de IslaWin

Guía de instalación de la carpeta Datos de IslaWin Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3

Más detalles

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema Capítulo2 Planteamientodelproblema 38 2.1Antecedentesycontextodelproyecto En lo que respecta a los antecedentes del proyecto, se describe inicialmente el contexto donde se utiliza el producto de software.

Más detalles

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A) APRENDERAPROGRAMAR.COM QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A) Sección: Divulgación Categoría: Herramientas Informáticas Fecha

Más detalles

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

Más detalles

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

Servicio de Alta, Baja, Modificación y Consulta de usuarios Medusa

Servicio de Alta, Baja, Modificación y Consulta de usuarios Medusa Documentos de Proyecto Medusa Documentos de: Serie: Manuales Servicio de Alta, Baja, Modificación y Consulta del documento: Fecha 22 de febrero de 2007 Preparado por: José Ramón González Luis Aprobado

Más detalles

Muestra de solicitud para una propuesta de un conjunto de aplicaciones de Gestión de Procesos de Negocio KIT DE HERRAMIENTAS DEL COMPRADOR DE BPMS

Muestra de solicitud para una propuesta de un conjunto de aplicaciones de Gestión de Procesos de Negocio KIT DE HERRAMIENTAS DEL COMPRADOR DE BPMS KIT DE HERRAMIENTAS DEL COMPRADOR DE BPMS Muestra de solicitud para una propuesta de un conjunto de aplicaciones de Gestión de Procesos de Negocio Parte 1 del kit completo de herramientas del comprador

Más detalles

Visión General de GXportal. Última actualización: 2009

Visión General de GXportal. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

Descripción de Arquitectura Repositorio de metadatos de componentes de software

Descripción de Arquitectura Repositorio de metadatos de componentes de software Descripción de Arquitectura Repositorio de metadatos de componentes de software 1. Introducción. 1.1. Propósito. 1.2. Alcance. 1.3. Definiciones. 1.4 Contexto. 1.5. Referencia. 2. Objetivos y restricciones

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

Taller de Sistemas de Información 2

Taller de Sistemas de Información 2 Taller de Sistemas de Información 2 JSF - JavaServer Faces Introducción Evolución de los frameworks Web en Java Servlets / JavaServer Pages Apache Struts Otros frameworks Tapestry Echo Web Work Spring

Más detalles

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd Maxpho Commerce 11 Gestión CSV Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd Índice general 1 - Introducción... 3 1.1 - El archivo CSV... 3 1.2 - Módulo CSV en Maxpho... 3 1.3 - Módulo CSV

Más detalles

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx En este documento explicaré brevemente cómo construir un servicio web con Java Axis2 y cómo invocarlo desde un cliente

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP Visual Sale posee módulos especializados para el método de ventas transaccional, donde el pedido de parte de un nuevo cliente

Más detalles

SISTEMA DE ESPECIICACION DE REQUERIMIENTOS

SISTEMA DE ESPECIICACION DE REQUERIMIENTOS SISTEMA DE ESPECIICACION DE REQUERIMIENTOS Presentado por: Jefferson Peña Cristian Álvarez Cristian Alzate 10 CONTENIDO 1. INTRODUCCIÓN 1.1. PROPÓSITO 1.2. AMBITO DEL SISTEMA 1.3. DEFINICIONES, ACRÓNIMOS

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo

Más detalles

Manual de Integración CubeCart

Manual de Integración CubeCart Manual de Integración CubeCart Guía de integración de CubeCart con PagosOnline.net VERSIÓN 3.0 Capítulo 1. INTRODUCCIÓN CubeCart es una de las soluciones más populares para el desarrollo de Comercio Electrónico

Más detalles

Microsoft Dynamics. Instalación de Management Reporter for Microsoft Dynamics ERP

Microsoft Dynamics. Instalación de Management Reporter for Microsoft Dynamics ERP Microsoft Dynamics Instalación de Management Reporter for Microsoft Dynamics ERP Fecha: mayo de 2010 Tabla de contenido Introducción... 3 Información general... 3 Requisitos del sistema... 3 Instalación

Más detalles

GedicoPDA: software de preventa

GedicoPDA: software de preventa GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente

Más detalles

Patrones de Diseño Orientados a Objetos 2 Parte

Patrones de Diseño Orientados a Objetos 2 Parte Patrones de Diseño Orientados a Objetos 2 Parte Patrón Observador Observer (Patrón de Comportamiento) Patrón Observador Observer Observador (en inglés: Observer) es un patrón de diseño que define una dependencia

Más detalles