You are on page 1of 14

UNIDAD 1: ARQUITECTURA.

1.1 Evolución de las aplicaciones web.
La evolución de la tecnología informática y las telecomunicaciones ha otorgado a la red
Internet y al World Wide Web un papel predominante en el mundo tecnológico y
económico.
Las aplicaciones en Internet han modificado la forma cotidiana de obtener información,
realizar negocios e intercambios comerciales, recibir instrucción y comunicarse. La red
Internet es un importante medio para organizaciones e individuos, quienes interactúan
empleando aplicaciones desarrolladas con tecnología Internet las cuales se han vuelto
muy populares ya que poseen ventajas significativas sobre las aplicaciones tradicionales
en una variedad de escenarios.
Debido a este auge, en el mercado han proliferado las tecnologías y herramientas para
el desarrollo de aplicaciones en Internet.
Tecnologías para desarrollo de aplicaciones con Tecnología Internet Clases, exposiciones
y laboratorios de diversas tecnologías del lado del cliente y del servidor para el
desarrollo de aplicaciones con tecnología Internet.
Tecnologías a considerar.
En la actualidad existen muchas tecnologías para el desarrollo web, las cuales tienen
ventajas y desventaja además de que cambian continuamente:
JavaScript
Cascading Style Sheets [CCS]
Document Object Model [DOM]
Servidores Web [HTTP-D]
Servidores de Aplicaciones
Java Servlets
Java Server Pages [JSP]
Java Database Connectivity [JDBC]
.NET
Preprocessed Hypertext Pages [PHP]
Extensible Markup Language [XML]
Extensible Style Sheets [XSL]
Extensible Server Pages [XSP]
Servicios Web e intercambio de información (SOAP, XML, UDDI, WSDL).
MySQL, Oracle, Microsoft SQL Server
ActionScript
Evolución
En sus orígenes, la Web era utilizada por los navegantes para obtener información. La
unidad de trabajo era la página Web y, de esta forma, los usuarios navegaban entre
múltiples páginas a través de hipervínculos. En esta conceptualización, el elemento
central es el servidor Web con su información. Generalmente, estos sitios consistían en
sitios corporativos, sitios de noticias, sitios de información específica.
El siguiente paso en esta evolución consistió en utilizar la red como comunidades, en las
que los propios navegantes (o usuarios de la Web) pudieran interaccionar, ya sea entre
ellos o con otros sitios que ofrecían servicios. Durante esta fase aparecieron servicios

En este sentido. las páginas contienen código HTML y scripts dinámicos. Utilizar sindicación de contenidos. surgen nuevos modelos de negocio basados en la web como plataforma. Los browsers piden páginas (almacenadas o creadas dinámicamente) con información a los servidores Web. Una vez que se solicita esta petición mediante el protocolo HTTP y la recibe el servidor Web. como el medio para la distribución de servicios y para la construcción de información. También. compras electrónicas basadas en comunidades. XML u otros estándares. El paso actual. Una aplicación Web es proporcionada por un servidor Web y utilizada por usuarios que se Conectan desde cualquier punto vía clientes Web (browsers o navegadores). La arquitectura tradicional de cliente/servidor también es conocida como arquitectura de dos capas. Requiere una interfaz de usuario que se instala y se ejecuta en una PC o . En algunos ambientes de desarrollo de aplicaciones Web. Si bien no existe una forma única en que las aplicaciones de la Web 2. La arquitectura de un Sitio Web tiene tres componentes principales: Un servidor Web Una conexión de red Uno o más clientes El servidor Web distribuye páginas de información formateada a los clientes que las solicitan. y para ello se usa el protocolo HTTP. de forma tal de poder trabajar con unidades de navegación más granulares y específicas. éste localiza la página Web en su sistema de archivos y la envía de vuelta al navegador que la solicitó.0 deben desarrollarse. etc. utilizando XHTML. etc.2 Arquitectura de las aplicaciones web. el software como servicio es uno de los modelos de negocio que apoya esta transformación. Sindicación web es una forma de subscripción en la cual parte del material de un sitio web se hace disponible en otros sitios web o de un lector especial. es decir. su selección. en lugar de navegar a través de páginas HTML. Las páginas Web son el componente principal de una aplicación o sitio Web. detrás de esta nueva visión. Separación del contenido de la presentación. Las aplicaciones Web están basadas en el modelo Cliente/Servidor que gestionan servidores web. 1. Los requerimientos son hechos a través de una conexión de red. Estandarizar las interfaces. es la visión de la Web como una plataforma. y que utilizan como interfaz páginas web. Incorporar la técnica AJAX en las aplicaciones. servicios de mensajería.tales como foros de discusión. existen algunas herramientas y tecnologías que permiten su desarrollo: Transformar las aplicaciones de escritorio en aplicaciones basadas en la Web. que son ejecutados por el servidor antes de entregar la página. servicios de e-banking.

