ANÁLISIS COMPARATIVO DE HERRAMIENTAS PARA EL DESARROLLO DE APLICACIONES WEB ORIENTADAS A LA VENTA DE PRODUCTOS VÍA INTERNET

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

Download "ANÁLISIS COMPARATIVO DE HERRAMIENTAS PARA EL DESARROLLO DE APLICACIONES WEB ORIENTADAS A LA VENTA DE PRODUCTOS VÍA INTERNET"

Transcripción

1 FACULTAD DE INGENIERÍA ESCUELA DE SISTEMAS ANÁLISIS COMPARATIVO DE HERRAMIENTAS PARA EL DESARROLLO DE APLICACIONES WEB ORIENTADAS A LA VENTA DE PRODUCTOS VÍA INTERNET TEMA DE DISERTACIÓN DE GRADO POR: DIRECTOR: ING. FABIO PUENTE CORRECTOR: ING. JAIME NARANJO CORRECTOR: ING. ALFREDO CALDERÓN QUITO, JULIO 2002

2 2 ÍNDICE ÍNDICE GENERAL ÍNDICE... 2 Índice general... 2 Índice de cuadros... 7 CAPÍTULO 1: Marco teórico Aplicación web Definición de aplicación web Arquitectura de una aplicación web Características de una aplicación web Hosting de la aplicación web Venta de productos vía Internet Seguridades en ventas vía Internet Secure Sockets Layer Firewalls Transacciones Tipos de transacciones Procedimientos en ventas vía Internet en el Ecuador CAPÍTULO 2: Tecnologías y herramientas en aplicaciones web... 22

3 3 2.1 Tecnologías del lado del cliente HTML XML WML JavaScript JScript VBScript CSS HTML Dinámico Applets de Java Controles Active X Tecnologías del lado del servidor Servidor Web Servidor Web Apache Servidor Web IIS CGI Perl PHP Java servlets JSP ASP Enterprise JavaBeans Principales herramientas usadas en el mercado Borland JBuilder 4 Enterprise... 35

4 ColdFusion Studio Macromedia Dreamweaver UltraDev Forte for Java Internet Edition Microsoft Visual Interdev Oracle Internet Developer Suite with JDeveloper WebSphere Studio 3.5 with VisualAge CAPÍTULO 3: Criterios de selección de herramientas Requerimientos de empresa Animaciones Interacción dinámica con los usuarios Audio y video en la red Manejo de bases de datos Ventas vía Internet Requerimientos según volumen de información manejada Oracle9i IBM DB Sybase Adaptive Server IQ Multiplex Microsoft SQL Server Informix Dynamic Server Requerimientos según cantidad de usuarios Requerimientos según políticas del negocio CAPÍTULO 4: Definición de un problema real... 60

5 5 4.1 Descripción de la empresa Misión Visión Objetivos Requerimientos de la empresa seleccionada Clasificación de los productos Información sobre productos Volumen de información Realización de compras Seguridades Otros requerimientos CAPÍTULO 5: Diseño de la solución Herramientas seleccionadas Criterios aplicados en la selección de herramientas Análisis costo beneficio Diseño de la base de datos Diagramas de flujo de datos Nivel Cero: Diagrama de contexto Nivel Uno Nivel Dos: Consultar información y realizar pedido Nivel Dos: Confirmar pedido Nivel Dos: Actualizar información... 72

6 6 5.6 Diseño de interfaces Metodología de programación a utilizar CAPÍTULO 6: Implementación Instalación de las herramientas Creación de la base de datos Desarrollo de la aplicación Data Tags Sentencias SQL Javascripts: códigos del lado del usuario JSP: códigos del lado del servidor Combinación de códigos JSP y JavaScript Desarrollo de la interfaz CAPÍTULO 7: Producto final, pruebas y mantenimiento Producto final Descripción de la aplicación para los usuarios Descripción de la aplicación para el administrador Alcance del sistema Pruebas Mantenimiento CONCLUSIONES... 86

7 7 RECOMENDACIONES ANEXO 1: Algoritmo de validaciones de tarjetas de crédito ANEXO 2: Manual del usuario Búsquedas de artesanías Carro de compras Procesar pedido Mis pedidos Información adicional ANEXO 3: Manual del administrador ANEXO 4: Manual del programador BIBLIOGRAFÍA Y FUENTES DE INFORMACIÓN ÍNDICE DE CUADROS Cuadro 1.1: Costos para una Mechant Account Internacional...21 Cuadro 2.1: Tecnologías para aplicaciones web...34 Cuadro 2.2: Principales herramientas para el desarrollo de aplicaciones web...48 Cuadro 5.1: Precios de los productos Oracle...66

8 8 CAPÍTULO 1: MARCO TEÓRICO 1.1 APLICACIÓN WEB Definición de aplicación web Una aplicación es cualquier programa diseñado para realizar una función específica para el usuario o, en algunos casos, para otra aplicación. Los procesadores de texto, bases de datos, navegadores de Internet, herramientas de desarrollo, programas de edición de imágenes y programas de comunicación son ejemplos de aplicaciones. Estos programas usan los servicios del sistema operativo y de otros programas de soporte. 1 Las aplicaciones en un comienzo se limitaban a funcionar únicamente en una sola máquina. A estas aplicaciones monousuario les siguieron las cliente-servidor, las cuales interactúan con otros sistemas de otras máquinas dentro de una red, comparten recursos y centralizan la información. Actualmente, y debido a la popularidad de la Internet, se habla ya de aplicaciones web, las cuales residen en uno o varios servidores en la red e interactúan con el usuario mediante la interfaz de su navegador. Una aplicación web se diferencia de un sitio web con documentos estáticos en que se generan contenidos automáticamente, se procesan datos del usuario y se interactúa con otros sistemas, como por ejemplo sistemas de contabilidad e inventarios.

9 9 Además se realizan consultas a bases de datos, se mantienen catálogos inteligentes, se maneja grandes cantidades de información, se tiene una consistencia en la presentación gráfica de la información y se realiza un procesamiento avanzado de datos Arquitectura de una aplicación web El modelo de arquitectura que utilizan las aplicaciones web es una variación del modelo cliente servidor que contiene cuatro capas separadas y bien definidas. Cada capa se ejecuta en diferentes plataformas: a) La interfaz del usuario, o el cliente, la cual se ejecuta en la máquina del usuario. 1 Definición de aplicación tomada de WhatIs

10 10 b) Los módulos que se encargan de publicar el contenido de la aplicación a los usuarios. Esta capa se ejecuta en un servidor llamado el servidor de presentación. c) Los módulos funcionales que procesan datos o la capa de la lógica del negocio. Esta capa intermedia se ejecuta en un servidor generalmente llamado servidor de aplicación. d) Un sistema de administración de base de datos que almacena la información que necesita la capa intermedia. Esta capa se ejecuta en un otro servidor llamado el servidor de base de datos. Este diseño en cuatro capas es a la final un diseño en n capas 2, debido a que la capa lógica y la capa de datos se las puede dividir tantas veces como sea necesario. Esta modularidad hace más fácil el modificar o remplazar una capa sin afectar a las otras. Además el separar las funciones de la aplicación de las de la base de datos hace que sea más fácil implementar un esquema de carga balanceada, es decir, tener varios servidores de manera que cuando uno empiece a atascarse, se envíen las consultas a otro servidor con más capacidad. 2 Más información sobre diseños en n capas en:

11 Características de una aplicación web a) La arquitectura de las aplicaciones web es distribuida y de n capas. La mayor parte de procesos lógicos se realizan en la parte de atrás de la aplicación, con componentes lógicos del lado del servidor comunicándose con sistemas de administración de bases de datos. b) Las conexiones entre el cliente y el servidor son intermitentes, usando el protocolo HTTP 3 para intercambiar información. Esto tiene ventajas en términos de escalabilidad, pero presenta un problema al tener que manejar los estados de sesión de cada usuario que decide navegar dentro de la aplicación. c) El medio en que se desenvuelven es abierto, público (con excepción de las Intranets 4 que pueden ser privadas) y distribuido. d) La interfaz del usuario está formada por páginas HTML 5 visualizadas a través de un navegador de Internet. 6 3 HyperText Transfer Protocol, el protocolo usado en la World Wide Web. HTTP define como los mensajes son formateados y transmitidos, y que acciones deben realizar los servidores Web y navegadores en respuesta a varios comandos. Más información en: 4 Intranet es una red basada en protocolos TCP/IP (al igual que Internet) que pertenece a una organización y que es accesible únicamente a sus miembros, empleados o personas autorizadas. Los sitios Web de una intranet se comportan de la misma forma que los de la Internet, con la excepción de que existe un mecanismo de seguridad llamado firewall (ver sección 1.3.2) que impide el acceso no autorizado. 5 HyperText Markup Language. Más información en el Capítulo 2. 6 Para más información sobre aplicaciones web se pueden consultar las siguientes direcciones: Más información sobre aplicaciones web:

12 HOSTING DE LA APLICACIÓN WEB Dependiendo de las características de una aplicación web se debe escoger un servidor que soporte las tecnologías implementadas. Existen muchas opciones de empresas que ofrecen el servicio de hosting en sus servidores web y es importante observar ciertos puntos, como el ancho de banda, el tipo de conexión y si ofrecen servicios de promoción del sitio, estadísticas, copias de seguridad automáticas, soporte para compras y comercio electrónico, soporte de tecnologías específicas. Un buen lugar para comenzar la búsqueda del servicio de hospedaje que más convenga es donde se pueden realizar búsqueda según parámetros o tecnologías soportadas. Dentro de algunas de las características para selección que sugiere este web site están: - Servicios de diseño del sitio - Soporte de bases de datos - Procesamiento de tarjetas de crédito - Copias de seguridad diarias - Reportes de tráfico del sitio - Soporte de correos electrónicos de respuesta automática - Soporte técnico las 24 horas - Soporte técnico de llamada telefónica - Reserva de nombres de dominio

13 13 Es importante analizar varias opciones en el momento de seleccionar un servicio de hospedaje. La competencia es grande en este campo y los precios están bajando con el tiempo. 1.3 VENTA DE PRODUCTOS VÍA INTERNET Según el libro, Cómo iniciar un negocio en Internet de Greg Holden, una aplicación web que pretenda vender vía Internet deberá cumplir con algunas características: a) Brindar información útil.- No importa que es lo que se venda, ya sean productos de consumo, servicios profesionales, información, software o tecnología, se deben especificar los precios de los productos, sus características, información sobre seguridad de la transacción de compra y ayuda en línea. Sería muy útil ofrecer también servicios adicionales como buscadores, noticias, correos automáticos, salas de chat, etc. b) Identidad gráfica.- Una buena identidad gráfica dará la imagen de una empresa seria. Poca gente se verá animada a comprar si es que la información es incompleta, desordenada y poco agradable a la vista. 7 c) Permitir compras con tarjeta de crédito.- La base del éxito de las compras en línea. Se debe brindar una protección al cliente y demostrarle confianza

14 14 para que pueda ingresar sus datos. Así mismo uno deberá encargarse de verificar los datos que suministra el cliente. Es prudente darse el tiempo de comparar la dirección de envío con la dirección del dueño de la tarjeta. Si ambas direcciones están muy lejos la una de la otra, sería mejor enviar un correo al comprador para verificar si todo está bien. Dave Hagan, presidente de General Tool & Repair, Inc, empresa que se dedica a vender herramientas en línea ( dice que recibe pedidos fraudulentos todo el tiempo. Es muy importante realizar verificaciones. d) Actualización de la información.- Si la página se mantiene estática, no se puede esperar que la gente vuelva de nuevo. Es necesario brindar algún servicio, algún tipo de información nueva que haga que la gente se interese en entrar continuamente en el sitio. e) Métodos de pago alternativos.- Muchas personas prefieren no arriesgarse a mandar su número de tarjeta de crédito en la red. Es bueno pensar en alternativas como números telefónicos gratuitos, números de fax, aceptar cheques, efectivo, o transferencias de dinero. 7 Una interesante página para visitar es la cual invita a aprender como realizar un buen diseño observando pésimos diseños.

