Arquitectura de las aplicaciones Web

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

Download "Arquitectura de las aplicaciones Web"

Transcripción

1 Arquitectura de las aplicaciones Web A BRAHAM SÁNCHEZ LÓPEZ GRUPO MOVIS FCC-BUAP

2 Arquitectura de las aplicaciones Web 2 El número impresionante de productos y tecnologías vinculados a Internet disponibles actualmente dio origen a numerosas arquitecturas de aplicación Web, múltiples y variadas. Sin embargo, una aplicación de e-comercio bien realizada (analizada y diseñada) implica la existencia de al menos cuatro componentes de arquitectura significativos: el navegador cliente, el servidor Web, el servidor de aplicaciones, el servidor de datos. En un nivel alto, podemos definir en las aplicaciones Web actuales varios patrones arquitectónicos. Un patrón arquitectónico es la expresión de un esquema fundamental de organización para sistemas computacionales. Incluye un conjunto de subsistemas predefinidos, precisa sus responsabilidades y prescribe reglas y consejos para organizar sus relaciones.

3 Patrones arquitectónicos I Los más comunes actualmente son los siguientes: Se emplea al cliente Web muy liviano y universal para las aplicaciones destinadas a Internet, para las cuales la configuración del cliente no es controlable. El cliente sólo requiere un navegador Web normal y se realiza íntegramente la lógica de negocios, así como la lógica de presentación en el servidor: Solamente el lenguaje HTML se utiliza del lado del cliente, lo que maximiza la accesibilidad al sitio (todos los navegadores Web son aptos para navegar) y la seguridad del puesto del cliente. Este patrón implica no obstante innumerables idas y vueltas entre navegador y servidor Web: esto afecta la interactividad. El cliente Web liviano (el patrón más clásico en la actualidad, ver también la parte referente al cliente pesado ) corresponde también a aplicaciones Internet/Intranet para las cuales la configuración de cliente no es controlable, excepto lo que se requiere del lado del cliente un navegador Web bastante reciente, que soporte el lenguaje JavaScript. El cliente navega sobre páginas dotadas con inteligencia (programadas en Javascript), por lo tanto: 3

4 Patrones arquitectónicos II 4 La interactividad se mejora (la validación de los formularios se realiza del lado del cliente, antes del envío de consultas en el servidor Web). La mayoría de los navegadores modernos proponen opciones finas sobre lo que debe o no hacer JavaScript (por ejemplo, prohibir desactivar el menú del contexto o cambiar el texto de la barra de estado, abrir ventanas demasiado frecuentemente, etc.) La portabilidad de las páginas es bastante fácil de garantizar (por ejemplo con el empleo de bibliotecas como Prototype). Sin embargo, JavaScript debe utilizarse para la comodidad: la accesibilidad implica que si se desactiva, la aplicación debe seguir siendo utilizable con una ergonomía razonable o en el peor caso tolerable. El cliente Web más pesado embarca en las páginas Web los componentes más complejos: ActiveX, Applets Java, Plug-ins, lo que permite a una parte significativa de la lógica de negocios, ser ejecutada del lado del cliente. Es decir: La interfaz gráfica puede ser mucho más evolucionada (graficas dinámicas, ). La componente puede restaurarse espontáneamente (y descargar datos brutos del servidor).

5 Patrones arquitectónicos III 5 El despliegue, aunque automático, es mucho más pesado. Los requisitos previos sobre los puestos son más importantes. El riesgo es mucho más importante (típicamente con el ActiveX y los plug-ins que se ejecutan sin restricción sobre el sistema operativo).