puede complicar el escalamiento futuro o las implementaciones. los enviará al servidor.estación de trabajo y envía solicitudes a un servidor para ejecutar operaciones complejas. una estación de trabajo utilizada como cliente puede ejecutar una aplicación de interfaz de usuario que interroga a un servidor central de ases de datos. La arquitectura asada en Web transforma la interfaz de búsqueda existente (el explorador de Web). utilizadas en diseños de dos capas. Una aplicación Web típica recogerá datos del usuario (primer nivel). Las técnicas de ingeniería de software de prototipo se emplean fácilmente. Cada capa es un proceso separado y bien definido corriendo en plataformas separadas. Esto se debe al hecho de que la mayoría de la aplicación lógica existe en la estación de trabajo del cliente. En la arquitectura tradicional de tres capas se instala una interfaz de usuario en la computadora del usuario final (el cliente). Las herramientas del cliente y de la base de datos. que ejecutará un programa (segundo y tercer nivel) y cuyo resultado será formateado y presentado al usuario en el navegador (primer nivel otra vez). Arquitectura de tres capas La arquitectura de tres capas es un diseño reciente que introduce una capa intermedia en el proceso. esto es debido al número de dispositivos con acceso directo al amibente de esas bases de datos. . el tercer nivel proporciona al segundo los datos necesarios para su ejecución. en la interfaz del usuario final. Ventajas del Sistema de Dos Capas: El desarrollo de aplicaciones en un ambiente de dos capas funciona adecuadamente. Las herramientas para el desarrollo con dos capas son robustas y ampliamente evaluadas. pero no se ejecutan bien en organizaciones dinámicas. La seguridad del sistema en un diseño de dos capas es compleja y a menudo requiere administración de las bases de datos. sino tamién el servidor web que es el responsale de presentar los datos un formato adecuado. Las soluciones de dos capas trabajan bien en ambientes no dinámicos estables. Por ejemplo. Desventajas del sistema de dos capas: Los ambientes de dos capas requieren control excesivo de las versiones y demandan esfuerzo de distribución de la aplicación cuando se les hacen cambios. Finalmente. El segundo nivel está referido habitualmente a algún tipo de programa o script. La dependencia a largo plazo de cualquier herramienta. constantemente están cambiando. La arquitectura de las aplicaciones Web suelen presentar un esquema de tres niveles El primer nivel consiste en la capa de presentación que incluye no sólo el navegador.