15 SEGURIDADES EN VENTAS VÍA INTERNET La conexión entre el usuario y cualquier otro punto de la red puede estar ruteada a través de docenas de sistemas independientes que pueden ser fácilmente rastreados o monitoreados. La información de correos electrónicos no encriptados, búsquedas en la red y conversaciones en chat se puede considerar tan privada como una conversación a gritos en una sala llena de personas. Cuando uno llega a una página web segura, el navegador de Internet mostrará un pequeño icono de un candado cerrado, u otro símbolo, que indicará que el SSL (Secure Sockets Layer) ha sido habilitado. La dirección web debe comenzar con " antes que con el usual " Secure Sockets Layer El SSL permite una conexión segura entre el explorador web y un servidor web. Este "túnel" de información segura fue desarrollado por Netscape Communications ( y estaba basado en una serie de algoritmos de codificación desarrollados por la empresa RSA Security ( La mayor parte de compras y transacciones monetarias en Internet basan su seguridad en SSL. Por ejemplo, cuando se envía un número de tarjeta de crédito para comprar un CD a empresas como Amazon.com o Cdnow.com, la información se envía a través de este túnel, de manera que únicamente la empresa tenga acceso a estos datos. Las instituciones bancarias también utilizan el SSL para mantener

16 16 confidenciales números de clave y los datos de cuenta de los usuarios cuando se utilizan servicios bancarios en línea. Para crear una tienda en la red se necesita un servidor que soporte conexiones SSL y un certificado digital. Los certificados digitales son emitidos por entidades especiales denominadas CA (Certificate Authorities). 8 Los certificados son tarjetas de identificación que las entidades utilizan para demostrar que son quienes dicen ser. Además estos certificados facilitan el intercambio de clave pública que es necesario para una conexión SSL. 9 Hay varios tipos de conexión con SSL: 40 bits, 56 bits y 128 bits. La conexión de 128 bits es extremadamente segura y muchos bancos trabajan únicamente a ese nivel ya que la encriptación de 40 bits no es suficiente. Tanto Netscape Navigator como Microsoft Internet Explorer, a partir de las versiones 4.0, soportan conexiones SSL de 128 bits Las entidades de VeriSign ( y Thawte ( se encargan de proporcionar los certificados digitales. 9 Para más información sobre certificados digitales: 10 Para más información sobre Secure Sockets Layer, se puede consultar las siguientes direcciones:

17 Firewalls Los firewalls son sistemas diseñados para evitar el acceso no autorizado a una red privada. Pueden ser implementados en hardware, software, o en una combinación de ambos. Los firewalls se usan principalmente en intranets. Los mensajes que entran y salen de una intranet son examinados por el firewall, el cual bloquea aquellos que no cumplen los criterios de seguridad especificados. Hay varias técnicas de firewall: Filtrado de paquetes: Lee cada paquete de información que entra o sale de la red y lo acepta o rechaza basado en reglas definidas por el usuario. El filtrado de paquetes es efectivo y transparente para los usuarios, pero es difícil de configurar y es susceptible de IP spoofing. 11 Puerta de acceso de aplicación: Aplica mecanismos de seguridad a aplicaciones específicas como servidores FTP 12 y Telnet 13. Esto resulta efectivo, pero disminuye el rendimiento del sistema. 11 El IP spoofing es una técnica usada para tener acceso no autorizado a las computadores. El intruso o el hacker debe conseguir una dirección IP que tenga acceso autorizado y modificar los encabezados de sus paquetes de información de manera que parezca que estos vienen de aquella dirección IP. El IP spoofing se puede evitar mediante ciertas técnicas de firewall. 12 Abreviación de File Transfer Protocol, el protocolo usado en la Internet para el intercambio de archivos. 13 Programa de emulación de terminal para las redes TCP/IP como la Internet. Telnet corre en una máquina y permite conectarse a un servidor de una red. Se introducen comandos y se ejecutan como si se los estuviera introduciendo directamente desde el servidor. Telnet es una manera común de controlar remotamente servidores Web.

18 18 Puerta de acceso a nivel de circuito: Aplica mecanismos de seguridad cuando se establecen conexiones TCP 14 o UDP 15. Una vez que la conexión se ha realizado los paquetes pueden circular libremente entre servidores sin comprobaciones adicionales. Sevidor Proxy: Intercepta todos los mensajes que entran y salen de la red y esconde la verdadera dirección IP. Los servidores Proxy incrementan notablemente el rendimiento para grupos de usuarios. También pueden ser usados para que los empleados de una compañía no tengan acceso a un conjunto específico de sitios Web. Dependiendo de la aplicación web, las transacciones a realizarse y el tipo de empresa, se deberá seleccionar la técnica firewall que más se adapte a las necesidades y requerimientos dados. 1.5 TRANSACCIONES El procesamiento de transacciones es un tipo de procesamiento informático en el cual la computadora responde inmediatamente a las consultas del usuario. Cada consulta 14 Abreviación de Transmission Control Protocol, uno de los mayores protocolos de las redes TCP/IP. Mientras el protocolo IP trata solo con paquetes, TCP permite que dos servidores establezcan una conexión e intercambien información. TCP garantiza el envío de la información y también garantiza que los paquetes se enviarán en el mismo orden en que han sido enviados. 15 Abreviación de User Datagram Protocol, un protocolo que como el TCP corre el las redes IP. A diferencia del TCP/IP, el UDP/IP provee muy pocos servicios de recuperación de errores, ofreciendo encambio un manera directa de enviar y recibir paquetes en una red IP.

19 19 se considera una transacción. El término es el opuesto de procesamiento batch, en el que las consultas se almacenan y luego se ejecutan todas al mismo tiempo. El procesamiento de transacciones requiere interacción con el usuario, mientras que los procesos batch pueden ocurrir sin que haya usuarios presentes Tipos de transacciones Existen muchos tipos de transacciones como consultas de información, suscripción a servicios de correo y registros en línea. Dentro de las transacciones que se refieren a aplicaciones web que venden vía Internet podemos nombrar: Búsquedas de productos por nombre o por categorías Consulta de precios y de información adicional referente a productos Selección de productos para la compra Compra en línea Registro en línea Envío de formularios 1.6 PROCEDIMIENTOS EN VENTAS VÍA INTERNET EN EL ECUADOR Para los usuarios que compran y para los desarrolladores que venden aplicaciones web para venta de productos vía Internet, el primer requisito para poder cobrar tarjetas de crédito en línea es el tener una Merchant Account, una cuenta especial

20 20 con un banco que sea miembro de las asociaciones Visa y MasterCard 16. En este caso, el comprador no necesita enviar su firma para que la transacción se pueda realizar. El Merchant Account realizará automáticamente, usando un servidor seguro, la comprobación inmediata de los datos de la tarjeta de crédito del cliente. Si los datos son correctos, la transacción se efectúa y se deposita el dinero automáticamente en la cuenta bancaria. Para compañías fuera de los Estados Unidos ha sido muy difícil el obtener una Merchant account. Sin embargo existe la llamada Merchant Account Internacional, que está destinada para corporaciones sin número de Seguro Social de los Estados Unidos. Con una cuenta de este tipo no hace falta tener una cuenta bancaria o una compañía en los Estados Unidos y permite manejar los pagos en la moneda que se prefiera. Todos los procedimientos de pago se hacen automáticamente a través de estas cuentas. El costo de obtener una cuenta de este tipo, en Junio del 2002, es el siguiente: COSTOS PARA UNA MERCHANT ACCOUNT INTERNACIONAL Cobro de apertura (sólo una vez): 595 USD Tasa de descuento 3.95% Costo por transacción 0.50 USD 16 Para más información sobre procedimientos de cobro de tarjetas de crédito en línea y Merchant Accounts en:

21 21 Costo mensual Costo de transferencia 25 USD 25 USD Cuadro 1.1 Costos para una Mechant Account Internacional Fuente: Se puede aplicar para una Merchant Account Internacional en:

22 22 CAPÍTULO 2: TECNOLOGÍAS Y HERRAMIENTAS EN APLICACIONES WEB 2.1 TECNOLOGÍAS DEL LADO DEL CLIENTE HTML Siglas de Lenguaje de Marcaje de HiperTexto, el lenguaje que es usado para crear documentos en Internet. HTML utiliza una variedad de etiquetas (<HTML></HTML> para iniciar un documento) y atributos para definir el formato y presentación de la página web XML Siglas de Lenguaje de Marcaje Extendido, una especificación desarrollada por la empresa W3C 18 ( XML es similar al HTML, más no igual porque permite la creación de etiquetas personalizadas, que permiten la definición, transmisión y validación de datos entre aplicaciones. 17 Para más información sobre HTML, su historia, etiquetas y versiones: El World Wide Web Consortium (W3C) desarrolla tecnologías, especificaciones, guías, software y herramientas para conducir a la Web a su mayor potencial como un foro de información, comercio, comunicación y entendimiento colectivo.

23 23 Si XML llega a suplantar al HTML como el estándar depende mucho es si va a ser soportado por futuros navegadores. La versión de Microsoft Internet Explorer versión 5 soporta XML y Mozilla de Netscape está experimentando en ello WML El Wireless Markup Language es un lenguaje XML usado para especificar el contenido y la interfaz de usuario en un dispositivo de tipo WAP. WML es soportado por casi la mayor parte de exploradores para teléfono móvil JavaScript JavaScript, creado por Netscape y desarrollado independientemente al lenguaje Java, fue creado para dar dinamismo a las páginas desarrolladas en HTML, dando más interactividad a los usuarios. No es un lenguaje de propósito general, es decir, no funciona por sí sólo, sino incrustado dentro de un documentos HTML. El navegador se encarga de ejecutar el código y se da la posibilidad de ejecutar código generado dinámicamente. La sintaxis de JavaScript es bastante similar a la de Java o a la de C++, siendo un lenguaje basado en objetos que no implementas ni clases ni herencia. Sin embargo 19 Más información sobre XML se puede encontrar en: Más información sobre WML en:

24 24 presenta un conjunto de objetos predefinidos de mucha utilidad, manejo de eventos y sirve de base para incorporar tecnologías como Active X, XML y HTML dinámico JScript JScript es la versión de Microsoft del JavaScript de Netscape. Jscript, al igual que JavaScript y VisualBasic Script, puede ser usado para tareas simples como controlar el ratón dentro de una aplicación, o para tareas más complejas como el actualizar bases de datos o hacer inicios de sesión de Windows NT VBScript Siglas de Visual Basic Scripting Edition, lenguaje desarrollado por Microsoft y únicamente soportado por el Internet Explorer de Microsoft. VBScript está basado en el lenguaje Visual Basic, aunque es mucho más simple, y cumple la misma función de dar dinamismo en páginas web de la misma forma que lo hacen sus hermanos los lenguajes Jscript y JavaScript Más información sobre JavaScript: Más información sobre JScript: 23 Más información sobre VBScript:

25 CSS Siglas de Cascading Style Sheets, hojas de estilo en cascada, una nueva característica añadida al HTML que da más control a los desarrolladores y a los usuarios sobre como las páginas son desplegadas. Con CSS se pueden crear hojas de estilo que definen como los diferentes elementos de una página web, como encabezados o enlaces, se despliegan en pantalla. El termino en cascada significa que se puede aplicar a múltiples páginas la hoja de estilo que se define. CSS fue desarrollado por la empresa W3C HTML Dinámico El HTML Dinámico o DHTML no es más que un HTML con la colaboración de algunas tecnologías, entre las que se encuentran: Hojas de estilo en cascada (CSS-1) Posicionamiento y visibilidad (CSS-P) Programación (scripting) con lenguajes como JavaScript, VBScript, Jscript Modelo de Objetos de Documentos (Document Object Model, DOM) La especificación DOM indica como los objetos en las páginas Web son representados. El HTML Dinámico se basa en el DOM para cambiar dinámicamente 24 Más información sobre hojas de estilo en cascada en:

26 26 la apariencia de las páginas Web después de que han sido descargadas por el navegador del usuario. Desafortunadamente Netscape e Internet Explorer usan diferentes DOMs por lo que la implementación del DHTML es diferente para cada navegador Applets de Java Java es un lenguaje de alto nivel desarrollado por la empresa Sun Microsystems. En un principio Java se llamaba Oak, y fue diseñado para dispositivos portátiles. Oak no tuvo éxito por lo que en 1995 Sun cambió el nombre a Java y modificó el lenguaje para tomar ventaja de la World Wide Web. Java es un lenguaje orientado a objetos similar a C++ pero simplificado para eliminar características del lenguaje que causan errores comunes en programación. Los archivos de código fuente de Java (archivos con la extensión.java) son compilados a un formato llamado bytecode 26 (archivos con extensión.class), los cuales puedes ser ejecutados por un intérprete de Java. El código compilado de Java puede ser ejecutado en la mayor parte de computadores debido a que los intérpretes de Java, conocidos como Java Virtual Machines (VMs), existen para la mayor parte de 25 Más información sobre HTML Dinámico: Más información sobre bytecode:

27 27 sistemas operativos, incluyendo Unix, Macintosh OS y Windows. Bytecode puede ser convertido directamente en instrucciones de lenguaje de máquina por un compilador just-in-time (JIT). 27 Java es un lenguaje de programación de propósito general con varias características que lo hacen adecuado para su uso en la Internet. Aplicaciones pequeñas de Java se conocen como applets de Java y pueden ser descargadas de un servidor Web y ser ejecutadas en su computadora por un explorador web compatible con Java, como Netscape Navigator o Microsoft Internet Explorer Controles Active X La tecnología Active X, desarrollada por Microsoft, es un avance de otras dos tecnologías de Microsoft llamadas OLE (Object Linking and Embedding) y COM (Component Object Model). Los controles ActiveX son una forma específica de implementar esta tecnología. Un control ActiveX puede ser automáticamente descargado y ejecutado mediante un navegador de Internet. ActiveX no es un lenguaje de programación sino un conjunto de reglas de como las aplicaciones deben compartir información. Los programadores pueden desarrollar controles ActiveX con una variedad de lenguajes con C, C++, Visual Basic y Java. Se pretende que un componente desarrollado mediante 27 Más información sobre compiladores Just In Time: 28 Para más información sobre Java y sobre applets de Java:

28 28 cualquiera de estos lenguajes sea reutilizable dentro de otro medio de programación. Los tipos de archivo que pueden contener componentes Active X son EXE, DLL y OCX. Un control ActiveX es similar a un applet de Java. La diferencia es que los controles ActiveX tiene acceso completo al sistema operativo Windows, lo que les da más poder frente a los applets. Sin embargo, ActiveX está limitado al sistema operativo Windows; los applets de Java, en cambio, funcionan en cualquier plataforma TECNOLOGÍAS DEL LADO DEL SERVIDOR Servidor Web Una computadora que entrega páginas Web. Todo servidor Web tiene una dirección IP y normalmente un nombre de dominio. Cualquier computadora se puede convertir en un servidor Web instalando software de servidor y conectando la máquina a la Internet. Hay varias aplicaciones de servidor Web, incluyendo software de dominio público de NCSA y Apache, y paquetes comerciales de Microsoft, Netscape y otros Para más información sobre ActiveX:

29 Servidor Web Apache Servidor Web de dominio público, cuya primera versión fue desarrollada en Debido a sus características sofisticadas, excelente desempeño y bajo precio, Apache se ha convertido en el servidor Web más popular del mundo. Según la empresa Netcraft 30, es usado por un 62% de todos los sitios web del mundo. Debido a que el código fuente del servidor Web Apache es libre, cualquiera puede adaptar al servidor a sus necesidades específicas. En muchos aspectos, el desarrollo en Apache es similar al desarrollo del sistema operativo Linux Servidor Web IIS Siglas de Internet Information Server, el servidor Web de Microsoft que funciona en Windows NT. IIS ocupa el 20 por ciento de uso en la Internet (el servidor Netscape Enterprise, el siguiente en la lista, tiene sólo un 6 por ciento de aceptación.), está íntimamente ligado al sistema operativo, y es relativamente fácil de administrar. Sin embargo IIS está restringido a Windows NT, mientras que sus competidores de Netscape funcionan en todas las plataformas incluyendo Windows NT, OS/2 y UNIX La empresa Netcraft ( se dedica a dar estadísticas sobre el uso de servidores de aplicación y sobre uso del SSL en la red. 31 Más información sobre Apache: 32 Más información sobre Internet Information Server:

30 CGI Siglas de Common Gateway Interface, una especificación para intercambiar información entre un servidor Web y un programa CGI. Un programa CGI es cualquier programa diseñado para aceptar y devolver datos de acuerdo a la especificación CGI. El programa puede ser escrito es cualquier lenguaje de programación, incluyendo C, Perl, Java, o Visual Basic. Los programas CGI son la manera más común de los servidores Web para interactuar dinámicamente con los usuarios. Por ejemplo muchas páginas HTML que contienen formularios utilizan un programa CGI para procesar los datos una vez que han sido enviados. Otra manera, cada vez más común, de proporcionar comunicación dinámica a los usuarios Web es la de incluir scripts o programas que se ejecuten en la máquina del usuario antes que en el servidor Web. Estos programas pueden ser Java applets, Java scripts, o controles Active X. Estas tecnologías son conocidas como soluciones del lado del cliente, mientras que el uso de CGI es una solución del lado del servidor debido a que el proceso ocurre en el servidor Web. Un problema del CGI es que cada vez que se ejecuta un script CGI, se comienza un nuevo proceso. Para sitios Web muy ocupados, esto puede disminuir el rendimiento del servidor notablemente. Un solución más eficiente, pero más difícil de

31 31 implementar, es el uso de API 33 de servidor, como ISAPI 34 o NSAPI 35. Otra solución popular es el uso de Java servlets Perl Siglas de Practical Extraction and Report Language, Perl is un lenguaje de programación desarrollado por Larry Wall 37, especialmente diseñado para procesamiento de texto. Perl se ha convertido en el lenguaje más popular para escribir scripts CGI Siglas de Application program interface, un conjunto de rutinas, protocolos y herramientas para construir aplicaciones. Un buen API hace más fácil el desarrollar un programa al proveer bloques de código. El programador se encarga de organizar estos bloques. 34 Siglas de Internet Server API, un API para el servidor Web IIS (Internet Information Server) de Microsoft. ISAPI permite a los programadores desarrollar aplicaciones Web que corren mucho más rápido que los programas CGI convencionales debido a que están mucho más integrados al servidor Web. ISAPI es soportado por otros servidores Web aparte del IIS. 35 Siglas de Netscape Server API, un API para los servidores Web de Netscape. NSAPI permite crear aplicaciones Web más sofisticadas y más rápidas que las basadas en scripts CGI. 36 Más información sobre CGI: Larry Wall ha desarrollado algunos de los más populares programas para UNIX, incluyendo el Rn New Reader, el programa Ubiquitous Patch, y el lenguaje de programación Perl. También se lo conoce por Metaconfig, y el juego Warp Space-War. Interesantes entrevistas a Larry Wall se pueden encontrar en: Más información sobre Perl:

32 PHP PHP Hypertext Preprocessor es un lenguaje de script del lado del servidor usado para crear páginas web dinámicas. Su sintaxis es similar al Perl o al C. PHP puede realizar cualquier tarea que puede realizar un programa CGI, pero su fuerza reside en su compatibilidad con muchos tipos de bases de datos Java servlets Un applet que se ejecuta en el servidor. El término se refiere a un Java applet que se ejecuta dentro del ambiente de un servidor web. Los servlets de Java se están convirtiendo en una alternativa más popular a los programas CGI. La mayor diferencia entre los dos es que el servlet de Java es persistente. Esto quiere decir, que una vez que se lo ha iniciado, permanece en memoria y puede atender múltiples peticiones. En cambio, un programa CGI desaparece una vez que ha cumplido con una petición. La persistencia de los servlets de Java los hacen más rápidos debido a que no hay tiempo desperdiciado en preparar y eliminar el proceso Más información sobre PHP: Más información sobre servlets:

33 JSP Siglas de Java Server Pages. Una extensión de la tecnología Java servlet, desarrollada por Sun como una alternativa a los ASPs de Microsoft. JSP funciona junto a código HTML ayudándolo a ser más funcional, leyendo bases de datos por ejemplo. Los archivos JSP no están restringidos a ninguna plataforma o servidor. JSP usa etiquetas de tipo XML y códigos escritos en Java para encapsular la lógica que genera el contenido de la página. Esta lógica reside en fuentes basadas en servidor ASP Siglas de Active Server Pages, una especificación para crear páginas Web dinámicamente utilizando VB Script o JScript. Cuando un navegador solicita una página ASP, el servidor Web genera automáticamente una página HTML con código y la envía al navegador. Las páginas ASP son similares a los scripts CGI, pero permiten que programadores de Visual Basic trabajen con herramientas familiares Más información sobre JSP: 42 Más información sobre ASP:

34 Enterprise JavaBeans Enterprise JavaBeans (EJB) desarrollado por Sun Microsystems, define la arquitectura de un componente para ser utilizado en arquitecturas multicapas de sistemas cliente-servidor. Los sistemas EJB permiten a los desarrolladores centrarse en la arquitectura de negocios del modelo, antes que en grandes cantidades de código y programación para conectar todas las partes. Los desarrolladores únicamente diseñan o adquieren el componente necesario y luego lo acoplan al servidor. Al ser los sistemas EJB escritos en Java, son independientes de la plataforma donde se los ejecute. 43 Tecnologías del lado del cliente HTML, XML, WML JavaScript, Jscript, VBScript CSS, DHTML, Applets, Active X Tecnologías del lado del servidor Servidores web: Apache, IIS CGI, Perl, PHP, Servlets, JSP, ASP Enterprise JavaBeans Cuadro 2.1 Tecnologías para aplicaciones web Elaboración: Javier Carrera G. 43 Más información sobre Entreprise JavaBeans:

35 PRINCIPALES HERRAMIENTAS USADAS EN EL MERCADO Basado en evaluaciones de la revista PC Magazine, se presenta la información referente a siete de las herramientas más usadas para la elaboración de aplicaciones web. La información referente a precios fue obtenida en Junio del Borland JBuilder 4 Enterprise Compañía: Borland ( Precio: $2999 Plataformas soportadas: Linux; Solaris 2, 6, 7; Windows 98, NT, 2000 Requerimiento en procesador: Pentium II 233 Requerimiento en ram: 128 MB (se recomienda 256 MB) Requerimiento en disco duro: 250 MB Servidor de aplicación: Inprise Application Server 4.1 (incluido) Base de datos incluida: JDataStore 4.0 Tecnología de programación del servidor: JSP JBuilder es un paquete poderoso que contiene creadores automáticos de aplicaciones y otras herramientas para la construcción de componentes Java para la capa intermedia. Ofrece también un buen soporte a JSP. Justificaciones y características de uso a) JBuilder permite ver fácilmente archivos de código Java, HTML y JSP dentro del mismo ambiente de trabajo. b) Tiene una excelente ayuda en línea que muestra métodos y parámetros cuando se escribe código Java.

36 36 c) Soporta la construcción de componentes Enterprise Java-Bean. Permite generar automáticamente clases EJB Java basándose en las tablas de la capa de datos. d) Soporte a CORBA 44 y ayudantes que ayudan a administrar los detalles del IDL 45 y el llegar a objetos remotos. e) Incluye una base de datos liviana basada en Java llamada JDataStore. f) Incluye más de 300 componentes, la mayor parte JavaBeans o controles JavaBeans, útiles para crear applets del lado del cliente o aplicaciones Java monousuario. Hay 16 controles especiales llamados InternetBeans que se dedican a JSPs y servlets. g) Estos componentes mantienen el código HTML y el código JSP o de servlet separados. Permiten también generar WML para dispositivos inalámbricos. h) Ofrece un detector de errores incluso para código del lado del servidor y un control de versión llamado CVS. 44 CORBA es la abreviación de Common Object Request Broker Architecture, una arquitectura que permite a fragmentos de programas, llamados objetos, comunicarse uno con otro independientemente del lenguaje en el que fueron escritos, o el sistema operativo en el que corren. CORBA fue desarrollado por un consorcio industrial llamado Object Management Group (OMG). 45 IDL, abreviación de Interactive Data Languaje. Más información en:

37 37 i) Incluye el Inprise Application Server. JBuilder soporta también el BEA WebLogic Application Server ColdFusion Studio 4.5 Compañía: Allaire ( Precio: $495 Plataformas soportadas: HP-UX; Linux; Solaris; Windows 95, 98, NT 4.0, 2000 Requerimiento en procesador: Pentium 166 Requerimiento en ram: 64 MB (128 recomendado) Requerimiento en disco duro: 35 MB Servidor de aplicación: ColdFusion Server (No incluido, costo adicional de $4995) Base de datos incluida: Ninguna Tecnología de programación del servidor: CFML 46, ASP, JSP ColdFusion Studio es un herramienta especialmente diseñada para crear aplicaciones web que funcionen en su ColdFusion application server, utilizando el lenguaje CFML, que aunque no es tan poderoso como Java permite mayor facilidad para desarrolladores que deseen crear un sitio dinámico en poco tiempo. Justificaciones y características de uso a) Su editor de código está basado en la herramienta de Allaire llamada HomeSite y es capaz de producir código CFML, ASP, JSP y, como no, HTML. 46 Cold Fusion Markup Language

38 38 b) El editor permite diseñar objetos, como tablas y marcos, visualmente o a partir de código. Estas herramientas son de doble vía, es decir que los cambios de una afectan a la otra y viceversa. c) Hay tres vistas del documento: Edit, que muestra el código; Browse, que muestra la página en forma no editable; y Design, que muestra un versión editable de la página. d) Soporta el lenguaje WML y tiene un buen editor de hojas de estilo llamado Bradsoft TopStyle. e) No permite escribir la mayor parte de componentes de la capa lógica, pero permite la comunicación con ellos. Usando etiquetas CFML se puede conectar a objetos COM, CORBA y Enterprise Java Beans. f) Incluye un detector de errores y permite ver dinámicamente el valor de variables y record sets. g) Permite el diseño estratégico de aplicaciones distribuidas, pudiéndose direccionar a fuentes de datos de diferentes locaciones sin romper con la estructura lógica del sitio. Esto se lo puede hacer utilizando simple FTP o usando los Remote Data Services (RDS) de Allaire.

39 39 h) A pesar de que CFML es mucho más simple que Java y no ofrece soporte fuerte para objetos de la capa intermedia, ColdFusion es una herramienta popular capaz de desarrollar aplicaciones web poderosas Macromedia Dreamweaver UltraDev 4 Compañía: Macromedia ( Precio: $599 Plataformas soportadas: Macinstosh OS 8.6; Windows 95, 98, NT 4.0, 2000 Requerimiento en procesador: Pentium 166 Requerimiento en ram: 64 MB Requerimiento en disco duro: 170 MB Servidor de aplicación: ColdFusion WebSphere (Incluida en la versión Developer) Base de datos incluida: Ninguna Tecnología de programación del servidor: CFML, ASP, JSP Dreamweaver UltraDev 4 se orienta a diseñadores Web que desean una simple manera para conectar un sitio con una base de datos. Basado en Drumbeat de Elemental Software, UltraDev es capaz de generar código ASP, JSP y CFML. Funciona con cualquier servidor de aplicación que soporte esas tecnologías. El producto funciona bien, pero no permite la construcción de soluciones complejas. Justificaciones y características de uso a) La mayor parte del trabajo en UltraDev se lo realiza en un ambiente de diseño de página visual.

40 40 b) Tiene límites en lo que se puede hacer en programación debido a convenciones de nombres que da el programa y a estructuras que no pueden ser modificadas. c) Permite ver y editar en su página de previsualización los registros de la base de datos. La conexión a bases de datos se realiza de manera sencilla: arrastrar y soltar. d) UltraDev va mucho más lejos que ColdFusion Studio al trabajar en una variedad de servidores de aplicación. Puede producir ASP, CFML, JSP y HTML. e) Las capacidades de detección de errores son escasas y tampoco ofrece soporte de control de versión. f) En se pueden bajar programas que se pueden añadir a UltraDev. Por ejemplo existe un WML Studio, desarrollado por la empresa Nokia, que permite el crear código para teléfonos WAP. g) Incluye el ColdFusion Server y el IBM s WebSphere Application Server. h) Permite crear conexiones a elementos de la capa intermedia, aunque no crear su lógica, y permite fácilmente integrar contenido de Flash y Fireworks, herramientas también de Macromedia.

41 41 i) En comparación a Microsoft FrontPage y NetObjects Fusion, UltraDev va mucho más lejos en su capacidad por crear aplicaciones de bases de datos. Sin embargo, el desarrollador que desee un control completo del código debe ver otra herramienta más eficaz Forte for Java Internet Edition Compañía: Sun ( Precio: $495 Plataformas soportadas: Linux; Solaris 7, 8; Windows NT 4.0, 2000 Requerimiento en procesador: Pentium II 300 Requerimiento en ram: 128 MB Requerimiento en disco duro: 60 MB Servidor de aplicación: Tomcat 3.2 (gratuito) Base de datos incluida: PointBase Tecnología de programación del servidor: JSP La empresa Sun, desarrolladora de Java, brinda una herramienta oficial para el desarrollo en su lenguaje: Forte for Java Internet Edition; una herramienta que brinda un ambiente para el desarrollo, depuración y conexión de una aplicación web a una base de datos. También existe la versión Community Edition que es absolutamente gratuita. Esta versión omite el control de código fuente integral, características de conexiones a bases de datos y PointBase, pero aún incluye sus capacidades de editar archivos JSP y ambiente de realización de pruebas. Justificaciones y características de uso a) Se desenvuelve mejor para crear aplicaciones pequeñas basadas en JSP, o para la creación de applets.

42 42 b) Incluye el servidor de aplicación Tomcat 3.2, una versión de evaluación de la base de datos de trabajo en grupo PointBase que se limita a base de datos de 5MB y una herramienta, Forte TeamWare, que permite el control de código fuente. c) El editor de Forte da una buena ayuda de autocompletar, colores a códigos HTML y Java y autoformato. No soporta sangrías, ignorando cualquier sangría anterior y empezando desde el comienzo de la línea cada vez que se pone Enter. d) Funciona con cualquier driver JDBC, especializándose en Oracle 8i 2.0, Microsoft SQL 7 y PointBase. e) Provee porciones de código JSP que permiten moverse dentro de un registro de base de datos, hacer actualizaciones, eliminar, insertar. Web Sphere Studio ofrece algo similar, aunque de una forma no tan completa como la de Forte. f) Usando herramientas de Forte se puede automáticamente recuperan los datos sobre el esquema de la base de datos, incluyendo relaciones entre tablas, y generar automáticamente las clases de Java con sus correspondientes métodos get y set para cada columna de la base de datos. g) No posee características para el diseño de HTML.

43 Microsoft Visual Interdev 1.0 Compañía: Microsoft ( Precio: $499 Plataformas soportadas: Windows 95, 98, NT 4.0, 2000 Requerimiento en procesador: Pentium 166 Requerimiento en ram: 24 MB (32 en Windows NT) Requerimiento en disco duro: 75 MB Servidor de aplicación: Microsoft Personal Web Server Base de datos incluida: Ninguna Tecnología de programación del servidor: ASP Visual Interdev está diseñado para que grupos de programadores trabajen juntos en un proyecto Web de base de datos usando una sola herramienta de desarrollo. Incluye control de acceso a bases de datos Visual SQL, control de código fuente, y controles ActiveX de tiempo de diseño. InterDev es un producto con no mucha experiencia aún y no incluye características de otros productos más maduros como el Web Developer Suite de Oracle. Justificaciones y características de uso a) Se pueden crear lógicas del negocio usando ASP, VBScript, Jscript, y otros lenguajes plug-in. b) Tiene ayuda en línea, autocompletar y creadores automáticos de aplicación que ayudan a definir el diseño, los controles de navegación y las conexiones a bases de datos.