6 Algunas definiciones I HTML: HyperText Markup Language) es un lenguaje de descripción de contenido basado en marcas. Estas marcas permiten especificar la apariencia de un documento al visualizarlo o al imprimirlo. Las marcas HTML autorizadas están normalizadas por el W3C ( 6 Las páginas HTML son documentos escritos en lenguaje HTML. Estas están compuestas de marcas, de texto y de referencias a otros recursos: otras páginas HTML (vinculadas), datos multimedia (imágenes, sonido, etc.), contenidos activos (applet, ActiveX, plugins). JavaScript: JavaScript es un lenguaje ligero, pero relativamente complejo y potente, que aporta funciones dinámicas a HTML en los navegadores. A pesar de su nombre, es muy diferente del lenguaje Java y no es verdaderamente orientado a objetos (no hay herencia ). Plug-in: Programa descargado e instalado en un navegador. Cuando el navegador detecta un formato de archivo (texto, multimedia, etc.) que reconoce, recurre al plugin asociado para tratarlo. ActiveX: Son componentes computacionales incluidos en una página HTML y cargados por el navegador al mismo tiempo que este se inicializa.

7 Algunas definiciones II 7 ActiveX es una tecnología propietaria que se basa en el COM (Component Object Model), infraestructura de Microsoft, en la cual los desarrolladores pueden construir componentes en los lenguajes de su elección, y compartirlos para elaborar sistemas más complejos y más potentes. La tendencia actual consiste, cada vez más, en ignorar pura y simplemente los ActiveX, que son a menudo rechazados debido a su enorme vulnerabilidad. Applet: es un programa Java cuyo código es cargado en el lado del cliente desde el servidor Web y se ejecuta a continuación en el navegador utilizando un interprete Java (la máquina virtual, o JVM, que esta integrado en la mayoría de los navegadores). El modelo de seguridad de los applets es muy estricto pero evolutivo desde Java 2 (utilización de los certificados). Igualmente puede usarse HTML puro o técnicas basadas en scripts; la utilización de Java (para ser eficaz) requiere de conocimientos previos en diseño y programación orientada a objetos.

8 El cliente Web pesado 8 Desde hace unos años hasta ahora, aparecen nuevas tecnologías que permiten desarrollar la capa de presentación de una aplicación Web. XUL, AJAX, Flash, JSF, Flex, Laszlo, Eclipse RCP, XAML, etc, los buzzwords (Web 2) se multiplican y la elección sobre un proyecto pasa a ser cada vez más difícil! Por lo que se refiere a la arquitectura, las soluciones son sin embargo bastante similares, con la aparición en particular de un concepto de contenedor sobre el lado del cliente. Este contenedor puede ser de distintos orígenes: navegador Web (AJAX), interprete Flash (Flex, Laszlo), máquina virtual Java, Eclipse. Un precursor es XUL: XML User interface Language. XUL es una lenguaje basado en XML, que es utilizado para describir la estructura de la aplicación, pero no las acciones y los comportamientos (es necesario para esto agregarle un lenguaje de script como Javascript.

9 Una arquitectura 9

10 Una alternativa Microsoft propone una alternativa con XAML, basada también en XML y que describe interfaces gráficas, pero se basan en el framework.net 3.0 (antiguamente nombrado WinFX), parte del sistema operativo Vista. Mencionamos también a AJAX, que significa Asynchronous Javascript And XML. Cómo funciona esto? A una petición del cliente, el servidor responde en forma de contenido XML, fragmentos (X)HTML, Javascript, JSON (Javascript Object Notation), etc. Esta respuesta es analizada por el cliente que modifica dinámicamente la interfaz sin recargar integralmente la página Web, con ayuda de Javascript, CSS y HTML. Es pues una técnica que se ejecuta en el navegador y que llama al DHTML (Dynamic HTML). Para concluir (temporalmente) sobre el tema en plena efervescencia del cliente pesado, se puede decir que existen muchas soluciones diferentes con técnicas y niveles de madurez desiguales. Lo que está en juego depende mucho finalmente del contexto: aplicaciones de gestión desarrolladas sobre una intranet o sitios comerciales en Internet, etc. 10

11 Más del cliente pesado 11 El cliente pesado es una aplicación importante, que se realiza en el lado del cliente. Este patrón corresponde típicamente a las aplicaciones Intranet para las cuales se habilita la configuración del cliente: La restricción del despliegue de estos programas es menos fuerte hoy que en el pasado, gracias a la aparición de técnicas de entrega vía la Web (Web delivery). La comunicación cliente/servidor es menos problemática; los protocolos de red son para la mayoría de personas non gratas en la Web debido a las restricciones impuestas por los cortafuegos desde la llegada de los servicios Web. Es por supuesto posible, aplicar varios patrones a una misma aplicación de e-comercio. Nuestro ejemplo podría así, utilizar por un lado el patrón del cliente Web ligero para los casos de uso del internauta, y por otro lado el cliente pesado para los casos de uso de los empleados. El sistema no controla la configuración de los puestos clientes de los internautas (y no queremos limitar a la posible clientela!), pero controla en cambio completamente los puestos clientes de la Librería o el Webmaster.

12 Vista del conjunto de arquitecturas web Presentamos una visión global de las arquitecturas web (que favorecen las tecnologías Java) en la siguiente figura. 12

13 Servicios Web y cookies 13 Un servicio Web (WebService) es un servicio basado en la Web, utilizando XML (extended Markup Language) y más concretamente el formato SOAP para cifrar a la vez el embalaje del mensaje y el contenido del cuerpo del mensaje. Lo que resulta en una integración completamente independiente del sistema operativo, del lenguaje o de cualquier otro producto middleware utilizado por cada uno de los componentes que forman parte del servicio. Un servicio Web no utiliza inevitablemente XML. Las tecnologías iniciales, aún más extendidas, siguen siendo XML-RPC y SOAP, pero REST se esta utilizando cada vez más con mayor frecuencia, y el formato de los datos es libre. Cookie: Pequeño conjunto de informaciones que un servidor puede pedir a un cliente guardar, para pedirle devolverlos más tarde. Una aplicación Web puede por ejemplo utilizar un cookie transitorio para que el servidor siga el rastro de un navegador cliente particular, a lo largo de su recorrido entre las páginas del sitio Web. En cuanto a los cookies permanentes, sirven a menudo de tickets de entrada virtuales evitando al cliente recobrar su información de acceso personal.

14 Algunas definiciones 14 ASP = Active Server Pages (Microsoft) JSP = Java Server Pages (origen: Sun). Los JSP utilizan Java. Los ASP se basan principalmente en los VBScript. Estas páginas son interpretadas en el servidor. Estas pueden así tener acceso a los recursos de la empresa. Es el resultado de esta ejecución que así se devuelve al cliente. EJB = Enterprise Java Beans Los Serviced Components son componentes oficiosos reutilizables albergados por el servidor de aplicación de Microsoft: MTS. En este sentido, son una evolución del modelo COM+, adaptado al framework.net, el colgante de los EJB de la plataforma Java. MTS = Microsoft Transaction Server RDO = Remote Data Object ADO = ActiveX Data Object ODBC = Open Database Connectivity JDBC = Java Database Connectivity

15 El cliente Web ligero I 15 Los componentes principales del patrón arquitectónico cliente Web ligero se encuentran en el servidor. En este sentido, esta arquitectura es efectivamente la de una aplicación Web mínima. El navegador cliente es un navegador HTML estándar compatible con los formularios y con DHTML. Actúa como un dispositivo universal de la interfaz de usuario. Su única función suplementaria puede ser aceptar y devolver cookies. El usuario de la aplicación requiere páginas HTML del lado del servidor a través del navegador. La página devuelta contiene una interfaz enteramente formateada que el navegador presenta en la ventana cliente. El servidor Web es el punto de acceso principal para todos los navegadores clientes. En función de la petición (página HTML estática o página servidor), los tratamientos de la parte del servidor se pueden inicializar. En todos los casos, el resultado es una página HTML mostrada por un navegador HTML estándar. La página servidor es una página que sufre una forma de tratamiento de la parte del servidor. De una manera típica, se aplican estas páginas en el servidor en forma de páginas de escritura (ASP, JSP, etc) que se tratan por un filtro en el servidor de aplicaciones o por un módulo ejecutable. Estas páginas tienen potencialmente acceso a todos los recursos del lado del servidor; esto incluye los componentes de la lógica de negocios, de las bases de datos, de los sistemas tradicionales (legacy) o de los sistemas de pago.

16 El cliente Web ligero II 16 El servidor de aplicaciones es el principal ejecutor de la lógica de negocios del lado del servidor. La ejecución del código en las páginas servidor es de su incumbencia. Puede encontrarse sobre la misma máquina que el servidor Web y puede también ejecutarse en el mismo espacio de proceso. El servidor de aplicaciones es un elemento arquitectónico lógicamente distinto puesto que sólo se le refiere por la ejecución de la lógica de negocios y porque aplica potencialmente tecnologías distintas de las del servidor Web (EJB, Serviced Components). El servidor de datos permite administrar la persistencia de los objetos de negocio, por ejemplo en una base de datos relacional. Para conectarla al sistema, el medio más simple es autorizar los scripts de las páginas servidor que deben accederse directamente al componente de persistencia. Este acceso directo pasará sin embargo por la utilización de bibliotecas estándar de acceso a los datos, como RDO, ADO, ODBC, JDBC, etc. Para sistemas más complejos y más robustos, se prefiere aplicar una capa objeto de negocios completa. Es la óptica que elegimos para nuestro caso de estudio. Como el sistema de persistencia escogido es una base de datos relacional, agregamos una capa (llamada DAO) encargada de efectuar el mapeo entre objeto/relacional.

17 Vista lógica completa del patrón Web ligero La siguiente figura presenta la vista lógica de los principales componentes de la arquitectura del patrón cliente Web ligero. Representamos estos componentes lógicos en forma de paquetes UML, incluyendo temporalmente el modelo de análisis en la capa lógica de negocios. 17

18 Soluciones técnicas propuestas I 18 No tenemos por objetivo presentar en detalle el conjunto de las tecnologías Web existentes. Esto desbordaría por mucho el objetivo propuesto en este curso. Sin embargo, pensamos que es útil bosquejar un cuadro resumido con el fin de incluir las transformaciones que vamos a aplicar a los diagramas de interacciones y a los diagramas de clases. Existen distintas tecnologías para desarrollar aplicaciones Web, por orden de aparición: los CGI, o Common Gateway Interface, que permitieron desarrollar los primeros sitios Web dinámicos. Esta tecnología permite llamar un programa externo al servidor Web en una petición. Este programa puede acceder a todos los recursos necesarios, como una base de datos, y construir la página en función de la petición. Sin embargo, los CGI tienen algunos inconvenientes: mezcla de código HTML y de código de programación que dificulta el mantenimiento, sobrecarga la memoria y la latencia del servicio con el lanzamiento de un nuevo proceso para cada petición, etc.

19 Soluciones técnicas propuestas II 19 Los CGI no se adaptan pues a la creación de aplicaciones web importantes. Las extensiones propietarias de servidores web (ISAPI de Microsoft, NSAPI de Netscape, módulos PHP, Perl de Apache, etc); Los ASP (Microsoft): páginas HTML y VBScript interpretado; Los ASP.NET (Microsoft): páginas HTML y código.net (VB o C#) compilado; Los servlets Java, que son un poco la contrapartida de los applets, pero en el servidor Web. No tienen IHC, son rápidos y potentes. Son también portables bajo la reserva de que los servidores Web concernientes posean una máquina virtual Java embarcada. Los JSP (Java). Vamos a describir más adelante dos grandes tipos de soluciones técnicas: 1. Las soluciones simples a base de lenguajes de script como PHP (o Python); 2. Las soluciones más potentes, pero más complejas, basadas en la plataforma Java (J2EE), en particular con el framework Struts, o sobre la plataforma.net de Microsoft.

20 Solución a base de scripts: PHP I 20 Se utilizan en la actualidad, numerosas lenguajes de scripts para desarrollar sitios Web dinámicos. Entre los más usados, podemos citar Perl, Python y PHP. Este último gana progresivamente el mercado: ha seducido a numerosas personas (desarrolladores) y su simplicidad de aplicación convence también cada vez más a las empresas. Un sitio desarrollado en PHP es muy simple: consta de páginas (cuya extensión es.php) que contienen a la vez código HTML y de las partes de código de programación escritos en lenguaje PHP. Esta última capa manipula las informaciones procedentes de los clientes del sitio mediante sus navegadores Web, y realiza todo tipo de tratamiento. Hay bibliotecas complementarias que permiten a PHP acceder a las bases de datos relacionales como Oracle, MySQL, etc. Si el aprendizaje del lenguaje es trivial, la arquitectura básica que vamos a proponer no asegura la posibilidad de mantenimiento del sitio ni la separación de los roles del programador y del diseñador gráfico.

21 Solución a base de scripts: PHP II 21 Ya que los lenguajes HTML y PHP están completamente entremezclados. Los amateurs de PHP han recurrido a menudo a las técnicas elementales de ingeniería de software externalizando un máximo de código aplicativo en archivos PHP separados, cuyas funciones se invocan desde las páginas de presentación frontales. PHP aplica también los conceptos orientados a objeto (clase, herencia, polimorfismo), los programadores debutantes en orientación a objetos obviamente estarán muy identificados con este tipo de tecnología. La principal crítica que se puede formular respecto a este lenguaje y su plataforma se refiere al desempeño: PHP es una lenguaje interpretado y se ejecutas menos rápido que las páginas dinámicas del tipo servlets/jsp o ASP.NET, que son precompiladas. No obstante, el interprete PHP no deja de mejorarse; los desempeños globales de PHP son pues totalmente aceptables hoy en día para la mayoría de los sitios personales y profesionales.

22 Solución a base de scripts I 22 Además de los lenguajes de scripts que citamos (PHP, Python, Perl), existen iniciativas que se pueden calificar de frameworks globales o de servidores de aplicación, implementados para estos mismas lenguajes y que aportan no solamente servicios técnicos suplementarios, sino que además son guías de buena conducta relativa a la arquitectura técnica. Existe cada vez más; tomemos simplemente el ejemplo de Zope, un servidor de aplicaciones que permite desarrollar aplicaciones de empresa en método cliente ligero, y que se basa en Python del lado del servidor. Zope es un software Open Source, escrito en gran parte en Python ( Ofrece servicios técnicos indispensables para una aplicación de empresa, como la persistencia de los datos de negocios (y la gestión de los antecedentes de los datos), la autenticación de los usuarios, la administración a distancia y a través de la Web de las aplicaciones instaladas Resumidamente, basarse en Zope para desarrollar un sitio de una librería en línea acorta el plazo, limita los riesgos vinculados a la arquitectura técnica, y mejora los desempeños de la aplicación (gracias a una de las técnicas de cache y pooling avanzadas y automáticas).

23 Solución a base de scripts II En dos palabras, Zope incluye a un servidor Web, lo que le permite albergarse y servir las páginas HTML estáticas. Para hacer dinámico el contenido de las páginas, Zope propone el lenguaje DTML, que consiste en un conjunto de marcas que se instalan en la lógica simple en las páginas (iteraciones, visualización de una variable, cálculo muy simple). Sin embargo, el grueso de la lógica de negocios reside en otra parte: es llevada por clases Python que serán manipuladas por las páginas DTML, y las instancias (si se desea) se almacenarán automáticamente en la base de datos orientada a objetos (también incluida en Python). La ventaja de un lenguaje como Python es el compromiso que ofrece entre la simplicidad de aprendizaje e implementación y su potencia de expresión (Python es conciso, orientado a objetos, dinámico, soporta la introspección, etc). Resumidamente, es una lenguaje tan potente como Java o C#, pero más fácilmente accesible. Zope completa Python ofreciendo toda la infraestructura técnica al desarrollador de sitios Web dinámicos. 23

24 Solución Java J2EE, I 24 Con el lenguaje Java apareció una nueva tecnología: los servlets. Estos pequeños servidores o servicios están escritos en lenguaje Java y utilizan una API específica. Corrigen algunas debilidades de los CGI. Los desempeños son mejorados por las funcionalidades multi-threads de los servidores J2EE, evitando la creación de procesos externos. Sin embargo, el desarrollador debe siempre mezclar el código Java y HTML. Además, la menor modificación obliga a recompilar el servlet y a recargarlo. Los JSP, o Java Server Pages, vienen a solucionar estos problemas de recompilación. Aquí, es el código Java el que se incorpora en la página HTML con técnicas de scripting. El servidor compila automáticamente la página en un servlet y lo ejecuta a continuación. Los enfoques a base de scripting requieren la incorporación importante de código aplicativo en HTML.

25 Solución Java J2EE, II 25 Estas técnicas limitan también la reutilización de código. Para lo que es el mundo de Java, se propuso hacer colaborar a los servlets y a los JSP en las aplicaciones. Los desarrolladores utilizan los servlets para administrar los aspectos de programación de una aplicación Web y los JSP se utilizan por los diseñadores gráficos por computadora para efectuar la visualización. Se encuentran así un servlet y un JSP por petición posible en el sitio Web. El servlet no contiene más HTML, y el JSP contiene exactamente el código necesario para la visualización. Este estilo de programación respeta el paradigma MVC.

26 El paradigma MVC (modelo-vista-controlador) 26 El paradigma MVC es un esquema de programación que propone separar una aplicación en tres partes: el modelo, que contiene la lógica y el estado de la aplicación; la vista, que representa la interfaz de usuario; el controlador, que administra la sincronización entre la vista y el modelo. El punto esencial consiste en separar los objetos gráficos de los objetos de negocios, con el fin de poder hacerlos evolucionar independientemente y reutilizarlos. Se puede también administrar fácilmente varias vistas del mismo modelo. El paradigma MVC básico está representado en la figura.

27 Paradigma MVC, I 27 La vista utiliza al controlador para modificar el modelo. Los eventos no hacen más que notificar de un cambio, no del contenido de este cambio. Sin embargo, la vista tiene un determinado conocimiento del modelo puesto que utiliza a sus accesos. Se propuso un MVC optimizado para reducir la comunicación entre las capas.

28 Paradigma MVC, II 28 Los eventos notifican del cambio y de su contenido. El controlador sólo proporciona mutadores. Para los sistemas distribuidos, la notificación puede efectuarse por medio del controlador. Este paradigma esta implementado por Java/Swing. Una tercera versión del paradigma MVC para las aplicaciones Web esta dada en la siguiente figura.

29 Solución Java J2EE, III Al final, tal separación favorece el desarrollo y el mantenimiento de las aplicaciones: Dado que se separó el modelo de los otros componentes, este se desarrolla independientemente. El desarrollador del modelo se concentra en lo funcional y lo transaccional de su aplicación. El modelo no está vinculado a una interfaz, puede entonces reutilizarse (paso de una aplicación con interfaz en Java a una aplicación con interfaz Web). En las aplicaciones J2EE, el modelo está garantizado por EJB y/o los JavaBeans, el controlador está garantizado por los servlets y la vista por los JSP. 29

30 Definiciones 30 JavaBean: Un JavaBean es una clase Java que se ajusta a algunas reglas que permiten la utilización dinámica. Es una clase pública concreta, que posee un constructor público sin argumento. Puede definir propiedades similares a los atributos que poseen los accesos públicos según un convenio de nombrado particular: <property Type> get<propertyname>() void set<propertyname> (<PropertyType>) Framework: Un framework es un conjunto coherente de clases y de interfaces que colaboran para prestar servicios a la parte central de un subsistema lógico. Contiene principalmente clases abstractas que el usuario deberá especializar para sus necesidades funcionales propias, así como las interfaces a las cuales deberá ajustarse.

31 Solución Java J2EE, IV 31 No es sin embargo aún ideal: obliga a escribir una multitud de servlets, que son tantos puntos de entrada en la aplicación. Para atenuar este inconveniente se han desarrollado los frameworks. Estos frameworks que están formados por un único servlet (es decir, un único controlador) se agrupan bajo la etiqueta MVC2. Los frameworks más utilizados actualmente se llaman Struts, Spring y JSF. Struts es un proyecto Open Source desarrollado por la comunidad Yakarta de Apache ( Proporciona un framework MVC2 que incluye los siguientes componentes: un controlador fácilmente configurable que permite asociar acciones (objetos Java) a peticiones http; bibliotecas de tags específicas para crear fácilmente una vista; un Digester, que permite parsear un archivo XML y de recuperar solamente la información deseada; bibliotecas para llenar automáticamente los campos de los formularios y crear aplicaciones que proponen el uso de varios idiomas (internacionalización).

32 Solución Java J2EE, V 32 Spring ( una implementación novedosa del patrón IoC (Inversión del Control) propone también su implementación MVC2. Java Server Faces (JSF) es un framework Web reciente de tipo MVC2 que intenta reconciliar el mundo del desarrollo Internet con el del desarrollo RAD (Delphi, etc.) Su objetivo es permitir el desarrollo de aplicaciones Web basándose en componentes gráficos de alto nivel y un modelo efectivo abstrayendo al desarrollador de las preocupaciones vinculadas a la utilización del protocolo http. Claramente, hay que ser más productivo en la creación de las páginas Web. Desde un punto de vista estratégico y competitivo, JSF es la respuesta de Sun (ahora Oracle) a la tecnología ASP.Net de Microsoft y al concepto de WebForms. Además, Sun desea promover JSF como el framework normal de desarrollo Web, lo que explica su inclusión en el JEE 5, allí donde los otros frameworks del mundo Java (Struts en particular) permanecen como iniciativas Open Source independientes.

33 Solución Java J2EE, VI 33 Técnicamente. JSF es comparable con Struts en numerosos puntos como la presencia de un controlador único (FaceServlet), de bibliotecas de Tags (para facilitar el desarrollo de las vistas) y de un archivo de configuración para definir la cinemática de la aplicación. JSF se limita por el hecho de que las páginas están en auto sumisión (Post-Back), lo que causa una gestión del estado de la vista entre una respuesta del servidor y la petición siguiente del usuario. El ciclo de tratamiento de una demanda es mucho más preciso que con Struts, la programación de más alto nivel, la presencia de eventos del lado del servidor vuelve más fácil la asimilación de esta tecnología por equipos poco familiarizados con el desarrollo Web y la presencia de muchas bibliotecas de componentes JSF (Tomahawk del proyecto Open Source MyFaces que es el más conocido) mejora considerablemente el tiempo de desarrollo.

34 Solución Microsoft.NET, I 34 Microsoft propone desde hace algunos años una herramienta muy simple para el desarrollo de sitios Web (arquitectura cliente ligero): los ASP. Muy próximos a las técnicas de scripting que ya mencionamos, los ASP mezclan lenguaje HTML y lenguaje de programación (VBScript, Jscript, ). No obstante, esta técnica presenta una serie de limitaciones (desempeño, mantenimiento) que impulsaron a Microsoft a mejorar este framework y a hacerlo evolucionar en ASP.NET.

35 Solución Microsoft.NET, II 35 Los ASP.NET ofrecen una manera original de desacoplar el código aplicativo del código de presentación: es siempre posible escribir páginas HTML y de hacer dinámico su contenido por la inclusión de algunas líneas de código (esta vez en lenguaje C# o VB.NET), pero se desplaza la parte esencial del código aplicativo en una clase asociada a la página ASP.NET: una clase denominada CodeBehind (Framework 1.1) o CodeBeside (Framework 2.0). Esta clase puede contener por ejemplo todos los métodos de reacción a los eventos del usuario (click sobre un supervínculo, modificación o introducción de una zona de texto, subordinación de un formulario ) Esto no es todo: ASP.NET propone ir aún más lejos con el framework WebForms, que ayuda a desarrollar gráficamente páginas dinámicas (y reactivadas a los eventos usuario), al igual que cuando se desarrollaría una aplicación «cliente pesado» en VisualBasic, Delphi, PowerBuilder o Java/Swing. La facilidad de uso de estas herramientas es desconcertante e invita a basarse en una arquitectura propia que favorece el mantenimiento y el desempeño, lo que acelera el tiempo de desarrollo.

36 Solución Microsoft.NET, III 36 Finalmente, en este nuevo framework ASP.NET, los resultados se mejoran claramente debido al hecho de que todas las páginas (ASP.NET) y las clases (CodeBehind) son precompiladas y no ejecutadas como era el caso en ASP. El framework.net 3.0 es un agregado al framework.net 2.0. Se suministra con Windows Vista y puede instalarse sobre Windows XP SP2 o Windows 2003 Server, etc. Las contribuciones se refieren a: WCF (Windows Comunicación Foundation, antiguamente Indigo): un modelo de programación para aplicaciones orientadas a servicio (SOA), en particular Servicios Web. WPF (Windows Presentation Foundation, antiguamente Avalon): XAML. WF (Windows Workflow Foundation, ya que WWF ya se consideraba!) : un modelo de programación para aplicaciones bajo la forma de proceso oficioso. WCS (Windows CardSpace): facilita el intercambio de informaciones de identificación personal.

37 .NET Framework

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O Fundamentos de las aplicaciones Web Página Web Sitio Web Servidor Web Aplicación Web HTTP y HTML Página Web Una página web

Más detalles

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web. Sesión 01: Introducción a los lenguajes web COMPUTACION E INFORMATICA WEB DEVELOPPER III Competencias a Conseguir: - Introducción general a la programación web. - Conocer y diferenciar el concepto de páginas

Más detalles

2.3. Lenguajes de programación del lado Servidor. ASP.NET (Active Server Pages).

2.3. Lenguajes de programación del lado Servidor. ASP.NET (Active Server Pages). 2.3. Lenguajes de programación del lado Servidor Existe una multitud de lenguajes concebidos o no para Internet. Cada uno de ellos explota más a fondo ciertas características que lo hacen más o menos útiles

Más detalles

Historia de revisiones

Historia de revisiones GVA Glosario Versión 1.2 Semana 4 Historia de revisiones Fecha Versión Descripción Autor 20/08/2014 1.0 Comienzo del documento Nicolás Fiumarelli 30/08/2014 1.1 Correcciones y agregados Martín Santagata

Más detalles

Sistema de Mensajería Empresarial para generación Masiva de DTE

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

Internet Servicios WEB (WWW)

Internet Servicios WEB (WWW) Universidad de Cantabria Internet Servicios WEB (WWW) Arquitectura de Aplicaciones WEB Febrero-2006 Ricardo Sáez Marta Zorrilla Internet- Arquitectura aplicaciones 1 Cliente/Servidor & Intranet/Internet

Más detalles

Ambiente Virtual de Comercio Electrónico B2B para la Comunidad Virtual de Negocios del departamento del Cauca

Ambiente Virtual de Comercio Electrónico B2B para la Comunidad Virtual de Negocios del departamento del Cauca Ambiente Virtual de Comercio Electrónico B2B para la Comunidad Virtual de Negocios del departamento del Cauca Ing. WILSON ALFREDO ORTEGA ORDOÑEZ Ing. JUAN CARLOS MENDEZ CAMACHO Universidad del Cauca Facultad

Más detalles

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web Arquitectura 1.- Aplicaciones Web Definición Contenidos 1.- Aplicaciones Web 2.- Arquitectura de aplicaciones Web Lo que distingue una aplicación Web de una mero sitio Web reside en la posibilidad que

Más detalles

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución

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

APLICACIONES PARA INTERNET

APLICACIONES PARA INTERNET CUN APLICACIONES PARA INTERNET GUIA 1 Juan Carlos Saavedra Serrato 2014 1. Consulte Cuantos tipos de Lenguajes de programación web existen y reseñe una característica de cada uno de ellos. Los diferentes

Más detalles

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, 6 28014 Madrid

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, 6 28014 Madrid Descarga Automática Manual de Usuario Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, 6 28014 Madrid Versión 5.2 Fecha: 2008-10-15 Ref : MU_DescargaAutomática.doc ÍNDICE 1 INTRODUCCIÓN...

Más detalles

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman 11/06/2011 Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman Introducción Gestión de tareas Unificar la vía por la que se requieren las tareas Solución única y global Seguimiento de las tareas

Más detalles

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts Temario Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts Abril 2007 1. Introducción Se describe a continuación de forma detallada el programa del curso Desarrollo de Aplicaciones Web con Java: J2EE

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

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y Capítulo VI Conclusiones En este capítulo abordaremos la comparación de las características principales y de las ventajas cada tecnología Web nos ofrece para el desarrollo de ciertas aplicaciones. También

Más detalles

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura Desarrollo de Proyectos en en el Gobierno de Extremadura Página 1 de 10 Control de versiones Núm Fecha Descripción Autores 1.0 01/09/2012 Estandar para el desarrollo de portales con el gestor de contenidos

Más detalles

Complejo Deportivo UCA. República Saharaui s/n 11510 Puerto Real (Cádiz) Tel.956016270.Fax.956016275 www.uca.es/deportes e-mail: deport@uca.

Complejo Deportivo UCA. República Saharaui s/n 11510 Puerto Real (Cádiz) Tel.956016270.Fax.956016275 www.uca.es/deportes e-mail: deport@uca. La dificultad de los usuarios, tanto de la comunidad universitaria como externos, a la hora de desplazarse a las oficinas del Área para llevar a cabo las distintas gestiones, ha ido obligando al (ADE)

Más detalles

APLICACIONES WEB GOOGLE ANAYLITICS

APLICACIONES WEB GOOGLE ANAYLITICS APLICACIONES WEB GOOGLE ANAYLITICS Elena Berti Rebecca Thompson 2º DAW ÍNDICE Qué es una Aplicación Web Consideraciones técnicas Estructura de las Aplicaciones Web Ventajas Inconvenientes Diferencia entre

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

CIMA. MANUAL DE USUARIO

CIMA. MANUAL DE USUARIO MANUAL DE USUARIO Proyecto: Consultoría para la Implementación de una base de datos y un sistema web para almacenar y manejar la información de proyectos y/o actividades en el Parque nacional Cordillera

Más detalles

7.1 Java vs.net, la lucha se acrecienta

7.1 Java vs.net, la lucha se acrecienta 7.1 Java vs.net, la lucha se acrecienta Java fue capaz de introducir una cuña en el negocio de herramientas de Microsoft cuando fue introducida al mercado por primera vez a mediados de los '90 porque ofrecía

Más detalles

La gestión de contenidos en el nuevo Portal del Ministerio de Hacienda

La gestión de contenidos en el nuevo Portal del Ministerio de Hacienda La gestión de contenidos en el nuevo Portal del Ministerio de Hacienda Raquel Poncela González Introducción La aparición de los gestores de contenidos para la gestión de portales ha sido una verdadera

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

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

Diseño y desarrollo de el Generador de Tiendas virtuales usando Líneas de Diseño de productos

Diseño y desarrollo de el Generador de Tiendas virtuales usando Líneas de Diseño de productos Pontificia Universidad Javeriana Informe Final Proyecto Dirigido Diseño y desarrollo de el Generador de Tiendas virtuales usando Líneas de Diseño de productos Autor: Luis Gabriel Rodríguez Profesora: Luisa

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

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas Capítulo I Definición del problema y objetivos de la tesis 1.1 Introducción En la actualidad Internet se ha convertido en una herramienta necesaria para todas las personas ya que nos permite realizar diferentes

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

Capítulo 5. Implementación del Sistema de Inscripciones

Capítulo 5. Implementación del Sistema de Inscripciones Capítulo 5. Implementación del Sistema de Inscripciones 5.1 Tecnologías utilizadas en el desarrollo En esta sección se exponen brevemente las tecnologías utilizadas en la implementación de los diferentes

Más detalles

4 ARQUITECTURA DE COMUNICACIONES

4 ARQUITECTURA DE COMUNICACIONES 4 ARQUITECTURA DE COMUNICACIONES Las redes de computadoras son típicamente heterogéneas. Por ejemplo, la red interna de una universidad puede estar hecha de múltiples plataformas. Puede haber un servidor

Más detalles

Programación con PHP y MySql Instituto CBTech 5/14

Programación con PHP y MySql Instituto CBTech 5/14 Programación con PHP y MySql Instituto CBTech 5/14 Programación con PHP y MySql Instituto CBTech 6/14 Qué es una aplicación web? Una aplicación web es un sistema informático que los usuarios utilizan accediendo

Más detalles

REQUERIMIENTOS NO FUNCIONALES

REQUERIMIENTOS NO FUNCIONALES REQUERIMIENTOS NO FUNCIONALES REQUERIMIENTOS NO FUNCIONALES A continuación se describen las principales características no funcionales que debe contener el sistema de información. Interfaces de usuario.

Más detalles

Ejemplo de una aplicación Web para el curso G R U PO MOVIS F C C - B UAP

Ejemplo de una aplicación Web para el curso G R U PO MOVIS F C C - B UAP Ejemplo de una aplicación Web para el curso A B R A H AM SÁNCHEZ LÓPEZ G R U PO MOVIS F C C - B UAP Introducción 2 Presentamos en primer lugar el estudio de un caso que servirá como ejemplo a lo largo

Más detalles

PLATAFORMA VIRTUAL PARA LA PUBLICACIÓN N DE EVENTOS. Ing. Alberto Nogueira Keeling MSc. Elizabeth Au Capo Citmatel 2003

PLATAFORMA VIRTUAL PARA LA PUBLICACIÓN N DE EVENTOS. Ing. Alberto Nogueira Keeling MSc. Elizabeth Au Capo Citmatel 2003 VIRTUAL PARA LA PUBLICACIÓN N DE EVENTOS Ing. Alberto Nogueira Keeling MSc. Elizabeth Au Capo Citmatel 2003 En qué consiste la plataforma? PORTAL DE EVENTOS EVENTO 1 Sitio Web EVENTO 2 Sitio Web... EVENTO

Más detalles

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV Página 1 de 6 1. OBJETIVO El presente documento tiene la finalidad de citar los beneficios de la migración de la herramienta de análisis de riesgo, mantenimiento e inspección que en lo sucesivo se denominará

Más detalles

Introducción a Visual Studio.Net

Introducción a Visual Studio.Net Introducción a Visual Studio.Net Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones Web ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones

Más detalles

Evaluar el rendimiento de los servicios de comunicaciones. ANEXO CLIV

Evaluar el rendimiento de los servicios de comunicaciones. ANEXO CLIV 746 Miércoles 5 octubre 2005 Suplemento del BOE núm. 238 CE2.1 Identificar los distintos sistemas de archivo utilizables en un dispositivo de almacenamiento dado para optimizar los procesos de registro

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

4. Base de datos XML nativa: Marklogic

4. Base de datos XML nativa: Marklogic 4. Base de datos XML nativa: Marklogic XML ha ganado con el paso de los años protagonismo a la hora de trabajar con la información. Su lenguaje fuertemente tipado permite la comunicación entre distintas

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

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

Análisis de aplicación: Geany

Análisis de aplicación: Geany Análisis de aplicación: Geany Este documento ha sido elaborado por el Centro de excelencia de software libre de Castilla La Mancha (Ceslcam, http://ceslcam.com). Copyright 2011, Junta de Comunidades de

Más detalles

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) APRENDERAPROGRAMAR.COM GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) Sección: Cursos Categoría: Tutorial básico del programador web: HTML desde cero Fecha

Más detalles

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral

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

DISEÑO E INTEGRACIÓN DE UN CONJUNTO DE APLICACIONES ORIENTADAS A ENTORNOS HOSPITALARIOS SOBRE DISPOSITIVOS PDA-WIRELESS Pase de Visita Médico

DISEÑO E INTEGRACIÓN DE UN CONJUNTO DE APLICACIONES ORIENTADAS A ENTORNOS HOSPITALARIOS SOBRE DISPOSITIVOS PDA-WIRELESS Pase de Visita Médico DISEÑO E INTEGRACIÓN DE UN CONJUNTO DE APLICACIONES ORIENTADAS A ENTORNOS HOSPITALARIOS SOBRE DISPOSITIVOS PDA-WIRELESS Pase de Visita Médico AUTORES: Freya Gargoulas Falgueras, Informática, Fundació IBIT

Más detalles

UF0320: Aplicaciones informáticas de tratamiento de textos

UF0320: Aplicaciones informáticas de tratamiento de textos UF0320: Aplicaciones informáticas de tratamiento de textos TEMA 1. Conceptos generales y características fundamentales del programa de tratamiento de textos TEMA 2. Introducción, desplazamiento del cursor,

Más detalles

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D) APRENDERAPROGRAMAR.COM QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D) Sección: Divulgación Categoría: Lenguajes y entornos

Más detalles

Tema 5: Tecnologías Web

Tema 5: Tecnologías Web Apuntes de Introducción a Internet Tema 5: Tecnologías Web Uploaded by Ingteleco http://ingteleco.webcindario.com ingtelecoweb@hotmail.com La dirección URL puede sufrir modificaciones en el futuro. Si

Más detalles

QUÉ ES Y QUÉ ESTUDIAR PARA SER PROGRAMADOR WEB? ITINERARIO DE FORMACIÓN, PLAN DE ESTUDIOS O DE CARRERA. (CE00302D)

QUÉ ES Y QUÉ ESTUDIAR PARA SER PROGRAMADOR WEB? ITINERARIO DE FORMACIÓN, PLAN DE ESTUDIOS O DE CARRERA. (CE00302D) APRENDERAPROGRAMAR.COM QUÉ ES Y QUÉ ESTUDIAR PARA SER PROGRAMADOR WEB? ITINERARIO DE FORMACIÓN, PLAN DE ESTUDIOS O DE CARRERA. (CE00302D) Sección: Cómo empezar Categoría: Orientación académica Fecha revisión:

Más detalles

Generador GeneXus JAVA

Generador GeneXus JAVA Generador GeneXus JAVA Ú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

Más detalles

.Tl@cuilonet: Un patrón arquitectónico para la creación de cursos WBT

.Tl@cuilonet: Un patrón arquitectónico para la creación de cursos WBT .Tl@cuilonet: Un patrón arquitectónico para la creación de cursos WBT Juan Mexica Rivera y Esmeralda Contreras Trejo Universidad Tecnológica de Nezahualcóyotl División de Informática y Computación Circuito

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

CAPITULO 3 MOVILIDAD EN LA NAVEGACIÓN Y ALMACENAMIENTO EN BASES DE DATOS

CAPITULO 3 MOVILIDAD EN LA NAVEGACIÓN Y ALMACENAMIENTO EN BASES DE DATOS CAPITULO 3 MOVILIDAD EN LA NAVEGACIÓN Y ALMACENAMIENTO EN BASES DE DATOS La introducción de las redes locales marca una nueva etapa en la evolución de las computadoras personales al permitir ligar varias

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya

Más detalles

LA REVOLUCIÓN DE LOS SISTEMAS DE INFORMACIÓN (S.I.) Introducción PORQUÉ SISTEMAS DE INFORMACIÓN? El Competitivo Entorno de los Negocios

LA REVOLUCIÓN DE LOS SISTEMAS DE INFORMACIÓN (S.I.) Introducción PORQUÉ SISTEMAS DE INFORMACIÓN? El Competitivo Entorno de los Negocios LA REVOLUCIÓN DE LOS SISTEMAS DE INFORMACIÓN (S.I.) Introducción Tanto empresas grandes como pequeñas usan Sistemas de Información y Redes para realizar una mayor proporción de sus actividades electrónicamente,

Más detalles

Arquitectura Cliente/Servidor

Arquitectura Cliente/Servidor Arquitectura Cliente/Servidor Claudio Cubillos Escuela de Ingeniería Informática Pontificia Universidad Católica de Valparaíso, Chile claudio.cubillos@ucv.cl Arquitectura cliente/servidor v Servidor: rol

Más detalles

L U I S P A T I Ñ O IN FOR M Á T I C A SIS T E M A S AVA N Z A DOS

L U I S P A T I Ñ O IN FOR M Á T I C A SIS T E M A S AVA N Z A DOS 1 1 EFACTURA ONLINE... 3 1.1 INTERFACE DE EFACTURA ONLINE... 3 1.2 BARRA SUPERIOR... 4 1.3 ÁREA DE TRABAJO. PESTAÑAS... 4 2 EMPRESAS... 5 3 PERSONALIZAR FACTURA... 7 4 CLIENTES... 8 5 FACTURAR... 9 5.1

Más detalles

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE Versión 1.3 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario del NORMATIVA

Más detalles

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales. www.librosdigitales.

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales. www.librosdigitales. 1 Arquitectura de una Aplicación Android Para empezar con el desarrollo de aplicaciones en Android es importante conocer cómo está estructurado este sistema operativo. A esto le llamamos arquitectura y

Más detalles

Guías técnicas Grupo Danysoft: Aplicaciones Web seguras con ASP.NET

Guías técnicas Grupo Danysoft: Aplicaciones Web seguras con ASP.NET Guías técnicas Grupo Danysoft: Aplicaciones Web seguras con ASP.NET Leonardo Diez Equipo Grupo Danysoft septiembre de 2003 - (902) 123146 www.danysoft.com Este documento se ha realizado utilizando Doc-To-Help,

Más detalles

OBJETIVO: Introducción al editor de páginas web Macromedia Dreamweaver.

OBJETIVO: Introducción al editor de páginas web Macromedia Dreamweaver. SEMINARIO DIOCESANO DE CRISTO SACERDOTE TECNOLOGIA EN INFORMATICA GRADO: 11 TEMA: INTRODUCCIÓN A MACROMEDIA DREAMWEAVER OBJETIVO: Introducción al editor de páginas web Macromedia Dreamweaver. 1 Qué es

Más detalles

EXTENSIÓN DE UML PARA APLICACIONES WEB

EXTENSIÓN DE UML PARA APLICACIONES WEB EXTENSIÓN DE UML PARA APLICACIONES WEB 1. Descripción Esta extensión de UML define un conjunto de estereotipos, valores etiquetados y restricciones que nos permiten modelar aplicaciones web. Los estereotipos

Más detalles

Instalación y Configuración del IIS para la facturación WEB en Aspel-SAE 6.0

Instalación y Configuración del IIS para la facturación WEB en Aspel-SAE 6.0 Instalación y Configuración del IIS para la facturación WEB en Aspel-SAE 6.0 Para utilizar la modalidad de facturación WEB es necesario realizar los siguientes procedimientos: 1. Instalar IIS de acuerdo

Más detalles

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14 EVALUACIÓN A TRAVÉS DE LA WEB: EL SISTEMA TUTORMAP 1 R.Criado, D.Martín y S. Sánchez (GIEMATI, Dpto. de CC. Experimentales e Ingeniería de la URJC) Resumen En este trabajo se describen las características

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

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

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

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

Capítulo III. Análisis y diseño.

Capítulo III. Análisis y diseño. Capítulo III. Análisis y diseño. 3.1 Análisis. El análisis es el intermediario entre los requisitos del sistema y el diseño, esta sección definiremos el análisis con una serie de modelos técnicos del sistema,

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

FeriaOnline.com C/Llamaquique Nº 4 Tfno: 985256655 33005 Oviedo mail: info@feriaonline.com Url: www.feriaonline.com

FeriaOnline.com C/Llamaquique Nº 4 Tfno: 985256655 33005 Oviedo mail: info@feriaonline.com Url: www.feriaonline.com FeriaOnline.com C/Llamaquique Nº 4 Tfno: 985256655 33005 Oviedo mail: info@feriaonline.com Url: www.feriaonline.com 6.1 Creación de materiales con MS Office ÍNDICE: 1.- DOCUMENTACIÓN CON WORD 1.1 Los Hipervínculos

Más detalles

JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE

JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE Jefe de Servicio de Integración de Aplicaciones Corporativas Dirección General de Informática (Comunidad Autónoma Región de Murcia) Técnico Responsable Dirección

Más detalles

Rafael Doña Gil. Enginyeria Tècnica en Informàtica de Sistemes. Consultor: Jose Juan Rodríguez

Rafael Doña Gil. Enginyeria Tècnica en Informàtica de Sistemes. Consultor: Jose Juan Rodríguez Rafael Doña Gil Enginyeria Tècnica en Informàtica de Sistemes Consultor: Jose Juan Rodríguez 14 de Enero de 2013 Contenido 1. Introducción 2. Análisis funcional 3. Diseño Técnico 4. Implementación 5. Conclusiones

Más detalles

Unidad V: Programación del lado del servidor

Unidad V: Programación del lado del servidor Unidad V: Programación del lado del servidor 5.1 Introducción al lenguaje La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante

Más detalles

Capítulo 11. Conclusiones y trabajo futuro

Capítulo 11. Conclusiones y trabajo futuro Capítulo 11. Conclusiones y trabajo futuro En esta tesis ha realizado un entorno de desarrollo Web que proporciona herramientas para la mejora de la calidad del código de los desarrolladores. Para conseguir

Más detalles

Desarrollo Web en Entorno Servidor

Desarrollo Web en Entorno Servidor Desarrollo Web en Entorno Servidor Tema 1: Introducción 1. Tipos de páginas Web. 2. Instalación del software. (XAMPP) 1 Tipos de páginas Web. Páginas estáticas. Páginas dinámicas. 2 Tipos de páginas Web.

Más detalles

GUÍA DE INSTALACIÓN Y USO PISIS CLIENTE

GUÍA DE INSTALACIÓN Y USO PISIS CLIENTE MINISTERIO DE SALUD Y PROTECCIÓN SOCIAL BOGOTÁ, SEPTIEMBRE DE TABLA DE CONTENIDO 1. PROPÓSITO... 3 2. ALCANCE... 3 3. DOCUMENTOS DEL SIGI ASOCIADOS A LA GUÍA... 3 4. INTRODUCCIÓN... 4 5. REQUERIMIENTOS

Más detalles

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX...

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX... INDICE 1 Configuración previa...2 1.1 Configuración Internet Explorer para ActiveX...2 1.2 Problemas comunes en sistema operativo Windows...8 1.2.1 Usuarios con sistema operativo Windows XP con el Service

Más detalles

DISEÑO ORGANIZACIONAL. Diseño web avanzado con HTML5 y CSS5

DISEÑO ORGANIZACIONAL. Diseño web avanzado con HTML5 y CSS5 DISEÑO ORGANIZACIONAL Diseño web avanzado con HTML5 y CSS5 PRESENTACIÓN Curso de diseño de páginas web en el que se estudian técnicas avanzadas y novedosas gracias a la aplicación de los estándares web

Más detalles

> Crear y modificar lenguajes (ASP, PHP, HTML, CSS, JavaScript) del Portal e Intranet, de manera centralizada.

> Crear y modificar lenguajes (ASP, PHP, HTML, CSS, JavaScript) del Portal e Intranet, de manera centralizada. INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE No 014-2007-GT1000 ~d~uisicion de Licencias para diseño, desarrollo y mantenimiento de aplicaciones Web 1. MBRE DEL ÁREA: Subgerencia de Servicios de Tecnologías

Más detalles

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010 Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010 CONTENIDO 1. Qué es? 2. Cómo crear y acceder a la Comunidad Virtual en Microsoft SharePoint 2010? Ejemplo. 3. Qué tengo en la página de inicio

Más detalles

Módulo 2. Inicio con Java

Módulo 2. Inicio con Java Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

Características. Las características que tiene nuestro software son las siguientes:

Características. Las características que tiene nuestro software son las siguientes: Introducción Actualmente navegando por la Red podemos encontrar multitud de sitios Web que ofrecen noticias y otros artículos que se actualizan frecuentemente, cuentas de usuario personalizadas, encuestas

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

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN GUÍA PARA LA PRESENTACIÓN DE NOTIFICACIONES Versión: 27/06/2012-1 ÍNDICE:

Más detalles

CAMPUS VIRTUAL PALMAACTIVA GUÍA DEL ALUMNO. cursosonline.palmaactiva.com

CAMPUS VIRTUAL PALMAACTIVA GUÍA DEL ALUMNO. cursosonline.palmaactiva.com E CAMPUS VIRTUAL PALMAACTIVA GUÍA DEL ALUMNO cursosonline.palmaactiva.com 1. REQUISITOS MÍNIMOS Para un correcto funcionamiento del Aula Virtual debe contar con un ordenador con: Conexión a Internet de

Más detalles

Análisis de Requisitos integración FORMIGA-CLOUD / DIRAC (Prototipo II)

Análisis de Requisitos integración FORMIGA-CLOUD / DIRAC (Prototipo II) 1 Universidad de Santiago de Compostela Análisis de Requisitos integración FORMIGA-CLOUD / DIRAC (Prototipo II) PROYECTO FORMIGACLOUD INTEGRACIÓN CON DIRAC V.2 (Infraestructura distribuida con control

Más detalles

Grupo de Trabajo sobre protección de las personas en lo que respecta al tratamiento de datos personales. Recomendación 1/99

Grupo de Trabajo sobre protección de las personas en lo que respecta al tratamiento de datos personales. Recomendación 1/99 5093/98/ES/final WP 17 Grupo de Trabajo sobre protección de las personas en lo que respecta al tratamiento de datos personales Recomendación 1/99 sobre el tratamiento invisible y automático de datos personales

Más detalles

UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA INDUSTRIAL Y SISTEMAS UMBRELLO ADMINISTRACION DE BASE DE DATOS

UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA INDUSTRIAL Y SISTEMAS UMBRELLO ADMINISTRACION DE BASE DE DATOS UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA INDUSTRIAL Y SISTEMAS UMBRELLO ADMINISTRACION DE BASE DE DATOS INTEGRANTES: ALVAREZ CANO, FRANKLIN (20040121H) VEGA RAMOS, OMAR (20030037D) 1 AGENDA

Más detalles

DIAGRAMA DE CLASES EN UML

DIAGRAMA DE CLASES EN UML DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto jflores@usmp.edu.pe Ing. Carmen Bertolotti Zuñiga cbertolotti@usmp.edu.pe INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,

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

METODOLOGÍA E IMPLEMENTACIÓN DEL SIGGA (SISTEMA DE INFORMACION GEOGRAFICA: GOBERNANZA DEL AGUA)

METODOLOGÍA E IMPLEMENTACIÓN DEL SIGGA (SISTEMA DE INFORMACION GEOGRAFICA: GOBERNANZA DEL AGUA) METODOLOGÍA E IMPLEMENTACIÓN DEL SIGGA (SISTEMA DE INFORMACION GEOGRAFICA: GOBERNANZA DEL AGUA) I.1 Definición de SIG Es un sistema compuesto por hardware, software y procedimientos para capturar, manejar,

Más detalles

Manual de configuración de navegadores para el uso de componentes Java

Manual de configuración de navegadores para el uso de componentes Java Manual de configuración de navegadores para el uso de componentes Java Índice de contenido Descargar e instalar Java...3 Notificaciones sobre Java desactivado y restauración de peticiones de datos...4

Más detalles

JavaScript como Orientación a Objetos

JavaScript como Orientación a Objetos Gustavo Lacoste (gustavo@lacosox.org) October 2012 Resumen El objetivo de las siguientes notas es generar una estructura en JavaScript que nos permita reutilizar de manera limpia las funciones creadas

Más detalles

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Índice 1 Introducción... 5 1.1 Perfil de la aplicación... 5 1.2 Requisitos técnicos... 5 2 Manual de usuario... 7 2.1 Instalación del certificado...

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