Por lo tanto. Aunque las aplicaciones Web están creciendo rápidamente tanto en uso como en aceptación. El código de la capa intermedia puede ser reutilizado por múltiples aplicaciones si está diseíado en formato modular. Esta relevancia de la economía genera grandes desafíos en las aplicaciones Web que son los de controlar y mejorar su calidad. Desventajas de las Arquitecturas de Tres Capas y asadas en Web Los ambientes de tres capas pueden incrementar el tráfico en la red y requiere más balance de carga u tolerancia a las fallas. Cada día se incrementan las transacciones financieras. El creciente desarrollo del comercio electrónico así como el desplazamiento de las distintas organizaciones hacia la Web ha traído en la actualidad una constante evolución de las aplicaciones Web. resultando en aplicaciones de pobre calidad. Los exploradores actuales no son todos iguales. Muchas organizaciones son forzadas a escoger uno en lugar de otro. las cuales exigen funcionalidad.3 Tecnologías para el desarrollo de aplicaciones web. esa estructura de los datos puede ser modificada sin cambiar la interfaz del usuario en la PC. la interfaz del cliente no es requerida para comprender o comunicarse con el receptor de los datos.Las diferentes capas suelen ser: Capa 1: Cliente de aplicación: Navegador Web Capa 2 : Servidor de Aplicaciones: Apache. son las mismas metodologías de desarrollo las . No obstante. La separación de roles en tres capas. La estandarización entre diferentes proveedores ha sido lenta en desarrollarse. su desarrollo tiende a ser ad hoc. 1. Con la arquitectura de tres capas. la transferencia de información confidencial y ejecución de procesos online. entre otros. confiabilidad. La mayoría de los desarrolladores Web ponen poca atención en la elicitación y análisis de requisitos. son más flexiles que en el diseño de dos capas. al servidor de capa intermedia. Además los desarrolladores de aplicaciones confían excesivamente en el conocimiento y experticia de los desarrolladores individuales y sus prácticas de desarrollo individual más bien que en las prácticas estándar. ya que la estación solo necesita transferir parámetros a la capa intermedia. usabilidad y eficiencia por mencionar algunas características de calidad. servidor SMTP… Ventajas de la arquitectura de tres capas: Las llamadas de la interfaz del usuario en la estación de trabajo. hace más fácil reemplazar o modificar una capa sin afectar a los módulos restantes. mientras que cada uno ofrece sus propias y distintas ventajas. así como en las metodologías y procesos de desarrollo. Servidor Tomcat con servlet’s Capa 3 : Servidor de Datos: base de datos.

así como a la facilidad para actualizarlas y mantenerlas. Un empleo sistemático y disciplinado de modelos. las actividades que formarían parte del marco de trabajo incluirían las tareas abajo enumeradas. independientemente del tamaño y complejidad de la misma. implantar y mantener aplicaciones y sistemas Web de alta calidad. es una aplicación software que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador. La Modelado se compone de dos secuencias paralelas de tareas. facilitando el desarrollo de productos que se ajustan mucho lo que éste busca y necesita. las páginas. la evaluación de riesgos y el calendario del desarrollo y fechas de entrega. En otras palabras. La otra. Ingeniería Web es el proceso utilizado para crear. generación de páginas. Una consiste en el diseño y producción del contenido que forma parte de laaplicación. . modelado. En la generación de páginas se integra contenido. que permite que el usuario se involucre activamente. En la ingeniería software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. mantenibilidad. métodos y modelos de ingeniería de software en la Web para el aseguramiento y control de la calidad favorece a la compresión y análisis y potencialmente mejorar los desarrollos producidos. en el diseño de la arquitectura. arquitectura.Independientemente del valor delcontenido y servicios prestados. Las aplicaciones web son populares debido a lo práctico del navegador web como cliente ligero. Las actividades que forman parte del proceso son: formulación. Calidad de una aplicación Web El Proceso de Ingeniería Web Características como inmediatez y evolución y crecimiento continuos. La planificación genera la estimación del costo general del proyecto. Esta breve definición aborda un aspecto clave de cualquier proyecto como es determinar que tipo de proceso es más adecuado en función de las características del mismo. confiabilidad. weblogs. Es importante destacar la importancia del diseño de la interfaz. nos llevan a un proceso incremental y evolutivo. wikis. Según Pressman. tiendas en línea.que no tratan de manera adecuada y profunda los atributos de calidad. usabilidad y portabilidad no se les da la debida consideración que se merecen durante el proceso de desarrollo. Estas situaciones traen como consecuencia que los atributos de calidad de los sistemas basados en la Web tales como la funcionalidad. planeación. Algunas aplicaciones son: los webmails. una buena interfaz mejora la percepción queel usuario tiene de éstos. navegación e interfaz para crear estética o dinámicamente el aspecto más visible delas aplicación. navegación e interfaz de usuario. análisis. El análisis especifica los requerimientos e identifica el contenido. La formulación identifica objetivos y establece el alcance de la primera entrega. Dichas tareas serían aplicables a cualquier aplicación Web. test y evaluación del cliente. intranet.