44 44 c) Ofrece un botón de publicación y otras opciones como copiar o mover sitios completos. Incluye el Microsoft Personal Web Server para Windows 95. Cuando se desee publicar el sitio se utiliza el Microsoft Internet Information Server (incluido en Windows NT Server). d) Permite ver una representación gráfica de la aplicación, incluyendo enlaces, enlaces rotos, archivos de multimedia, conexiones a bases de datos. e) Puede trabajar con bases de datos ODBC de Microsoft, Oracle, Sybase y otras. f) Generación automática de scripts. g) Si se desea control de versión, revisiones y seguimiento de archivos se debe usar el Visual SourceSafe 5.0, incluido en Visual Studio Oracle Internet Developer Suite with JDeveloper 3.1 Compañía: Oracle ( Precio: $4995 Plataformas soportadas: Windows NT, 2000 Requerimiento en procesador: Pentium 233 Requerimiento en ram: 128 MB Requerimiento en disco duro: 250 MB Servidor de aplicación: Oracle 9i Application Server ($7000 y más) Base de datos incluida: Oracle 8i Lite Tecnología de programación del servidor: JSP

45 45 JDeveloper 3.1 es una herramienta poderosa que funciona únicamente con bases de datos Oracle. Ofrece gran control para la creación de componentes de la capa intermedia y ofrece soporte para aplicaciones Web basadas de JSP y EJBs. Justificaciones y características de uso a) Su apariencia es similar a JBuilder de Borland, pero se diferencia en sus herramientas de creación automática para la capa intermedia. b) Generación de componentes reusables en base a definiciones de bases de datos. c) Soporte de componentes EJB y CORBA. d) Implementación de reglas del negocio utilizando el lenguaje XML. e) Soporta la tecnología Oracle Business Components for Java, un modelo para construir y administrar componentes de la capa intermedia como los EJBs. f) Generación de EJBs automática pero no tan eficiente como la de otros programas. g) Incluye Oracle s Web Beans, casi dos docenas de componentes reusables para diseñar interfaces de usuario. Otro conjunto de componentes, los Data

46 46 Web Beans, simplifican el conectarse a bases de datos dentro de una aplicación Web. h) La razón para considerar este producto para el desarrollo de una aplicación basada en Oracle no es debido a sus capacidades de propósito general, sino a las ventajas de sus Business Components y a los JSP Web Beans WebSphere Studio 3.5 with VisualAge Compañía: IBM ( Precio: $1995 Plataformas soportadas: Windows 95, 98, NT, 2000 Requerimiento en procesador: Pentium 300 Requerimiento en ram: 96 MB Requerimiento en disco duro: 500 MB Servidor de aplicación: WebSphere Application Server 3.5 Base de datos incluida: Ninguna Tecnología de programación del servidor: JSP La respuesta de IBM a la batalla por las suites de desarrollo Web, una gigantesca herramienta equipada para cualquier posible contingencia y diseñada para ser usada por un equipo. WebSphere Studio provee administración de sitios Web, herramientas de creación de conexiones JDBC, editor HTML, herramientas de control de sintaxis. Justificaciones y características de uso a) Ambiente de desarrollo para JavaServerPages que incluye herramientas de generación automática de código.

47 47 b) Edición de HTML no tan consistente como la de Dreamweaver o ColdFusion. Por ejemplo, el código HTML se diferencia en color, mientras que el código Java no soporta esa característica. Tampoco hay soporte a sangrías, y la herramienta de deshacer no siempre funciona como se debe esperar. c) Studio provee autocompletar únicamente para archivos VoiceXML, no para HTML ni para archivos JSP. d) Tanto Studio como VisualAge contienen detectores de errores para Java Server Pages. Lamentablemente los errores sólo son listados sin automáticamente llevar a la porción del código que tiene el error. e) Visual Age for Java tiene un soporte amplio a desarrollo en equipo, incluyendo un programa que automáticamente da versión al código mientras se hacen cambios, de tal forma que luego se pueda comparar con una copia anterior del mismo. f) Las herramientas son buenas para grupos de desarrolladores. Sin embargo, algunos detalles de la interfaz y de edición hacen que estás opciones de IBM no sean tan buenas como otras vistas anteriormente.

48 48 HERRAMIENTA PRECIO PLATAFORMAS SERVIDOR BASE DE TECNOLOGÍA SOPORTADAS DE DATOS DE APLICACIÓN INCLUIDA PROGRAMACIÓN Borland JBuilder 4 Enterprise $2999 Linux; Solaris 2, 6, 7; Windows 98, NT, 2000 Inprise Application Server 4.1 (incluido JDataStore 4.0 JSP ColdFusion Studio 4.5 $495 HP-UX; Linux; Solaris; Windows 95, 98, NT 4.0, 2000 ColdFusion Server (No incluido, costo adicional de $4995) Ninguna CFML, ASP, JSP Macromedia Dreamweaver UltraDev 4 $599 Macinstosh OS 8.6; Windows 95, 98, NT 4.0, 2000 ColdFusion WebSphere (Incluida en la versión Developer) Ninguna CFML, ASP, JSP Forte for Java Internet Edition $495 Linux; Solaris 7, 8; Windows NT 4.0, 2000 Tomcat 3.2 (gratuito) PointBase JSP Microsoft Visual Interdev 1.0 $499 Windows 95, 98, NT 4.0, 2000 Microsoft Personal Web Server Ninguna ASP Oracle Internet Developer Suite with JDeveloper 3.1 $4995 Windows NT, 2000 Oracle 9i Application Server ($7000 y más) Oracle 8i Lite JSP WebSphere Studio 3.5 with VisualAge $1995 Windows 95, 98, NT, 2000 WebSphere Application Server 3.5 Ninguna JSP Cuadro 2.2 Principales herramientas para el desarrollo de aplicaciones web Fuente: PC Magazine (

49 49 La selección de una herramienta o una tecnología específica dependerá del tipo de aplicación, de las transacciones a efectuar, de los requerimientos específicos y de las políticas de cada empresa. Los criterios de selección que son parte de un SDLC 47 se describen con detalle en el siguiente capítulo. 47 Siglas de system development life cycle. SDLC es el proceso de desarrollar sistemas de información a través de un proceso que se divide en varias fases: la investigación, el análisis, el diseño, la implementación y el mantenimiento. Para más información se pueden consultar las siguientes direcciones:

50 50 CAPÍTULO 3: CRITERIOS DE SELECCIÓN DE HERRAMIENTAS 3.1 REQUERIMIENTOS DE EMPRESA Los requerimientos de una empresa que desee una aplicación web para vender vía Internet incluyen animaciones, interacción dinámica con los usuarios, audio, video, manejo de bases de datos, entre otros. La selección de una herramienta o tecnología dependerá de cuan complejos sean estos requerimientos Animaciones Los requerimientos de animaciones van desde imágenes simples hasta complejas animaciones en tres dimensiones. Dentro de las principales herramientas para edición de imágenes podemos resaltar a Corel Photo Paint 48, Adobe Photo Shop 49 y Macromedia Fireworks 50. Una herramienta que ha tenido gran éxito debido al poco espacio que ocupan sus productos finales es Flash 51 de Macromedia. Flash se basa en dibujos vectoriales, considerablemente menos pesados que los dibujos de mapa de bits, y permite crear 48 Más información sobre Corel Photo Paint 9 en: 49 Más información sobre Adobe Photo Shop 6 en: 50 Más información sobre Macromedia Fireworks 4 en : 51 Más información sobre Macromedia Flash 5 en:

51 51 animaciones complejas que incluyen sonido e interactividad con los usuarios. Su punto negativo es que necesitan que el usuario tengo instalado en su ordenador los archivos de soporte para que el explorador pueda visualizar estos archivos. Sin embargo, Flash es cada vez más popular, y una sencilla línea de programación en la aplicación web podría descargar automáticamente los archivos de visualización en caso de que el computador del cliente no los tenga. Para animaciones complejas, proyectos multimedia y 3D podemos destacar a Director 8.5 Shockwave Studio 52, también de Macromedia Interacción dinámica con los usuarios La interacción dinámica necesita, más que de una herramienta específica, de tecnologías específicas como la que brindan lenguajes de script como JavaScript, VBScript y JScript. Estos lenguajes permiten controlar eventos del usuario, como clicks del ratón y combinaciones de teclas, para lograr crear menús, árboles desplegables, o imágenes que se muevan en la pantalla siguiendo los movimientos del ratón. A los lenguajes de script se le suman el HTML dinámico, que incluye las hojas de estilo CSS y que representan un gran ahorro de tiempo para el programador, los applets de Java y los controles ActiveX. Para esta época, cualquier herramienta 52 Más información sobre Macromedia Director 8.5 Shockwave Studio en:

52 52 sencilla, incluso Microsoft Front Page 53 o NetObjects Fusion 54, soporta la implementación de estas tecnologías Audio y video en la red Los archivos de audio y video son muy conocidos por su gran peso en kilobytes. Los formatos de compresión han sido muy útiles para su implementación en Internet. Los archivos tipo MP3 han presentado una gran ventaja al dar una compresión de casi veinte veces menos que su archivo original. Las tecnologías de RealAudio y RealVideo 55,, implementadas por la empresa Real son actualmente las más utilizadas para proporcionar videos de noticias, presentaciones en vivo y música popular para cualquier persona desde su explorador de Internet. También se puede nombrar a las tecnologías de Windows Media Player 56 y Quicktime de Apple 57. Para la implementación de aplicaciones llamativas con alto contenido gráfico y sonoro se recomiendan las herramientas de la empresa Macromedia, que da soluciones de una manera eficiente a las más exigentes demandas de diseñadores de 53 Más información sobre Microsoft FrontPage 2002 en: 54 Más información sobre NetObjects Fusion 5.0 en: 55 Más información sobre RealAudio y RealVideo en: 56 Más información sobre Windows Media en: 57 Más información sobre Quicktime de Apple en:

53 53 imagen y productores de audio y video. Sin embargo, hay que aclarar, que el video en tiempo real todavía deja mucho que desear; los formatos de compresión hacen su parte pero no logran todavía tener la calidad de televisión que todo el mundo desearía tener en un video en la Internet. Se espera que con el paso de los años se mejoren las tecnologías, los anchos de banda y los formatos de compresión para brindar un video de una buena calidad en tiempo real Manejo de bases de datos El manejo de datos en aplicaciones web viene dado por tecnologías como los scripts CGI, los lenguajes PHP y Perl, los Enterprise Java Beans, e incluso las páginas ASP y JSP. Casi la totalidad de las herramientas analizadas en esta disertación permiten al desarrollador la implementación de una aplicación que se conecte a una base de datos. La diferencia viene dada en el nivel de control que se puede tener de la conexión; UltraDev de Macromedia permite crear una conexión rápida, pero no iguala a las posibilidades de herramientas como Jbuilder de Borland o Forte for Java. El criterio de selección de la herramienta dependerá de cuan compleja sea la aplicación que se pretende desarrollar. Algunas de las herramientas analizadas en el capítulo anterior incluyen un motor de base de datos; entre ellas están: - Borland JBuilder 4 Enterprise (Incluye JDataStore ) 58 Más información sobre JDataStore 4.0 en:

54 54 - Forte for Java Internet Edition (Incluye PointBase 59 ) - Oracle Internet Developer Suite (Incluye Oracle 8i Lite 60 ) Dentro de otras herramientas propietarias en programación web y bases de datos podemos nombrar: - Microsoft Visual Interdev 1.0 y Microsoft SQL Server Power Builder y Sybase Adaptive Server IQ Multiplex 63 - WebSphere Studio 3.5 e IBM DB Ventas vía Internet La implementación de ventas vía Internet implicará principalmente el uso de un servidor seguro que soporte tecnologías de encriptación de datos, una buena base de datos con toda la información requerida sobre productos y una interfaz gráfica atractiva que se encargue de dar una buena imagen de la empresa comercializadora. La selección de la herramienta más adecuada para la implementación de un proyecto de esta naturaleza estará dada por otros factores como volumen de información y cantidad de usuarios, aspectos que se comentaran a continuación. 59 Más información sobre PointBase en: 60 Más información sobre Oracle 8i Lite en: 61 Más información sobre Microsoft SQL Server 2000 en: 62 Más información sobre Power Builder 8.0 en: 63 Más información sobre Sybase Adaptive Server IQ Multiplex en:

55 REQUERIMIENTOS SEGÚN VOLUMEN DE INFORMACIÓN MANEJADA Dependiendo del volumen de información que va a manejar la aplicación web, se puede escoger de entre los distintos motores de bases de datos la que más convenga para el problema a resolver Oracle9i El 2 de Octubre de 2000 Oracle lanzó la base de datos Oracle9i, la nueva generación de RDBMS 64 de la empresa. De entre las características significativas se puede nombrar la posibilidad de escalabilidad que se da el Oracle9i Application Clusters; corrección de errores a nivel de usuario con Flashback Query; funciones OLAP 65 y Data Mining 66 de manera que la base de datos puede funcionar tanto para datos relacionales como para datos analíticos. Oracle 9i incluye también la infraestructura que servirá a los desarrolladores para crear aplicaciones web con cualquier herramienta Relational Database Management System 65 Siglas de Online Analytical Processing, un tipo de herramientas de software que proveen análisis de los datos almacenados en la base de datos. 66 Data Mining es un tipo de aplicación de base de datos que busca relaciones desconocidas de entre los datos. Por ejemplo, el software de data mining puede ayudar a una compañía a encontrar clientes con intereses comunes. 67 Más información sobre Oracle9i en:

56 IBM DB2 DB2 incluye el DB2 Net Search Extender, un buscador de texto integrado a memoria, soporte a XML, Perl; soporte para desarrollo de aplicaciones con integración a Microsoft Visual Studio y a IBM VisualAge; soporte de tecnología JDBC. Incluye el Data Warehouse Center que implementa el Object Management Group Common Warehouse Metadata Interchange, un nuevo estándar para integrar diferentes herramientas a soluciones para negocios inteligentes Sybase Adaptive Server IQ Multiplex Sybase Adaptive Server IQ Multiplex es una base de datos relacional diseñada específicamente para satisfacer las necesidades de negocios inteligentes y de una nueva generación de requerimientos en escalabilidad para el manejo de información a través de Internet. Los resultados de sus búsquedas se dan cien veces más rápido que en otras RDBMSs tradicionales, es mucho más fácil de mantener y no requiere el empleo de tiempo y grandes recursos en configuraciones para obtener excelentes resultados. Los datos se comprimen de un 30 a un 60 por ciento y es capaz de soportar cientos y miles de usuarios, además de terabytes de información para ser vistos desde un explorador web Más información sobre IBM DB2 en: 69 Más información sobre Sybase Adaptive Server IQ Multiplex en:

57 Microsoft SQL Server 2000 SQL Server 2000 es una propuesta completa de base de datos y análisis. Desde la habilidad de hacer consultas desde un browser hasta un excelente soporte al Extensible Markup Languaje (XML), SQL Server 2000 es una base de datos totalmente diseñada para su funcionamiento en la Internet. Además este producto mantiene excelentes niveles de escalabilidad y confiabilidad, aspectos escenciales para el éxito de una base de datos empresarial. Ya sea para el desarrollo rápido de aplicaciones o para un soporte ágil de transacciones, SQL Server 2000 es una de las bases de datos más rápidas que existen Informix Dynamic Server Informix Dynamic Server es la nueva generación de servidores de bases de datos de la empresa Informix y es capaz de ser un motor para el manejo de transacciones para aplicaciones de misión crítica, brindando soporte para su funcionamiento en Internet. Es capaz de soportar miles de usuarios concurrentes brindando alta confiabilidad, disponibilidad y escalabilidad para dar poder a los grandes sistemas de procesamiento de transacciones. También incluye una interfaz que tiene la habilidad de integrar y visualizar datos desde una variedad de sistemas, bases de datos y formatos Más información sobre Microsoft SQL Server 2000 en: 71 Más información sobre Informix Dynamic Server en:

58 REQUERIMIENTOS SEGÚN CANTIDAD DE USUARIOS Cuando se necesita implementar aplicaciones potentes que sean capaces de soportar varios usuarios simultáneamente se puede descartar a tecnologías como los scripts CGI, que cada vez que son ejecutados inician un nuevo proceso en el servidor, disminuyendo el rendimiento notablemente. Es este caso, la tecnología de Java Servlets ofrece una solución mucho más eficiente. Según NetGuía, revista de Panamá dedicada al mundo del ciberespacio, en su artículo 10 pasos para un mejor alojamiento de Páginas Web 72, para que una aplicación web funcione 24 horas al día, para un gran número de usuarios y a una buena velocidad se requiere un servidor que tenga una conexión a Internet de banda ancha. Si se espera un alto tráfico de visitas es preferible utilizar servidores especializados como los de Sun Microsystems, Silicon Graphics y Cobalt (Linux). 3.4 REQUERIMIENTOS SEGÚN POLÍTICAS DEL NEGOCIO Cada empresa cumple con sus propias reglas y sus propias políticas. Es importante para un desarrollador saber evaluar las necesidades y determinar las tecnologías necesarias y suficientes para la implementación del producto final. Existen opciones económicas para crear aplicaciones web usando Apache, PHP, MySQL, Forte for Java y Tomcat, herramientas y aplicaciones totalmente gratuitas que pueden ser usadas para cumplir con los requerimientos de muchas empresas. En el caso de que 72 Se puede revisar el artículo completo en:

59 59 una empresa, por ejemplo un banco, necesite tener seguridad y respaldo en el manejo de su información y sus transacciones, se puede sugerir la utilización de bases de datos como las de Oracle, Sybase o Informix, productos que requieren del pago de licencias para su uso.

60 60 CAPÍTULO 4: DEFINICIÓN DE UN PROBLEMA REAL 4.1 DESCRIPCIÓN DE LA EMPRESA Se ha tomado el modelo de requerimientos de una empresa comercializadora de artesanías que de ahora en adelante se la conocerá como Empresa Tipo Misión Fomentar la producción artesanal en el país mediante la comercialización a nivel nacional e internacional Visión Promover el desarrollo sostenible de la población a través del fomento de la producción artesanal Objetivos a) Revalorizar los bienes culturales. b) Desarrollar iniciativas de ecoturismo comunitario. c) Brindar educación ambiental. d) Favorecer al artesano.

61 REQUERIMIENTOS DE LA EMPRESA SELECCIONADA Clasificación de los productos La empresa requiere de un sistema que permita buscar y seleccionar artesanías en las siguientes categorías: a) Ubicación geográfica: región, provincia y ciudad. b) Material: Chonta, tagua, balsa, semillas, cabuya, etc c) Culturas: Quechua, Shuar, Achuar, Cofán, etc d) Artesano e) Búsqueda por nombre Cada categoría mostrará las artesanías que contiene en una lista que incluirá el precio y la opción de añadirlo al carro de compras virtual. Este carro de compras no será más que una página que muestre los productos que el usuario ha seleccionado para comprar, con la información referente a cantidades, precios y totales Información sobre productos Cada artesanía tiene una historia, ya sea referente al material con que está hecho o en referencia a una creencia religiosa de una comunidad. Por este motivo se requiere detallar la información incluyendo: Nombre y código del producto

62 62 Fotografía del producto Descripción y usos: ceremonias religiosas, fiestas populares, curaciones, caza Material de fabricación Ubicación geográfica Cultura Artesano Precio Volumen de información Se requiere incluir aproximadamente 500 distintas artesanías en la base de datos más la información referente a artesanos y culturas del Ecuador. También se requiere almacenar la información acerca de los clientes y sus tarjetas de crédito. Se está hablando de un volumen de información mediano Realización de compras Para realizar las transacciones de compra se requerirá de un formulario en el que el cliente ingrese sus datos e información sobre su tarjeta de crédito. Seguidamente se generará un correo electrónico que indicará a la empresa los productos que acaba de pedir el cliente. Se procede a verificar la información subministrada por el usuario y si todo está bien se enviará un correo al cliente indicándole que su transacción fue completada sin problemas.

63 Seguridades Dependiendo del tipo de transacción se implementará un nivel de seguridad mayor o menor. En el caso de las transacciones de consulta de información se está hablando de niveles bajos de seguridad. Para las transacciones en la que intervengan números de tarjetas de crédito se requiere implementar altos niveles de seguridad y encripción Otros requerimientos La empresa adicionalmente necesita pagar por servicios adicionales: a) Servidor Web que haga el hosting de su aplicación b) Reserva de nombre de dominio c) Costo de certificado digital d) Costo de Merchant Account Internacional e) Licencias de software

64 64 CAPÍTULO 5: DISEÑO DE LA SOLUCIÓN 5.1 HERRAMIENTAS SELECCIONADAS Las herramientas seleccionadas para la implementación de la aplicación fueron las siguientes: - Diseño de la base de datos: Sybase Power Designer, Versión Base de datos: Oracle 8i, Enterprise Edition - Creación de la aplicación: Oracle JDeveloper Edición de fotografías: Corel Photo-Paint 9 - Navegador de Internet: Microsoft Internet Explorer 5 - Edición de páginas CSS y ayuda sobre HTML y DHTML: Microsoft Visual InterDev Sistema operativo usado: Microsoft Windows 2000 Server 5.2 CRITERIOS APLICADOS EN LA SELECCIÓN DE HERRAMIENTAS Se decidió utilizar las herramientas de Oracle, JDeveloper junto con la base de datos Oracle 8i, Enterprise Edition por varias razones: Integración de ambas herramientas la una con la otra. La conexión de la base de datos con el front-end es sencilla.

65 65 Modificaciones de la base de datos y de la aplicación. Si se modifica el diseño de la base de datos es fácil crear nuevos objetos que manejen los cambios realizados. El mantenimiento de la aplicación es inmediato. Seguridad y estabilidad, razones por las que las bases de datos Oracle son tan conocidas y utilizadas. Deseo personal de adquirir conocimientos en el desarrollo de aplicaciones web utilizando estas herramientas. 5.3 ANÁLISIS COSTO BENEFICIO El uso de las herramientas de Oracle implica elevar los costos de la aplicación para la empresa ya que necesariamente tendrá que adquirir un servidor y las licencias de la base de datos, del Internet Application Server y del sistema operativo. Al utilizar estas herramientas uno se enfoca en empresas grandes que sean capaces de cubrir los costos de los programas. El beneficio es que se adquiere herramientas buenas y seguras, y que se obtendrá un continuo servicio al cliente por parte de Oracle. El costo de las licencias de estos programas dependerá de varios factores. El primero es el tiempo de duración de la licencia; Oracle ofrece licencias por 2 años, 4 años y licencia perpetua. Otro factor es el tipo de licencia que puede ser dada por usuario o por procesador. En el primer caso se tendrán que comprar tantas licencias como usuarios que vayan a tener acceso a la base de datos. En el segundo, el número de licencias dependerá del número de procesadores donde se vayan a instalar los