rendimiento. seguimiento y registro de informes. donde los tiempos de desarrollo y los ciclos de vida de los productos son tan cortos. en la Web toman especial relevancia para valorar la calidad aspectos como: Usabilidad Funcionabilidad Fiabilidad Seguridad Eficiencia Mantenibilidad Control de la Configuración Establecer mecanismos adecuados de control de la configuración para la Ingeniería Web es uno de los mayores desafíos a los que esta nueva disciplina se enfrenta. Entre los aspectos que añaden dificultad a la gestión destacamos: Alto porcentaje de contratación a terceros El desarrollo incluye una gran variedad de personal técnico y no técnico trabajando en paralelo El equipo de desarrollo debe dominar aspectos tan variados como. Sin embargo. lenguajes y estándares en Internet. Escalabilidad: Es común encontrar aplicaciones que de un día para otro crecen considerablemente. Sin embargo. Hay cuatro aspectos importantes a tener en cuenta en el desarrollo de tácticas de control de configuración para la Web.análisis. Finalmente. etc. La Web tiene características únicas que demandan estrategias y herramientas nuevas. navegacional. Control y Garantía de la Calidad Una de las tareas colaterales que forman parte del proceso es el Control yGarantía de la Calidad (CGC). Contenido: Considerando la dinamicidad con la que el contenido se genera. diseño de arquitectura y navegación. diseño gráfico y de interfaces.El Test busca errores a todos lo niveles: contenido. redes. funcional. Política: ¿Quién posee la información? ¿Quién asume la responsabilidad y coste de mantenerla? La Gestión del Proceso En un proceso tan rápido como es el proceso de Ingeniería Web. las técnicas de control noescalan de forma adecuada.¿merece la pena el esfuerzo requerido por la gestión? La respuesta es que dada su complejidad es imprescindible. Hay mucho personal no especializado que no reconoce la importancia que tiene el control del cambio. hace que el proceso de test sea especialmente difícil. El hecho de que las aplicaciones residan en la red. revisiones técnicas formales. y que interoperen en plataformas muy distintas. el resultado es sometido a la evaluación del cliente. lo que hace que el proceso de búsqueda y contratación de personal sea arduo. test de aplicaciones Web. software basado en componentes. Personal: Cualquiera realiza cambios. Todas las actividades CGC de la ingeniería software tradicional como son: establecimiento y supervisión de estándares. es tarea compleja organizar racionalmente los objetos que forman la configuración y establecer mecanismos de control. ¿Qué marca la diferencia? A modo de breve resumen enumeramos las siguientes diferencias: . etc. son igualmente aplicables a la Ingeniería Web. etc.

ingeniería software y diseño gráfico que requiere equipos multidisciplinares y polivalentes. 1. rendimiento y usabilidad. Documentación Documenta todo lo que puedas tu aplicación en especial aquellas partes de la misma que hayan requerido un mayor tiempo de desarrollo. en un futuro cercano te librará de más de un quebradero de cabeza. No empiezes por los pequeños detalles A menudo es más sencillo plantearse el desarrollo de pequeños servicios cómo pueden ser los RSS o una galería de imágenes. Es deber de todos proporcionarcimientos firmes a una tecnología que 'mágicamente'. nos permite acceder acualquier hora a cualquier punto del planeta para obtener bienes tan valiosos como son los servicios y la información. Ciclos de vida y tiempo de desarrollomuy cortos Cambio continuo: Necesidad de soluciones que permitan flexibilidad y adaptación conforme el proyecto cambia.Confluencia de disciplinas: Sistemas deinformación. . es importante conseguir un interfaz que se atractivo y útil para la gran mayoria de los usuarios. pero es fundamental comenzar por lo que vendrá a ser la base de nuestra aplicación. 3. 2. Prácticas tan pobres de calidad pueden introducir defectos que dejen al efecto 2000 como un juego de niños. A menudo antes de empezar un proyecto no tenemos claro cúal es el objetivo del mismo o qué pretendemos alcanzar por eso esta pequeña lista te puede ayudar a la hora de planificar un proyecto. Requisitos fuertes de seguridad. y sí tuvieramos que migrar las bases de datos de MySql a Oracle. primero los cimientos. Planificar una aplicación web implica pensar y definir muchas cuestiones de importancia: 1. ¿Por qué es necesaria? La Web evoluciona y crece sin diseño alguno. Planificar el futuro Puede sonar un poco duro que nos tengamos planear el futuro de algo que aún no existe pero es así. de una buena planificación depende la dificultad en un futuro de realizar cambios en la plataforma que sostiene nuestra aplicación. de este modo podremos ir completando nuestra aplicación en un orden lógico. Diseño de la interfaz Esta entrada puede que te ayude en esta parte. que pasa si en un futuro tuvieramos problemas de escalabilidad.4 Planificación de aplicaciones web. lo más importante es llegar a conectar con el usuario y la mejor manera es ofrecerle la mayor cantidad de información posible para que se llegue a sentir parte del proyecto pero todo esto muchas veces no lo llegamos a conseguir por una mala elección en la combinación de los colores que se integran en nuestra interfaz. es importante conseguir un buen diseño para nuestra interfaz. 4.