66 66 programas de Oracle. Los precios 73 de los productos en Julio del 2002 son los siguientes: INTERNET DEVELOPER SUITE JDEVELOPER Perpetua 5000 USD 995 USD 2 años 1750 USD 348 USD 4 años 3000 USD 587 USD INTERNET APPLICATION SERVER Standard Enterprise Por usuario Por procesador Por usuario Por procesador Perpetua 200 USD USD 400 USD USD 2 años 70 USD 3500 USD 140 USD 7000 USD 4 años 120 USD 6000 USD 240 USD USD ORACLE DATABASE Standard Enterprise Por usuario Por procesador Por usuario Por procesador Perpetua 300 USD USD 800 USD USD 2 años 105 USD 5250 USD 280 USD USD 4 años 180 USD 9000 USD 480 USD USD Cuadro 5.1 Precios de los productos Oracle Fuente: Oracle ( 73 Los precios no incluyen impuestos.

67 DISEÑO DE LA BASE DE DATOS login_adm codigo_nivel clave_adm nombre_adm REGION codigo_region CHAR(1) nombre_region VARCHAR2(10) FK_PROVINCI_R1_REGION codigo_provincia codigo_region nombre_provincia capital_provincia PROVINCIA CHAR(2) CHAR(1) VARCHAR2(20) VARCHAR2(25) FK_LOCALIDA_R2_PROVINCI codigo_localidad codigo_provincia nombre_localidad LOCALIDAD CHAR(3) CHAR(2) VARCHAR2(30) CLIENT E correo_electronico clave_cliente nombre_cliente direccion_cliente telefono_cliente ciudad_cliente pais_cliente tarjeta_credito_cliente zip FK_PEDIDO_R6_CLIENT E numero_pedido correo_electronico estado fecha_hora total costo_envio ADMINIST RADOR VARCHAR2(15) NUMBER(2) VARCHAR2(15) VARCHAR2(30) PEDIDO <pk> <fk> <pk> VARCHAR2(60) VARCHAR2(15) VARCHAR2(30) VARCHAR2(60) VARCHAR2(15) VARCHAR2(20) VARCHAR2(2) VARCHAR2(30) VARCHAR2(30) NUMBER(10) VARCHAR2(60) VARCHAR2(15) DAT E FLOAT FLOAT FK_ADMINIST _R9_NIVEL codigo_nivel valor <pk> <fk> <pk> <fk> <pk> <fk> codigo_pais nombre_pais zona_pais cedula_artesano nombre_artesano direccion_artesano telefono_artesano descripcion_artesano FK_ART <pk> ESANI_R3_LOCALIDA codigo_artesania codigo_localidad cedula_artesano codigo_cultura nombre descripcion material precio existencias foto peso ARTESANO CHAR(10) VARCHAR2(30) VARCHAR2(60) VARCHAR2(18) VARCHAR2(256) FK_ART ESANI_R4_ART ESANO ART ESANIA NIVEL NUMBER(2) VARCHAR2(35) COSTO_ENVIO peso_kg Zona1 Zona2 Zona3 Zona4 Zona5 Zona6 Zona7 Zona8 FLOAT FLOAT FLOAT FLOAT FLOAT FLOAT FLOAT FLOAT FLOAT <pk> PAIS VARCHAR2(2) <pk> VARCHAR2(50) INT EGER VARCHAR2(20) CHAR(3) CHAR(10) CHAR(3) VARCHAR2(30) VARCHAR2(256) VARCHAR2(50) FLOAT NUMBER(10) VARCHAR2(256) FLOAT <pk> <pk> <pk> <fk1> <fk2> <fk3> FK_ART ESANI_R7_PEDIDO FK_ART ESANI_R8_ART ESANI FK_ART ESANI_R5_CULTURA ART ESANIA_POR_PEDIDO codigo_artesania numero_pedido cantidad VARCHAR2(20) NUMBER(10) NUMBER(10) <pk,fk2> <pk,fk1> codigo_cultura nombre_cultura descripcion_cultura CULT URA CHAR(3) VARCHAR2(30) VARCHAR2(800) <pk>

68 DIAGRAMAS DE FLUJO DE DATOS Nivel Cero: Diagrama de contexto Pedido de compra Pedido de información Información para actualizaciones Login y contraseña Usuario Información Sistema de venta de artesanías vía web Pedidos de compra Administrador Confirmación de pedido de compra Confirmación de actualización

69 Nivel Uno 1.0 Usuario Pedido de información Información Consultar Información Pedido de información Información Confirmación de pedido de compra Pedido de compra 2.0 Realizar Pedido Pedido de compra Base de datos Administrador Pedidos de compra Login y contraseña Login y contraseña Información para actualizaciones Confirmación de actualización 3.0 Confirmar Pedido 4.0 Actualizar Información Existencias por actualizar Información para actualizaciones Confirmación de actualización

70 Nivel Dos: Consultar información y realizar pedido Pedido de información Buscar artesanías según criterio Mostrar artesanías Información Pedido de info. Información Artesanías Base de datos 1.3 Poner en carro de compras Artesanías Carro de compras Artesanías Pedido de compra Identificar usuario Pedido de compra Calcular costo de envío Pedido de compra 2.3 Ingreso de tarjeta de crédito Pedido Base de datos

71 Nivel Dos: Confirmar pedido Login y contraseña Comprobar login y contraseña Cambiar estado de pedido de pendiente a vendido Actualizar existencias Confirmación de pedido de compra 3.4 Confirmar al usuario el pedido Base de datos

72 Nivel Dos: Actualizar información 4.1 Login y contraseña Información para actualizaciones Comprobar login y contraseña 4.2 Ingresar datos 4.3 Modificar datos 4.4 Eliminar datos Base de datos 4.5 Recibir confirmación de operación Confirmación de actualización

73 DISEÑO DE INTERFACES Página Inicio Usuario Región Provincia Cultura Ciudad Artesanías Material Artesano Info. detallada de artesanías Búsqueda Procesar pedido Ingresar datos Carro de compras Verificar datos Mis pedidos Pedidos Detalle de pedidos Tarjeta de crédito Modificar datos Administrador: identificarse Página Inicio Administrador Cerrar sesión Confirmación de pedido Actualizaciones a las tablas de la Base de Datos Esta es la estructura y la comunicación de las pantallas de la aplicación a realizar. 5.7 METODOLOGÍA DE PROGRAMACIÓN A UTILIZAR Para el desarrollo de la aplicación se va a utilizar en general la metodología de programación estructurada. La excepción está dada por la utilización de los tipos de datos dentro de las páginas JSP, los cuales reciben el tratamiento de objetos por lo que se aplica para este caso la metodología de programación orientada a objetos.

74 74 CAPÍTULO 6: IMPLEMENTACIÓN 6.1 INSTALACIÓN DE LAS HERRAMIENTAS Las herramientas de Sybase, Corel y Microsoft no presentaron ningún problema en su instalación. Con las herramientas de Oracle los problemas estuvieron a la orden del día. Para comenzar, estos programas funcionan únicamente con el sistema operativo Windows 2000, ya sea en su versión Server o Profesional. Luego es importante saber que el directorio donde se van a instalar los programas de Oracle no puede contener espacios. En su primer intento, se nombró al directorio como c:\oracle 2000\. El programa de instalación acepta normalmente este nombre y sólo al final de la instalación muestra un mensaje de error. Resultado? Volver a instalar todo, incluso desde el sistema operativo (El programa de Oracle, Universal Installer, guarda en una parte del Sistema Operativo el nombre del directorio que se utilizó para instalar el software. Cada vez que se volvía a intentar instalar los programas, el Universal Installer seguía tomando el nombre de c:\oracle 2000\ como el del directorio destino. La única solución fue volver a instalar el Windows 2000 Server). 6.2 CREACIÓN DE LA BASE DE DATOS Si bien la instalación de las herramientas de Oracle fue complicada, una vez instaladas su funcionamiento es muy bueno. Oracle 8i, Enterprise Edition, tiene la opción del Database Configuration Assistant, el cual permite crear una base de datos rápidamente. Luego, para el control total de la base de datos se usó el DBA Studio.

75 75 El diseño de las tablas, atributos, relaciones y la generación de triggers fueron realizados en el Power Designer de Sybase. Este programa, a pesar de ser de una de las empresas competidoras de Oracle, permite diseñar bases de datos para Sybase, Oracle, AS400, IBM DB2, Informix, InterBase y Microsoft SQL Server, entre otras. Una vez generado el código SQL mediante este programa, las tablas se generaron copiando el código directamente en el SQL Plus de Oracle. Posteriores ediciones del código y de los triggers, se realizaron en el DBA Studio. 6.3 DESARROLLO DE LA APLICACIÓN Oracle JDeveloper permite crear todos los componentes asociados a una base de datos automáticamente. Únicamente se ingresan los datos de usuario, contraseña y cadena de conexión y todos los objetos y vistas de cada tabla se crean instantáneamente y se almacenan en un paquete. JDeveloper, permite crear rápidamente una aplicación usando los objetos de conexión creados anteriormente. Automáticamente crea las páginas HTML y JSP y genera una aplicación que puede editar, ingresar y borrar datos de la base de datos. Si bien estas páginas no se utilizaron, sirvieron de guía para crear una por una todas las páginas de la aplicación desarrollada Data Tags Para el manejo de datos de la base de datos en una página JSP, JDeveloper, utiliza las llamadas Data Tags. Cada página que las utilice tendrá en la parte de la etiqueta HTML y dentro de la etiqueta BODY las siguientes instrucciones:

76 76 <html xmlns:jbo="jbo"> <head> </head> <body> taglib uri="/webapp/datatags.tld" prefix="jbo" %> </body> </html> Para realizar la conexión con la base de datos se utilizan luego las siguientes etiquetas: <jbo:applicationmodule id="package2.package2module" configname="package2.package2module.package2modulelocal" username="javier" password="snake"/> <jbo:createviewobject appid="package2.package2module" name="mynewviewobject01"> select distinct MATERIAL from ARTESANIA</jbo:CreateViewObject> <jbo:datasource id="ds" appid="package2.package2module" viewobject="mynewviewobject01" /> Para mostrar datos: <jbo:rowsetiterate datasource="ds"> <jbo:showvalue datasource="ds" dataitem="material" /> <jbo:showvalue datasource="ds" dataitem="descripcion" /> </jbo:rowsetiterate> Para modificar datos: <jbo:row id="myrow" datasource="ds" rowkeyparam="myrowkey" action="update"> <jbo:setattribute dataitem="*"/> </jbo:row> <jbo:postchanges appid="package3.package3module"/> <jbo:commit appid="package3.package3module"/> Para eliminar datos:

77 77 <jbo:row id="myrow" datasource="ds" rowkey="<%=rowkey%>" action="delete"/> <jbo:postchanges appid="package3.package3module"/> <jbo:commit appid="package3.package3module"/> Estas Data Tags se utilizan dentro de una página JSP las veces que se desee y se las usó muchas veces dentro de la aplicación desarrollada Sentencias SQL Dentro de las sentencias SQL que se usaron en el código desarrollado podemos encontrar instrucciones select de diferentes tipos: - Select normal: select * from CULTURA where CODIGO_CULTURA='<%=cultura%>' - Select sin repetidos: select distinct MATERIAL from ARTESANIA - Select anidado: select * from ARTESANIA where CODIGO_LOCALIDAD IN(select CODIGO_LOCALIDAD from LOCALIDAD where CODIGO_PROVINCIA='<%=provincia%>') - Select doblemente anidado: select * from ARTESANIA where CODIGO_LOCALIDAD IN(select CODIGO_LOCALIDAD from LOCALIDAD where CODIGO_PROVINCIA IN (select CODIGO_PROVINCIA from PROVINCIA where CODIGO_REGION='<%=region%>')) - Select con función máximo: select max(numero_pedido) from PEDIDO

78 Javascripts: códigos del lado del usuario Se usó código JavaScript a lo largo de toda la aplicación para la verificación del ingreso de datos, para la comprobación del número de tarjeta de crédito y para calcular el precio total de las artesanías dentro del carro de compras. A continuación, a manera de ejemplo, la función que comprueba que lo que el usuario digita es únicamente un valor numérico: <script language=javascript> var numeros=" "; function numero(car) { return (numeros.indexof(car)>=0) } function esnumero(frase) { var i; for (i=0;i<frase.length;i++) { if (!numero(frase.substring(i,i+1))) { return false; } } return true; } </script> JSP: códigos del lado del servidor Los códigos que se ejecutan del lado del servidor están presentes en toda la aplicación de dos formas: bajo las etiquetas <% %> o bajo las etiquetas <jbo:>, como en el caso de las Data Tags que sirven para obtener la información de la base de datos. A continuación el código que recupera las Cookies que contienen la información sobre las artesanías que el cliente ha seleccionado en su carro de compras: <%Cookie d[]=request.getcookies(); int i;

79 79 String comparacion; for (i=0;i<d.length;i++) { comparacion=d[i].getvalue(); if (!comparacion.equals ("nulo")) { %> <jbo:createviewobject appid="package2.package2module" name="mynewviewobject"> select * from ARTESANIA where CODIGO_ARTESANIA='<%=d[i].getName()%>'</jbo:CreateViewObject> <jbo:datasource id="ds" appid="package2.package2module" viewobject="mynewviewobject" /> <jbo:rowsetnavigate datasource="ds" action="first"/> <jbo:showvalue datasource="ds" dataitem="codigo_artesania" /> <jbo:showvalue datasource="ds" dataitem="nombre" /> <img src="<jbo:showvalue datasource="ds" dataitem="foto" />" width=25 height=35><br> <% } } %> Combinación de códigos JSP y JavaScript En ciertos casos fue necesario el utilizar una mezcla de códigos JSP y JavaScript, como en el caso de eliminar registros, en la aplicación del administrador. Se utilizó un contador en JSP que genera códigos JavaScript que sean capaces de mostrar un aviso de confirmación de operación antes de proceder a eliminar cada registro. <%int contador=1;%> <form name="forma<%=contador%>" method="post" action="administradorview_delete.jsp?rowkey=<jbo:showvalue datasource="ds" dataitem="rowkey"/>"> <td> <a href="javascript:eliminar<%=contador%>()">eliminar</a> </td> </form> <script language=javascript> function eliminar<%=contador%>() { if (confirm(" Está seguro de querer eliminar este registro?")) { document.forma<%=contador%>.submit(); } }

80 80 </script> <%contador++;%> 6.4 DESARROLLO DE LA INTERFAZ Para el desarrollo de la interfaz se utilizó, además del JDeveloper, el editor de hojas CSS del Microsoft Visual InterDev 6.0. También se utilizaron los programas Corel Draw y Corel PhotoPaint, para la inserción de imágenes (ya sea mediante escáner, cámara digital o tomando imágenes predeterminadas de las librerías Corel), la posterior edición y el desarrollo de los mapas sensibles en las páginas de búsqueda por región, provincia y cultura.

81 81 CAPÍTULO 7: PRODUCTO FINAL, PRUEBAS Y MANTENIMIENTO 7.1 PRODUCTO FINAL Descripción de la aplicación para los usuarios La aplicación permite buscar artesanías según diferentes criterios: región, provincia, cultura, ciudad, artesano, material y nombre. El usuario escoge las artesanías las ubica en el carro de compras e ingresa sus datos (correo electrónico, nombre, dirección, ciudad, país, etc.). En función del país seleccionado por el cliente se calculan los costos de envío y finalmente se le piden al usuario los datos referentes a su tarjeta de crédito, datos que se validarán utilizando el algoritmo de verificación de tarjetas de crédito 74. Toda la información del pedido se almacena en la base de datos Descripción de la aplicación para el administrador La aplicación para el administrador ha sido diseñada para la realización de las modificaciones de la base datos, así como para el manejo de los pedidos, la 74 Para más información sobre el algoritmo ver el Anexo 1: Algoritmo para validaciones de tarjetas de crédito. 75 Para información más detallada y pantallas sobre la aplicación de los usuarios referirse al Anexo 2: Manual del usuario

82 82 actualización de las existencias y el contacto a los clientes mediante el correo electrónico. Existen distintos niveles para los administradores, es decir, dependiendo de quien ingrese a la aplicación se dará el acceso únicamente a determinadas tablas de la base de datos. Se puede definir usuarios y niveles de usuario (con las distintas tablas a la que tiene acceso dicho nivel) modificando los datos de las tablas administrador y nivel ALCANCE DEL SISTEMA La aplicación fue realizada en una sola máquina y las pruebas realizadas a la misma se dieron únicamente dentro de este ambiente monousuario. No se llegó a la publicación en línea de la aplicación, ni a la realización de pruebas con diferentes usuarios y en distintos exploradores. Por otra parte las operaciones de envío de correos electrónicos sólo podrán ser adaptadas y probadas definitivamente cuando la aplicación esté publicada y existan correos electrónicos válidos para la empresa de artesanías y los usuarios. El tema de la seguridad en el campo de la tarjeta de crédito también requiere un mantenimiento posterior ya que este sistema no incorpora la seguridad de Secure Sockets Layer necesaria para brindar a los clientes la confianza para que ingresen sus 76 Para información más detallada y pantallas sobre la aplicación del administrador referirse al Anexo 3: Manual del administrador

83 83 números de tarjetas de crédito a través de la Internet. Este es otro tema que para poder realizarlo y probarlo correctamente necesita de la publicación en Internet de la aplicación. Otro tema que queda sin terminar es el referente a los respaldos de la base de datos. Si bien es conocido que el administrador de la base de datos puede hacer los respaldos mediante la aplicación DBA Studio se podría implementar en el futuro un sistema que desde la web se encargue de respaldar los datos y grabarlos en un archivo de respaldo. Así mismo debería haber una opción que permita visualizar los datos de dicho archivo y otra opción que permita remplazar los datos de la base de datos por los datos del archivo de respaldo. 7.3 PRUEBAS A lo largo de la creación del sistema se realizaron muchas pruebas para verificar que los datos se almacenasen correctamente en la base de datos y para verificar que las operaciones y cálculos den los resultados deseados. Se incorporaron después de varias pruebas algoritmos como el que impide que el usuario ingrese caracteres en campos numéricos como el de la cantidad de productos y el del número de tarjeta de crédito. También se añadió la confirmación antes de eliminar un registro en la aplicación del administrador, y se mejoró el despliegue de errores cuando se ingresa un dato que la base de datos no acepta.

84 84 Después de un sinnúmero de corridas y correcciones se determinó que el sistema cumple con los requerimientos dados. Las pruebas realizadas se dieron únicamente dentro del ambiente monousuario por parte del desarrollador del sistema. Es importante recalcar que faltaría por hacer pruebas por diferentes usuarios en el sistema publicado en la web con el objeto de verificar tiempos de respuesta, seguridades, desempeño del sistema en distintos exploradores de Internet y otros cabos sueltos que queden en la aplicación. 7.4 MANTENIMIENTO Aunque se puede decir que el código está bastante depurado y optimizado, es común que la aplicación requiera posteriores revisiones, como cuando se desee aumentar opciones o manejar más datos que los que se maneja hasta ahora. La base de datos del sistema se puede actualizar continuamente mediante la aplicación del administrador. Posteriores mantenimientos pueden estar relacionados con la mejora de la interfaz gráfica, la inclusión de animaciones e información adicional sobre cada ciudad y cada provincia. Aunque el sistema para el usuario el bastante amigable e intuitivo se podría en una versión posterior incluir ayuda en línea para los usuarios, así como otras opciones que pueda necesitar la empresa, como el mostrar condiciones de venta e informaciones legales.

85 85 Otros aspectos que sería necesario realizar son la implantación del sistema en línea, el aspecto de la seguridad en el campo de la tarjeta de crédito, el manejo de los correos automáticos y la realización de pruebas del sistema por diferentes usuarios. El manejo de respaldos desde la aplicación del administrador podría ser también implementado en el futuro.

86 86 CONCLUSIONES - Existe una gran cantidad de herramientas en el mercado que sirven para el desarrollo de aplicaciones web. La selección de las herramientas dependerá de las necesidades concretas de cada empresa y de sus posibilidades económicas. - Se decidió utilizar las herramientas de Oracle por varias razones: primeramente la integración, las herramientas permiten una conexión muy sencilla de la base de datos con el front-end de la aplicación; segundo, el tema de seguridad y estabilidad de la base de datos; tercero, la facilidad del mantenimiento de la aplicación; y finalmente el deseo de adquirir experiencia y conocimiento en estas herramientas. - Las herramientas de Oracle, el JDeveloper y la base de datos 8i Enterprise Edition cumplieron con todas las expectativas para el desarrollo de la aplicación que venda artesanías vía Internet. - El costo de los programas y licencias de Oracle es en verdad elevado. Los desarrolladores de software que vendan soluciones realizadas con estas herramientas tendrán que cobrar más a sus clientes que si desarrollaran con herramientas como Forte for Java y Tomcat, que brindan soluciones a costos muy reducidos. Las ventajas de Oracle son su seguridad y su continuo servicio al cliente.

87 87 - La aplicación desarrollada fue probada y funciona únicamente en un ambiente monousuario. Incluye el manejo correcto de la información referente a las artesanías, permite la fácil actualización de la base de datos, realiza cálculos como el del subtotal, el del costo de envío en función del peso y del país del cliente, valida la tarjeta de crédito algorítmicamente y valida los datos que ingresa el usuario a la base de datos. - La aplicación no soporta el manejo de encripción para el campo de la tarjeta de crédito y no envía correos automáticamente al administrador del sistema cuando se genera un pedido debido a que estas características sólo pueden ser implementadas y probadas una vez publicada la aplicación. - El desarrollo de aplicaciones para la Internet no es tarea fácil. Se deben manejar varios lenguajes de programación: HTML, JavaScript, JSP y SQL, además hay que entender la lógica que maneja cada programa para la realización de la aplicación. - El correcto diseño de la base de datos es de suma importancia ya que no es posible realizar posteriores modificaciones en el diseño de tablas y relaciones una vez que la base de datos está creada y con información. En cambio, el añadir un nuevo campo a una tabla no presenta problema alguno. - Para el desarrollo de esta aplicación me he basado en los conocimientos dados en las materias de Lenguajes de Programación, Programación Orientada a Objetos,

88 88 Ingeniería de Software I y II, Bases de datos I y II y Simulación, además de las investigaciones adicionales necesarias para lograr crear una aplicación de esta magnitud.

89 89 RECOMENDACIONES - Recomendaría la publicación de la aplicación con el fin de que distintos usuarios prueben el sistema, verifiquen los tiempos de respuesta y vean el comportamiento de la aplicación en distintos exploradores. - Recomendaría la implementación de un sistema de respaldos dentro de la aplicación del administrador que permita guardar datos en un archivo de respaldo, ver los datos de dicho archivo y remplazar los datos de la base de datos por los datos del archivo de respaldo. - Recomendaría incorporar al Oracle JDeveloper un editor de hojas CSS y un archivo de ayuda mucho más extenso a la manera del Microsoft InterDev que incluya ayuda sobre el HTML, el DHTML, JavaScript y JSP. - Recomendaría mejoras al programa Universal Installer de Oracle. Unos pequeños letreros de advertencia en el momento de ingresar el nombre de un Oracle Home y su directorio ayudarían mucho más que el archivo readme ubicado en el disco de instalación que indica que nombres no utilizar para evitar un colapso en el sistema. - Recomendaría a los programadores la dirección la cual ofrece un tutorial bastante completo sobre todas las opciones del HTML,

90 90 JavaScript y SQL. Para referirse a la estructura del lenguaje JSP, sus funciones y variables, recomiendo la dirección - Recomiendo a estudiantes de la facultad que desarrollen temas de disertación de grado que muestren el desarrollo de una aplicación usando otras herramientas como por ejemplo las de la tecnología.net de Microsoft, o las herramientas gratuitas como Apache, PHP, Forte for Java, Tomcat, y las bases de datos MySQL y Firebird.

91 91 ANEXO 1 ALGORITMO DE VALIDACIONES DE TARJETAS DE CRÉDITO Las tarjetas de crédito varían en prefijos y longitud de acuerdo a la siguiente tabla: Tarjeta Prefijo Longitud American Express 34 o Diners Club , 36 o Master Card Visa 4 13 o 16 Para comprobar que los dígitos de la tarjeta de crédito sean correctos se realiza el siguiente algoritmo: Se numeran los dígitos de derecha a izquierda, de tal manera que el primero por la derecha sea el número 1, el segundo por la derecha el 2 y así sucesivamente. Se multiplica por dos todos los dígitos pares según la numeración anterior. Si el resultado de la multiplicación tiene 2 dígitos se comprime sumando 1 al segundo dígito.

92 92 Se suman todos los dígitos resultantes de los productos anteriores con los dígitos impares según la numeración establecida. Se calcula el resto de la división por 10 de la suma anterior. Si es 0 la tarjeta es correcta, en caso contrario incorrecta. Ejemplo: Tarjeta Visa Número: Posición: Pares x 2: Pares comprimidos: Impares: Suma de valores: 80 Como el resto de la división de 80 para 10 es 0 y además el número de tarjeta empieza por el número cuatro, el número de tarjeta de crédito es correcto.

93 93 ANEXO 2 MANUAL DEL USUARIO La pantalla inicial de la aplicación se muestra a continuación. Es posible volver en cualquier momento a esta pantalla haciendo clic en el link ir a la página principal ubicado en la parte superior derecha de la aplicación. Pantalla inicial de la aplicación del usuario Búsquedas de artesanías Para buscar artesanías se puede seguir los seis links que se muestran en la parte izquierda de la pantalla inicial. Cada link mostrara una pantalla diferente que en el caso de las tres primeras opciones es un mapa y en los otros casos es una lista.

94 94 La opción región muestra el siguiente mapa: Búsqueda por región La opción provincia muestra el siguiente mapa: Búsqueda por provincia

95 95 La opción cultura muestra el siguiente mapa: Búsqueda por cultura Las opciones de ciudad, material, y artesano muestran una lista de la siguiente manera: Búsqueda por ciudad

96 96 Dentro de cada una de estas pantallas se puede ingresar a una lista de las artesanías que pertenecen a la región, provincia, cultura, ciudad, material o artesano dado. El usuario puede ver información más detallada sobre alguna artesanía, haciendo clic sobre el nombre, o puede directamente incluirla dentro del carro de compras. La pantalla se ve de la siguiente manera: Resultado de la búsqueda de artesanías para la región Oriente También se pueden buscar artesanías ingresando un texto en la casilla blanca que se encuentra en la parte superior de la aplicación y haciendo clic en el link buscar. La búsqueda se realizará en función del nombre de la artesanía.

97 97 Resultado de la búsqueda de ceremonia La información detallada de cada artesanía se ve en la siguiente pantalla. En la parte inferior (no visible) hay links para búsquedas de artesanías emparentadas con la artesanía seleccionada. Información sobre la Máscara de ceremonia fúnebre

98 98 Carro de compras En las dos últimas pantallas se incluye la opción de añadir al carro de compras. Dentro del carro de compras se puede modificar la cantidad de productos que se desea comprar o eliminar el productos definitivamente de la compra. También se muestra su precio, el subtotal y el peso del pedido que servirá para el posterior cálculo del costo de envío. Carro de compras También se puede acceder a esta última pantalla mediante el ícono carro de compras ubicado en la esquina inferior izquierda. El contenido del carro de compras se almacena en un cookie del usuario y desaparecerá el momento en que el usuario cierre todas las ventanas del explorador de Internet o haya terminado de hacer un pedido.

99 99 Procesar pedido Una vez terminado de llenar el carro de compras se sigue a la opción procesar pedido del carro de compras la cual nos mostrará la siguiente pantalla: Procesar pedido Aquí se pide ingresar al cliente sus datos de correo electrónico, el cual se lo usa como nombre de usuario y su contraseña. También está el link para ingresar nuevo usuario en el caso de no estar registrado todavía.

100 100 Ingreso de información de nuevo cliente Una vez ingresada la nueva información del cliente o una vez suministrados el correo electrónico y la contraseña del usuario se podrá ver la siguiente pantalla: Verificar datos del cliente

101 101 El cliente puede revisar sus datos y modificarlos si desea accediendo al link modificar datos de Nombre Cliente. Si los datos son correctos procederá a continuar con procesar pedido, opción que le llevará a la siguiente pantalla: Ingreso de la tarjeta de crédito (parte superior) En esta pantalla se ingresan los datos referentes a la tarjeta de crédito además de mostrarle al cliente los productos que está adquiriendo, el subtotal, el costo de envío y el valor total del pedido. Esta página se encarga de verificar que el número de tarjeta sea algorítmicamente correcto.

102 102 Ingreso de la tarjeta de crédito (parte inferior) Si los datos son correctos se mostrará la siguiente pantalla. Los cookies referentes al usuario actual y al carro de compras se borran una vez que sale este mensaje. Pedido realizado con éxito

103 103 En esta última pantalla se debe enviar un correo al administrador del sistema para informarle que un pedido acaba de ser realizado por un usuario. El administrador se contactará posteriormente con el usuario para informarle sobre la validez o no validez de su pedido y su información. Mis pedidos Existe también la opción de Mis pedidos en un ícono en la parte inferior izquierda que permite a los usuarios verificar el estado y el detalle de todos los pedidos que vayan realizando. Hay que notar que una vez que se ingresa el nombre de usuario y la contraseña se abre una sesión de usuario que permanecerá abierta hasta que el usuario decida cerrarla con la opción que aparece dentro de Mis pedidos. Una vez cerrada la sesión el sistema volverá a preguntar por un nuevo nombre de usuario y contraseña. La sesión también se cierra al terminar de realizar un pedido. Pedidos del cliente

104 104 El detalle de cada pedido se puede ver haciendo clic en el link de cada pedido: Detalle del pedido Información adicional La aplicación ofrece información adicional con respecto a artesanos y a culturas, mostrando los datos personales, breve historia, dirección y teléfono en el primer caso e información histórica con respecto a las distintas culturas que se pueden encontrar en el Ecuador. Hay que notar que se puede incluir dentro de estas descripciones etiquetas HTML que cuando sean desplegadas por el explorador muestren textos subrayados, en negrilla o títulos y listas.

105 105 Resultado de búsqueda de artesanías de la cultura Achuar Información del artesano Diego Chávez

106 106 ANEXO 3 MANUAL DEL ADMINISTRADOR Para acceder a la aplicación del administrador se hace clic en el ícono administrador en la parte inferior izquierda de la aplicación. Se desplegará la siguiente pantalla en una ventana nueva: Nombre de usuario y contraseña para el ingreso a la aplicación del administrador De acuerdo al nivel de acceso del usuario de esta aplicación la pantalla inicial mostrará distintas tablas:

107 107 Algunas de las posibles pantallas iniciales de la aplicación del administrador Se pueden definir nuevos niveles de acceso para los administradores accediendo a las tablas nivel y administrador. Al hacer clic en uno de los links hacia una tabla se muestra una lista de todos los registros que se encuentran en cada tabla, con la posibilidad de editarlos simplemente al hacer clic sobre el link que hay en la clave primaria de cada registro. La opción eliminar también se encuentra en esta lista en la última columna y pide una última confirmación antes de proceder a la eliminación.

108 108 Lista de registros de la tabla Cultura Para modificar el registro se hace clic en el link de la clave primaria de cada registro: Editar registro de la tabla Artesanía

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

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

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 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

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

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

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

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

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

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP Departamento de Lenguajes y Sistemas Informáticos Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP Curso 001-00 ASP, CFM, JSP y PHP (I) Diferente tecnologías con un mismo propósito: proporcionar

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

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 4 Julio 2009 Índice 1. Generalidades... 3 1.1

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

Novedades. Introducción. Potencia

Novedades. Introducción. Potencia Introducción Basado en el demostrado rendimiento y flexibilidad de la versión 8.5, Crystal Reports 9 presenta una amplia variedad de avanzadas funciones para que el diseño, entrega e integración de informes

Más detalles

Soft4Web. Embedded Web Server + Program 11.14

Soft4Web. Embedded Web Server + Program 11.14 Soft4Web 11.14 Qué es? Tecnología, dotada de un entorno de desarrollo con el cual se pueden crear aplicaciones Windows, donde el Servidor Web y la Aplicación Informática están integradasen un solo ejecutable

Más detalles

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios INTRODUCCION Tema: Protocolo de la Capa de aplicación. FTP HTTP Autor: Julio Cesar Morejon Rios Qué es FTP? FTP (File Transfer Protocol) es un protocolo de transferencia de archivos entre sistemas conectados

Más detalles

aplicaciones web: ASP, CFM, JSP y PHP

aplicaciones web: ASP, CFM, JSP y PHP Departamento de Lenguajes y Sistemas Informáticos Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP Curso 2001-2002 Sergio Luján Mora ASP, CFM, JSP y PHP (I) Diferente tecnologías con un

Más detalles

CMS JOOMLA. Características

CMS JOOMLA. Características CMS JOOMLA Joomla es un sistema gestor de contenidos dinámicos (CMS o Content Management System) que permite crear sitios web de alta interactividad, profesionalidad y eficiencia. La administración de

Más detalles

INFORMACION PLATAFORMA BIOMÉTRICA HOMINI

INFORMACION PLATAFORMA BIOMÉTRICA HOMINI 1. Descripción de la solución INFORMACION PLATAFORMA BIOMÉTRICA HOMINI Homini ha desarrollado una plataforma biométrica basada en un sistema de middleware, con la cual se pueden administrar las huellas

Más detalles

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red. Comercio electrónico. (e-commerce) Las empresas que ya están utilizando la red para hacer comercio ven como están cambiando las relaciones de la empresa con sus clientes, sus empleados, sus colaboradores

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 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

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la informació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

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

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

Aspectos Básicos de Networking

Aspectos Básicos de Networking Aspectos Básicos de Networking ASPECTOS BÁSICOS DE NETWORKING 1 Sesión No. 4 Nombre: Capa de transporte del modelo OSI Objetivo: Al término de la sesión el participante aplicará las principales características

Más detalles

SIEWEB. La intranet corporativa de SIE

SIEWEB. La intranet corporativa de SIE La intranet corporativa de SIE por ALBA Software Acceso a los servicios SIE desde páginas Web para los usuarios de sistema *. Administración del Sistema (cuentas de usuarios, permisos, servicios, etc...)

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

DESARROLLO WEB EN ENTORNO CLIENTE

DESARROLLO WEB EN ENTORNO CLIENTE DESARROLLO WEB EN ENTORNO CLIENTE CAPÍTULO 1: Selección de arquitecturas y herramientas de programación Juan Manuel Vara Mesa Marcos López Sanz David Granada Emanuel Irrazábal Jesús Javier Jiménez Hernández

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

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace 5. Internet 5.1. Qué es Internet? Internet es una red mundial de equipos que se comunican usando un lenguaje común. Es similar al sistema telefónico internacional: nadie posee ni controla todo el sistema,

Más detalles

La vida en un mundo centrado en la red

La vida en un mundo centrado en la red La vida en un mundo centrado en la red Aspectos básicos de networking: Capítulo 3 1 Objetivos En este capítulo aprenderá a: Describir cómo las funciones de las tres capas superiores del modelo OSI que

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 3 Abril 2006 Índice 1. Generalidades... 3 1.1

Más detalles

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA AREA DEL TEMA: INGENIERÍA DE SOFTWARE OBJETIVO GENERAL Desarrollar aplicaciones web utilizando

Más detalles

TPV VIRTUAL O PASARELA DE PAGOS DE CAJASTUR

TPV VIRTUAL O PASARELA DE PAGOS DE CAJASTUR TPV VIRTUAL O PASARELA DE PAGOS DE CAJASTUR El TPV (Terminal Punto de Venta) Virtual es un producto dirigido a empresas y comercios, con tienda en internet, que permite el cobro de las ventas realizadas

Más detalles

SIAM WEB DOCUMENTACION GENERAL

SIAM WEB DOCUMENTACION GENERAL SIAM WEB DOCUMENTACION GENERAL CARACTERÍSTICAS GENERALES El Sistema de Recuperación y Archivo de documentos. Siam Web Documentación General es una aplicación preparada para el Archivo, Recuperación y Gestión

Más detalles

Internet - Web. Internet - Web. Internet. Internet. Diseño de Sitios Web Desarrollo de Paginas Web. Qué es la Internet? - Qué es la Web?

Internet - Web. Internet - Web. Internet. Internet. Diseño de Sitios Web Desarrollo de Paginas Web. Qué es la Internet? - Qué es la Web? Desarrollo de Paginas Web Internet - Web Internet - Web Qué es la Internet? - Qué es la Web? Internet: Una red de computadoras a nivel mundial Web: Una forma de organizar la información existente en Internet

Más detalles

Crear un servidor Web en IIS

Crear un servidor Web en IIS Crear un servidor Web en IIS Qué es un servidor web? Un servidor web es un programa que se ejecuta continuamente en un computador, manteniéndose a la espera de peticiones de ejecución que le hará un cliente

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

Qué es una aplicación web

Qué es una aplicación web Departamento de Lenguajes y Sistemas Informáticos Qué es una aplicación web Programación en Internet Curso 2006-2007 Índice Introducción Cliente Servidor Transferencia páginas web Entornos web Ventajas

Más detalles

Qué es una página web?, qué conoces al respecto?, sabes crear una página

Qué es una página web?, qué conoces al respecto?, sabes crear una página Semana 13 13 Empecemos! Bienvenidos a una nueva sesión, llena de aprendizajes! En semanas anteriores estudiamos lo que son bases de datos, estructuras de datos y métodos de ordenamientos, todo lo cual

Más detalles

GATEWAYS COMO FIREWALLS

GATEWAYS COMO FIREWALLS GATEWAYS COMO FIREWALLS Ricardo Sánchez Q. Estudiante Ingeniería Telemática Aunque las empresas que han experimentado un ataque a su red por mano de usuarios no deseados, son recientes a hablar sobre sus

Más detalles

Diseño dinámico de arquitecturas de información

Diseño dinámico de arquitecturas de información Diseño dinámico de arquitecturas de información CARACTERISTICAS DEL SISTEMA Las organizaciones modernas basan su operación en la gestión del conocimiento, es decir, en el manejo de información que se presenta

Más detalles

Instalación del Software Magaya

Instalación del Software Magaya Instalación del Software Magaya INSTALACIÓN DEL SOFTWARE MAGAYA INTRODUCCIÓN A LA INSTALACIÓN DEL SOFTWARE MAGAYA Introducción a la Instalación del Software Magaya Este tema de instalación explica las

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

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

Más detalles

arquitectura que maneja. Encontraremos también los diferentes servidores que

arquitectura que maneja. Encontraremos también los diferentes servidores que 3.1 INTRODUCCIÓN A lo largo de este capitulo será descrito ArcIMS, así como las características y arquitectura que maneja. Encontraremos también los diferentes servidores que proporciona ArcIMS, además

Más detalles

CONCLUISIONES Y RECOMENDACIONES

CONCLUISIONES Y RECOMENDACIONES CONCLUISIONES Y RECOMENDACIONES CONTENIDO 7.1 Verificación de Hipótesis 7.2 Conclusiones 7.3 Recomendaciones Mónica Cecilia Gallegos Varela - 145 - VERIFICACIÓN DE HIPÓTESIS La hipótesis planteada al inicio

Más detalles

Manual Intranet Área de Sistemas

Manual Intranet Área de Sistemas Manual Intranet Área de Sistemas ManualIntranet.doc Fecha de modificación 15/01/2007 9:59:00 Página 1 de 6 1. QUE ES Y COMO FUNCIONA UNA INTRANET El centro de una Intranet es la World Wide Web. En muchos

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

Windows Server 2012: Infraestructura de Escritorio Virtual

Windows Server 2012: Infraestructura de Escritorio Virtual Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Application Virtualization Módulo del Manual Autores: James Hamilton-Adams, Content Master Publicado: 5 de Octubre 2012 La información

Más detalles

Ingeniería de Software. Pruebas

Ingeniería de Software. Pruebas Ingeniería de Software Pruebas Niveles de prueba Pruebas unitarias Niveles Pruebas de integración Pruebas de sistema Pruebas de aceptación Alpha Beta Niveles de pruebas Pruebas unitarias Se enfocan en

Más detalles

CÓMO CREAR UNA PÁGINA WEB

CÓMO CREAR UNA PÁGINA WEB CÓMO CREAR UNA PÁGINA WEB v.2 Índice 1 Introducción 3 2. Diseño gráfico 3 3. El Lenguaje HTML 3 4. Alojamiento y publicación 5 5. Promoción 8 6. Otras utilidades 9 6.1 Estadísticas 9 6.2 Contadores y Formularios

Más detalles

Internet, conceptos básicos

Internet, conceptos básicos Internet, conceptos básicos IP (INTERNET PROTOCOL) Toda computadora tiene un número que la identifica en una red, este número es lo que llamamos IP, una dirección de IP típica se ve de esta manera Direcciones

Más detalles

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW): INFORMÁTICA IE MÓDULO INTERNET Términos a conocer y conceptos básicos World Wide Web (WWW): Digamos, simplemente, que es un sistema de información, el sistema de información propio de Internet. Sus características

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