Plantéate los pasos a seguir despues del desarrollo Ten en cuenta que está fase de desarrollo algún día deberá acabar. independientemente del sistema operativo (SO) que se esté utilizando.1. 8. es mejor buscar una librería o framework que se parezca lo más posible a lo deseado que desarrollarlo por ti mismo. 7. ni llamadas telefónicas. Unidad 1 Una plataforma web. empleando un sistema web donde podemos subir artículos. la respuesta a menudo es depende de para que quieras utilizarlo. estamos diciéndo que nuestro sistema funcionará desde un navegador web. 9. 1. Es el caso de Blogspot. 6. pero la realidad es que en muchas ocasiones esto supone una gran pérdida de tiempo. por eso asegúrate de escoger el lenguaje adecuado. Elige el lenguaje adecuado Ya sabes que hay numerosas discusiones sobre ¿Cúal es el mejor lenguaje de programación?. ya que los avances en . Evita las distracciones Optimiza tu tiempo. esta es una buena opción si lo que quieres es una demo de la aplicación funcionando pero ea actitud te traerá problemas en el futuro. Evita construirte librerías o frameworks innecesarios Muchas personas siempre sostienen que es mejor que cada desarrollador utilize sus propias librerías. Ten un plan de proyecto Asegúrate de que cada desarrollador que trabaje en el proyecto sepa qué es lo que debe de hacer y cuándo tiene que hacerlo. cuando estés trabajando que nada te distraiga. crear categorías. estudia con qué frecuencia se deberá actualizar y que se necesita para que este funcione.5. Esto tiene la ventaja de que no es necesario crear el mismo software para cada tipo de SO. Pero tiene desventajas en el sentido de que no puede ser tan potente como un sistema que funciona usando los recursos del SO. Esto representa un desafío a los desarrolladores de aplicaciones. 10. La plaforma web referencia a un sistema que te permita crear y administrar un sitio web. Evolución de las Aplicaciones Web Con la introducción de Internet y del Web en concreto. etc. administrar los usuarios que se suscriban a nuestro blog. proponte un buen número de horas al día de trabajo aislado dedicado al proyecto. ni clientes de mensajerías instantáneas. MySpace o cualquier otra plataforma web que nos permite crear un blog. Sigue un buen control de calidad Muchas veces nos equivocamos al planificar los tiempos de proyecto y esto lleva a menudo a los desarrolladores a tener que escribir “código sucio”. teniendo todo esto redactado en un documento te ayudará a identificar problemas. se han abierto infinidad de posibilidades en cuanto al acceso a la información desde casi cualquier sitio.