Lección 5: Bloc de notas Estudio de la aplicación Bloc de notas, utilizada para escribir sencillos documentos de texto de tamaño reducido.

Lección 5: Bloc de notas Estudio de la aplicación Bloc de notas, utilizada para escribir sencillos documentos de texto de tamaño reducido. Curso para conocer y aprender a manejar completamente el sistema operativo Microsoft Windows XP Professional, analizando desde el entorno del mismo hasta sus herramientas administrativas más complejas

Más detalles

Windows Server 2003. Windows Server 2003

Windows Server 2003. Windows Server 2003 Windows Server 2003 Windows Server 2003 Es un sistema operativo de la familia Windows de la marca Microsoft para servidores que salió al mercado en el año 2003. Está basada en tecnología NT y su versión

Más detalles

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 FAMILIA PROFESIONAL: INFORMATICA Y COMUNICACIONES MATERIA: 28. DESARROLLO WEB EN ENTORNO SERVIDOR CURSO: 2º DE CFGS DESARROLLO DE APLICACIONES

Más detalles

VISIÓN GENERAL HERRAMIENTAS COMERCIALES

VISIÓN GENERAL HERRAMIENTAS COMERCIALES VISIÓN GENERAL El servidor de MS SQL se ha convertido en un estándar en muchas partes de la América corporativa. Puede manejar volúmenes de datos grandes y se integra bien con otros productos de Microsoft.