y componentes como las Java Beans creando una página Web especial que el servidor Web compila dinámicamente en un servlet la primera vez que es llamada. El viejo CGI ha cumplido con el propósito de añadir interactividad a las páginas Web pero sus deficiencias en el desarrollo de aplicaciones y en la escalabilidad de las mismas ha conducido al desarrollo de APIs específicos de servidor como Active Server Pages. tenemos herramientas potentes para realizar esto. citas. respuestas. Web 1. estando totalmente limitado a lo que el Webmaster sube a ésta. Los servlets Java son muy eficientes. que son más eficientes que su predecesor CGI.0 es la representación de la evolución de las aplicaciones tradicionales hacia aplicaciones web enfocadas al usuario final. 1.1. JSP.2. Se trata de aplicaciones que generen colaboración y de servicios que reemplacen las aplicaciones de escritorio. ligeras y robustas que permitan utilizar el Web. sea un mero trámite. Web 2. La Web 2.0 es una actitud y no precisamente una tecnología. que es visto por muchos como el momento en que el internet dio un giro. nos encontrábamos en un entorno estático.1. llamada Java Server Pages. por ejemplo. debido al esquema de threads en el que se basan y al uso de una arquitectura estándar como la JVM.0 es de sólo lectura. 1.0 es la transición que se ha dado de aplicaciones tradicionales hacia aplicaciones que funcionan a través del web enfocadas al usuario final.0. etc. con navegadores de sólo texto bastante rápidos.explorer (en versiones antiguas). La 'Web 1. con páginas en HTML que sufrían pocas actualizaciones y no tenían interacción con el usuario. El único problema es decidir entre el conjunto de posibilidades la correcta para cada situación. Es en general un término que ha sido creado para describir la Web antes del impacto de la fiebre punto com en el 2001. aplicaciones Java. Afortunadamente. Después surgió el HTML que hizo las páginas web más agradables a la vista. La Web 2. y PHP. ASP. Web 1.0 se refiere a un estado de la World Wide Web. Sun ha desarrollado la tecnología llamada servlet. Java Virtual Machine.0. Netscape.1. y cualquier página web diseñada con un estilo anterior del fenómeno de la Web 2. El usuario no puede interactuar con el contenido de la página (nada de comentarios. así como los primeros navegadores visuales tales como IE. etc). ya que han surgido nuevas tecnologías que permiten que el acceso a una base de datos desde el Web. Cuando el web inició. . Para aprovechar el potencial de estas tecnologías y ofertar una solución de servidor más extensible y portable. El Web 2. La Web 1.0 (1991-2003) es la forma más básica que existe. Los JSP permiten juntar HTML.0. Otra nueva tecnología viene a sumarse a las que extienden la funcionalidad de los servidores Web.tecnología demandan cada vez aplicaciones más rápidas.

En la charla inicial del Web Conference se habló de los principios que tenían las aplicaciones Web 2.0 conference de 2004.0 apareció por primera vez en 2006 en un artículo de Jeffrey Zeldman. aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras. los servidores del correo. los servidores de archivo. .3. 1. la Web Geoespacial o la Web 3D. la arquitectura básica seguirá siendo la misma.0 es una expresión que se utiliza para describir la evolución del uso y la interacción de las personas en internet a través de diferentes formas entre los que se incluyen la transformación de la red en una base de datos. Esta expresión Web 3. Y así se dio la pauta para la Web 2. donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. llamados clientes. Arquitecturas de la Tecnología Cliente .0. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora. la web semántica. La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios. Esta conferencia no solo fue exitosa sino que ya tuvo seguimiento en la Web 2. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores.Todo inició cuando Dale Dougherty de O’Reilly Media utilizó este término en una conferencia en la que compartió una lluvia de ideas junto a Craig Cline deMedia Live? en la que hablaba del renacimiento y evolución de la web.0: La web es la plataforma La información es el procesador Efectos de la red movidos por una arquitectura de participación. Web 3. 1. La innovación surge de características distribuidas por desarrolladores independientes. llamados servidores. La expresión es utilizada por los mercados para promocionar las mejoras respecto a la Web 2.0. Actualmente existe un debate considerable en torno a lo que significa Web 3. La separación entre cliente y servidor es una separación de tipo lógico. Constantemente estaban surgiendo nuevas aplicaciones y sitios con sorprendentes funcionalidades.Servidor. el servidor. lo que facilita y clarifica el diseño del sistema. Mientras que sus propósitos varían de unos servicios a otros.0 y asociado a tecnologías como AJAX. Web 3. que le da respuesta.2. Los tipos específicos de servidores incluyen los servidores web. el empuje de las tecnologías de inteligencia artificial. etc. un movimiento social hacia crear contenidos accesibles por múltiples aplicaciones non-browser.0. aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades.0 Conference del 2005 celebrada en Octubre. El fin del círculo de adopción de software (“Servicios en beta perpetuo”).1. y cuál sea la definición más adecuada. Un cliente realiza peticiones a otro programa. y los demandantes. crítico de la Web 2.