Más detalles

1. Resumen.. 3. 2. Objetivos.. 3. 3. Introducción. 3

1. Resumen.. 3. 2. Objetivos.. 3. 3. Introducción. 3 1 Índice 1. Resumen.. 3 2. Objetivos.. 3 3. Introducción. 3 4. Aplicación web para la gestión de una memoria corporativa: reportes de actividades (proyectos) 4.1 Metodología... 4 4.2 Lenguajes y herramientas

Más detalles

PRESENTACIÓN DEL PRODUCTO

PRESENTACIÓN DEL PRODUCTO PRESENTACIÓN DEL PRODUCTO esernet, s.l. Sebastián Elcano, 32 Planta 1 Oficina 22 28012 Madrid Teléfono: 91 433 84 38 -- Fax. 91 141 21 89 www.esernet.com -- esernet@esernet.com 1. Introducción 2. Descripción

Más detalles

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN INTRANET DE UNA EMPRESA Autor: Burgos González, Sergio. Director: Zaforas de Cabo, Juan. Entidad colaboradora: Colegio de Ingenieros del ICAI. RESUMEN DEL PROYECTO El proyecto consiste en el desarrollo

Más detalles

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto Introducción: Sobre casi cualquier tema del quehacer humano que se aborde, existen

Más detalles

Tema 3. 3.3 Tecnologías de Desarrollo

Tema 3. 3.3 Tecnologías de Desarrollo Tema 3 3.3 Tecnologías de Desarrollo HTML pronto pasa a ser insuficiente para todas las posibilidades de la Red No se puede interactuar con el servidor Aparecen los primeros scripts para propocionar dichar

Más detalles

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples

Más detalles

Bajo Costo de Implementación y Soporte: Ofrecer un bajo costo de implementación y mantenimiento.

Bajo Costo de Implementación y Soporte: Ofrecer un bajo costo de implementación y mantenimiento. Documento de Referencia Una Única Solución que Integra Todas las Aplicaciones que su Empresa Requiere Tecnologizar los procesos financieros, operacionales y de gestión de su empresa, es sólo cuestión de

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

Fuente: http://www.kzgunea.net

Fuente: http://www.kzgunea.net APRENDE A NAVEGAR SERVICIOS DE INTERNET Internet es como el mercado del pueblo en día de feria. En el mercado los puestos se organizan por secciones: por un lado la fruta, por otro las hortalizas, por

Más detalles

Qué necesito saber para tener mi sitio web en Internet?

Qué necesito saber para tener mi sitio web en Internet? Qué necesito saber para tener mi sitio web en Internet? Introducción Antes es importante tener en cuenta que Es importante considerar lo siguiente: Definir claramente tu actividad en Internet Establecer

Más detalles

Para tener una visión general de las revistas de estadística, ir a: http://www.statsci.org/jourlist.html

Para tener una visión general de las revistas de estadística, ir a: http://www.statsci.org/jourlist.html 8. Difusión 8.4. Documentos - Métodos La expresión "publicar o perecer" hace referencia a la presión de publicar trabajos constantemente para continuar o sostener una carrera en el sector académico. La

Más detalles

Eagle e Center. Tel 57 1 6064173 Bogotá Colombia. estadístico que genera reportes gráficos y consolidados de esta información.

Eagle e Center. Tel 57 1 6064173 Bogotá Colombia. estadístico que genera reportes gráficos y consolidados de esta información. El valor de la información, definiendo información como los datos procesados bajo parámetros útiles, es determinante en los mercados actuales, donde las decisiones basadas en hechos y datos garantizan

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

PROGRAMACIÓN PÁGINAS WEB CON PHP

PROGRAMACIÓN PÁGINAS WEB CON PHP PROGRAMACIÓN PÁGINAS WEB CON PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología

Más detalles

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,

Más detalles

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor. Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios

Más detalles

Copyright. INSTRUCTIVO DE CONFIGURACIÓN DE PC s DE CLIENTES CASH MANAGEMENT

Copyright. INSTRUCTIVO DE CONFIGURACIÓN DE PC s DE CLIENTES CASH MANAGEMENT Copyright Este es un documento con DERECHOS DE AUTOR RESERVADOS. PROHIBIDA SU REPRODUCCIÓN O UTLIZACIÓN TOTAL O PARCIAL, sin autorización escrita del Gerente General de Banco General Rumiñahui S.A. NOTA

Más detalles

Aplicaciones Móviles. Sesión 12: Acceso a datos

Aplicaciones Móviles. Sesión 12: Acceso a datos Aplicaciones Móviles Sesión 12: Acceso a datos Contextualización Los datos son actualmente elementos muy importantes, pues éstos definen características de uso de elementos en la informática, dan identidad

Más detalles

Sistema de SaaS (Software as a Service) para centros educativos

Sistema de SaaS (Software as a Service) para centros educativos Sistema de SaaS (Software as a Service) para centros educativos Definiciones preliminares: Qué es SaaS? SaaS (1) es un modelo de distribución del software que permite a los usuarios el acceso al mismo

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

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

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Diseño de páginas web 2011

Diseño de páginas web 2011 Diseño de páginas web 2011 Al finalizar el curso, el alumno será capaz de planificar y diseñar correctamente desde sencillas páginas web hasta completos sitios web. Para ello, se le proporciona primero

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

FOROS. Manual de Usuario

FOROS. Manual de Usuario FOROS Manual de Usuario Versión: 1.1 Fecha: Septiembre de 2014 Tabla de Contenidos 1. INTRODUCCIÓN... 4 1.1 Propósito... 4 1.2 Definiciones, acrónimos y abreviaturas... 4 2. ESPECIFICACIONES TÉCNICAS...

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

Ayuda de Symantec pcanywhere Web Remote

Ayuda de Symantec pcanywhere Web Remote Ayuda de Symantec pcanywhere Web Remote Conexión desde un navegador web Este documento incluye los temas siguientes: Acerca de Symantec pcanywhere Web Remote Protección de la sesión de Web Remote Formas

Más detalles

TEMA 8. Internet y la World Wide Web. Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca

TEMA 8. Internet y la World Wide Web. Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca TEMA 8 Internet y la World Wide Web Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Qué es Internet? Algunos autores, Internet es un acrónimo de INTERconected

Más detalles

Diseñado y Desarrollado por Sistemas Informáticos Aplicados, SA de CV. Socio Estratégico de Negocios

Diseñado y Desarrollado por Sistemas Informáticos Aplicados, SA de CV. Socio Estratégico de Negocios Diseñado y Desarrollado por Sistemas Informáticos Aplicados, SA de CV Socio Estratégico de Negocios Hoy en día la atención al cliente es factor fundamental para un servicio de excelencia, y a la vez es

Más detalles

MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0

MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0 MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0 Commvault Simpana 9 es la solución a la administración de los respaldos de los datos y archivos digitales, ya que ofrece un enfoque

Más detalles

Beneficios estratégicos para su organización. Beneficios. Características V.2.0907

Beneficios estratégicos para su organización. Beneficios. Características V.2.0907 Herramienta de inventario que automatiza el registro de activos informáticos en detalle y reporta cualquier cambio de hardware o software mediante la generación de alarmas. Beneficios Información actualizada

Más detalles

Macromedia Dreamweaver

Macromedia Dreamweaver Macromedia Dreamweaver Grupo 5: URJC I.T.I.Sistemas Herramientas Case y 4GL Mónica Moral Narváez Nuria Fuentevilla del Haya Miguel Ángel López Molero INDICE: Macromedia Dreamweaver Qué es Macromedia?.

Más detalles

Configuración de Aspel-SAE 6.0 para trabajar Remotamente

Configuración de Aspel-SAE 6.0 para trabajar Remotamente Configuración de Aspel-SAE 6.0 para trabajar Remotamente Para poder configurar Aspel-SAE 6.0 como Servidor Remoto, se necesita realizar lo siguiente: 1. Instalar y/o configurar el IIS que se tenga de acuerdo

Más detalles

10. El entorno de publicación web (Publiweb)

10. El entorno de publicación web (Publiweb) 10. El entorno de publicación web (Publiweb) 10.1. Introducción El entorno de publicación Web es una herramienta que permite la gestión de nuestras páginas Web de una forma visual. Algunos ejemplos de

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