tanto a nivel físico como a nivel lógico. la procesan y luego envían la respuesta al cliente.Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema. se debe tener en cuenta la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza . Tras la recepción de una solicitud. Por lo general. tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo). Al receptor de la solicitud enviada por el cliente se conoce como servidor. Arquitecturas multi-capas La arquitectura cliente/servidor genérica tiene dos tipos de nodos en la red: clientes y servidores. Esto significa que todas las gestiones que se realizan se concentran en el servidor. Este tipo de red puede utilizarse conjuntamente en caso de que se este utilizando en una red mixta. y que los pone a disposición de los clientes cada vez que estos son solicitados. desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo). puede conectarse a varios servidores a la vez. los archivos que son de sólo lectura y los que. Al contratar un servicio de redes. Características En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Por lo general. . de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad. Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario. Consecuentemente. La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución. los archivos que son de uso público y los que son de uso restringido. aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado). Espera y recibe las respuestas del servidor. La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor. en el que se centralizan los diversos recursos y aplicaciones con que se cuenta. etc. estas arquitecturas genéricas se refieren a veces como arquitecturas de dos niveles o dos capas. por el contrario. Sus características son: Al iniciarse esperan a que lleguen las solicitudes de los clientes. por ejemplo : cable de cobre ronda entre 1 ms y 50 ms. pueden ser modificados. No es frecuente que interactúen directamente con los usuarios finales. Sus características son: Es quien inicia solicitudes o peticiones.

cualquier tipo de aplicación puede compartir datos como hemos visto en los cursos y talleres de servicios web.) o pueden incluir su propio lenguaje de programación. almacenamiento. Instalación y Configuración de la Plataforma Web en Multiplataforma. Microsoft. 1. un ordenador de escritorio o cualquier otro formato que necesitemos…entonces. la utilidad. etc. Esta configuración se llama una arquitectura de tres-capas. siendo este la salida de nuestra aplicación. un lenguaje completo de programación y un lenguaje de cuarta generación. seguridad e integridad de los datos en una base de datos.4. Por ejemplo. Es mucho más difícil programar y probar el software que en arquitectura de dos niveles porque tienen que comunicarse más dispositivos para terminar la transacción de un usuario. haciendo de ellos sistemas completos de desarrollo de aplicaciones. como por ejemplo un juego o un TPV. . Lo primero. eso ocurre para mejorar el balance la carga en los diversos servidores. Ingres. Servidores de la base de datos que almacenan los datos para los servidores de aplicación. Informix. Borland. Miles de aplicaciones han sido desarrolladas en ambientes como éstos. Bajo este nombre se conoce a productos de fabricantes como Oracle. DBMS (Data Base Management System). dBASE y Paradox son programas de base de datos con un DBMS. Sistema de administración de bases de datos. Ventajas de las arquitecturas n-capas: La ventaja fundamental de una arquitectura n-capas comparado con una arquitectura de dos niveles (o una tres-capas con una de dos niveles) es que separa hacia fuera el proceso. Son las siglas en inglés para los Sistemas de Gestión de Bases de Datos (SGBD). Desventajas de las arquitecturas de la n-capas: Pone más carga en la red. sea en un móvil. Acepta solicitudes de la aplicación y ordena al sistema operativo transferir los datos apropiados.Algunas redes disponen de tres tipos de nodos: Clientes que interactúan con los usuarios finales. C. una tienda. es más escalable. las posibilidades son ilimitadas. formular preguntas e imprimir informes sin necesidad de programación. Los comandos de los lenguajes de cuarta generación permiten a los usuarios crear en forma interactiva archivos de bases de datos. debido a una mayor cantidad de tráfico de la red. pero podemos avanzar un poco más: si comprendemos el uso de una plantilla XSLT que transforme un fichero XML. Software que controla la organización. un portal…. IBM. etc. recuperación. en un fichero XHTML que el navegador interpreta. editarlos. Sybase. Los DBMS pueden trabajar con lenguajes de programación tradicionales (COBOL. Servidores de aplicación que procesan los datos para los clientes. una aplicación en PHP o Java o cualquier otro lenguaje.

por ejemplo acceder a bases de datos abstrayendo al cliente de toda la operación. 1.5. Web. un XSLT es un fichero que sirve para dar formato HTML a un fichero XML. Con un navegador web. Berners-Lee ha jugado un papel activo guiando el desarrollo de estándares Web (como los lenguajes de marcado con los que se crean las páginas web). Los servidores web son aquellos cuya tarea es alojar sitios y/o aplicaciones. Además los servidores pueden disponer de un intérprete de otros lenguajes de programación que ejecutan código embebido dentro del código HTMLde las páginas que contiene el sitio antes de enviar el resultado al cliente. y en los últimos años ha abogado por su visión de una Web semántica. actualmente estos no son solo buscados localmente. diseñadores…. mantenerse en el gusto de sus clientes y por supuesto que el numero de ellos incremente. de ahí radica la importancia del conocimiento de las plataformas tecnológicas que son utilizadas para dar el soporte a los negocios electrónicos. El objetivo de toda organización radica en la obtención de mas ganancias.4. Suiza. El cliente. medianas y grandes empresas buscan soluciones de marketing que le den ventajas competitivas sobre los competidores locales.4.4. una de las estrategias que busca la obtención de nuevos clientes es la exploración de nuevos mercados. y publicado en 1992. Perl y Ajax. vídeos u otros contenidos multimedia. y navega a través de ellas usando hiperenlaces. imágenes. Básicamente un servidor WEB consta de un interprete HTTP el cual se mantiene a la espera de peticiones de clientes y le responde con el contenido según sea solicitado. Esto se conoce como programación de lado del servidor y utiliza lenguajes como ASP. En informática.2. es así como pequeñas. PHP. sino que la tecnología provee otro camino como buscar en línea (internet). 1. programadores. Las ventajas de utilizar estos lenguajes radica en la potencia de los mismos ejecutando tareas mas complejas como. la World Wide Web (WWW) o Red informática mundial1 es un sistema de distribución de información basado en hipertexto o hipermedios enlazados y accesibles a través de Internet. las cuales son accedidas por los clientes utilizando un navegador que se comunica con el servidor utilizando el protocolo HTTP (hypertext markup language). Desde entonces.Para nosotros como webmasters. Servidor Web. un usuario visualiza sitios web compuestos de páginas web que pueden contener texto. DBMS. lo interpreta y lo exhibe en pantalla. La Web fue creada alrededor de 1989 por el inglés Tim Berners-Lee con la ayuda del belga Robert Cailliau mientras trabajaban en el CERN en Ginebra.4. una vez recibido el código. . 1.

Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Lógicamente. sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización. abreviado DBMS) son un tipo de software muy específico. El propósito general de los sistemas de gestión de bases de datos es el de manejar de manera clara. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones. Tiempo de respuesta. la base de datos representa una realidad determinada que tiene determinadas condiciones. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Independencia. el usuario y las aplicaciones que la utilizan. Por otra parte. es deseable minimizar el tiempo que el SGBD demora en proporcionar la información solicitada y en almacenar los cambios realizados. Da lo mismo si una base de datos ocupa uno o cientos de archivos. . se definen varios niveles de abstracción. Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia.Los sistemas de gestión de bases de datos (en inglés database management system. Así. dedicado a servir de interfaz entre la base de datos. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos. será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente. que todos los datos repetidos se actualicen de forma simultánea. que permiten otorgar diversas categorías de permisos. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios. es decir. Existen distintos objetivos que deben cumplir los SGBD: Abstracción de la información. Seguridad. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. La información almacenada en una base de datos puede llegar a tener un gran valor. El sistema no debería aceptar datos de un conductor menor de edad. este hecho se hace transparente al usuario. por ejemplo que los menores de edad no pueden tener licencia de conducir. Una transacción es un programa que se ejecuta como una sola operación. Manejo de transacciones.