• Save
Tema 1
Upcoming SlideShare
Loading in...5
×
 

Tema 1

on

  • 870 views

Descripcion del tema 1

Descripcion del tema 1

Statistics

Views

Total Views
870
Slideshare-icon Views on SlideShare
860
Embed Views
10

Actions

Likes
1
Downloads
0
Comments
0

2 Embeds 10

http://localhost 9
http://www.ieei.ual.es:81 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Tema 1 Tema 1 Presentation Transcript

    • Perspectiva global detecnologías web Programación de Red. Ingeniería en Informática
    • Perspectiva global ...Objetivos: Conocer las diferentes tecnologías de la capa de presentación en un entorno C/S Conocer las causas de heterogeneidad en sistemas de información Soluciones a esas heterogeneidades Tecnología principal a estudiar en esta asignatura. Servicios Web. 2
    • Perspectiva global ... Tecnologías en la capa de presentación. Heterogeneidad en SI. Soluciones. Servicios Web. 3
    • Tecnologías capa presentaciónDistribución de la lógica en el servidor Capa de Capa de Capa deCliente lógica de presentación datos negocio 4
    • Tecnologías capa presentación La página web se basa en datos enviados por el cliente ⇒ confirmación de compras La página web se deriva de datos que cambian con frecuencia ⇒ noticias, tiendas virtuales, ... La página web presenta la información que hay almacenada en la base de datos de la empresa o accediendo a otros recursos del servidor Generación dinámica de páginas web. Tecnologías de la capa de presentación.  CGI, FastCGI  Scripts de servidor (PHP, ASP, JSP)  Servlets 5
    • Tecnologías capa presentación CGI (Common Gateway Interface) El servidor ejecuta externamente un programa binario (C++, Perl, Tcl, ...) a través del sistema operativo El programa binario debe seguir unas reglas específicas para comunicarse con el servidor web  Recibir petición  Devolver respuesta Los resultados del programa los devuelve el servidor web mediante http (hyper-text transfer protocol) Por ser una interfaz no existe dependencia con el lenguaje de programación empleado 6
    • Tecnologías capa presentación CGI (Common Gateway Interface) http http Navegador Internet Servidor Web Variables Cabecera + entorno + datos respuestaPetición Respuesta CGI HTML HTML Base de Datos 7
    • Tecnologías capa presentación Un CGI puede devolver cualquier tipo de información: texto ASCII, código HTML, ... La cabecera más importante es la que especifica el contenido MIME: Content-type: tipo/subtipo Inconvenientes de CGI  Dependencia de la máquina  Cada petición puede ejecutar un programa CGI diferente ⇒ difícil de mantener  Cada llamada supone el lanzamiento de un nuevo proceso por parte del sistema operativo  Problema de seguridad al no lanzar el proceso el servidor Los FastCGI dan mayor rendimiento 8
    • Tecnologías capa presentación Scripts de servidor. Se incluyen los scripts encapsulados en una etiquetas especiales, incrustadas en el código HTML. Cuyo contenido lo ejecutará el servidor antes de enviar la página respuesta al cliente Tecnologías más usadas  PHP  ASP (Active Server Pages)  JSP (Java Server Pages) PHP: <? php ... ?>  Código abierto  Puede ejecutarse tanto el Windows como el Linux  Ligado al servidor Apache 9
    • Tecnologías capa presentación ASP: <% ... %>  Tecnología de Microsoft  Ligado al servidor IIS y a la plataforma Windows (.NET)  Utiliza VBScript (subconjunto de Visual Basic) como lenguaje por defecto. También puede utilizar Javascript  Puede hacer uso de objetos COM (Common Object Model) que son objetos en algún otro lenguaje  Para conectarse a una base de datos, normalmente se utiliza ADO (ADO.NET) que es un adaptador universal a bases de datos que posteriormente se especializar para poder trabajar con una base de datos concreta  ASP.NET ahora está orientado a servicios web y, portales y páginas web 10
    • Tecnologías capa presentación JSP: <% ... %>  Tecnología de Sun  No ligado a un servidor concreto (Tomcat)  Utiliza Java  El código JSP se puede poner dentro de las páginas HTML o se puede precompilar en servlets Servlets  Componentes del servidor escritos en Java que se pueden ejecutar en cualquier plataforma y servidor  Los servlets son al servidor web lo que los applets a los navegadores 11
    • Tecnologías capa presentación Servlets  Su rendimiento es tan alto como los programas con FastCGI (reutilizan los procesos) ⇒ uso de threads  Para poder escribir servlets es necesario: (1) JDK, para poder compilar las clases y ejecutar el servidor, (2) un servidor web con contenedores web integrador o un servidor de aplicaciones como Tomcat o JBoss (ambos opensource) Tareas de los servlets:  Leer los datos enviados por el usuario ⇒ normalmente en una página web, applet o aplicación cliente http 12
    • Tecnologías capa presentación Tareas de los servlets (continuación)  Recuperar información de usuario incrustada en la petición http ⇒ cookies, nombre de máquina cliente, ...  Generar resultados ⇒ Llamando a otro servidor (RMI, CORBA, WS, ...), accediendo a una BD, ...  Formatear los resultados dentro del documento ⇒ normalmente dentro de una página HTML  Poner los parámetros de respuesta http adecuados ⇒ tipo de documento devuelto, cookies, parámetros de caché, ...  Devolver el documento cliente ⇒ forma textual (HTML), formato binario (GIF), comprimido (ZIP), ... 13
    • Tecnologías capa presentación Servlets http http Servidor Navegador Internet WebPetición Respuesta Servlet API HTML HTML Base de Servlet Datos Java 14
    • Perspectiva global ... Tecnologías en la capa de presentación. Heterogeneidad en SI. Soluciones. Servicios Web. 15
    • Heterogeneidad en SI Heterogeneidad  Máquinas: mainframes, servidores (Sun, IBM, HP, etc.), estaciones de trabajo (Compatibles PC, Apple Macintosh, Sun, IBM, HP, etc.)  Sistemas operativos: Solaris, HP-UX, AIX, Linux, MacOS, MS-Windows (9x, NT, 2000, XP, 2003), etc.  Redes: TCP/IP, Novell Netware, etc.  Aplicaciones en distintos lenguajes: Java, C++, Visual Basic, Visual C++, Delphi, COBOL, etc.  Distintas arquitecturas y esquemas de datos: ficheros, bases de datos de distintos fabricantes, sitios web internos y externos, aplicaciones propietarias, etc. 16
    • Heterogeneidad en SI Razones  Decisiones de ingeniería ⇒ Diferentes personas eligen diferentes soluciones a un mismo problema  Razones de coste ⇒ Se compra el tipo de software/hardware que cumpla los requisitos y tenga un precio razonable  Aplicaciones antiguas ⇒ No es posible desecharlas y rehacerlas con las tecnologías más modernas. Además, es necesario seguir utilizándolas hasta amortizar su coste de desarrollo y obtener beneficio 17
    • Heterogeneidad en SI Ejemplo 18
    • Perspectiva global ... Tecnologías en la capa de presentación. Heterogeneidad en SI. Soluciones. Servicios Web. 19
    • Soluciones CORBA (Common Object Request Broker Arquitecture)  Tecnología de objetos distribuidos estandarizada por OMG  Permite la invocación de métodos de objetos remotos sin que importe el lenguaje en el que estén escritos el llamador y el llamado, ni las plataformas (SO y hardware) y redes de comunicación intermedias  Permite integrar aplicaciones heterogéneas con el paradigma de la orientación a objetos  Solución de más alto nivel que tecnologías más primitivas: sockets, RPCs(Sun RPC, DCE)  Múltiples implementaciones de distintos fabricantes para plataformas y lenguajes de programación mas utilizados20
    • Soluciones CORBA (Common Object Request Broker Arquitecture)  Los interfaces remotos se especifican en IDL (Interface Definition Languaje)  El compilador de IDL permite generar: (1) un proxy del objeto remoto para el cliente, y (2) un skeleton (adapter) para implementar el interfaz remoto en el servidor (idlj)  El OMG ha estandarizado numerosos servicios CORBA ⇒ Múltiples implementaciones de distintos fabricantes  Exponen su funcionalidad mediante interfaces IDL y que son muy útiles para cualquier aplicación  Ejemplos: Servicio de Nombres (asociar un nombre lógico a un objeto y localizarlo por su nombre), Servicio de Seguridad, Servicio de Transacciones 21
    • Soluciones CORBA (Common Object Request Broker Arquitecture) Aplicación Aplicación Cliente Servidor (Delphi) (COBOL) ORB IIOP ORB ORB (Object Request Broker) ⇒ Librería con API estándarizada IIOP (Internet Inter-ORB Protocol) ⇒ Protocolo estándar de comunicación entre ORBs sobre TCP/IP. Permite interoperatibilidad entre ORBs de distintos fabricantes 22
    • Soluciones CORBA (Common Object Request Broker Arquitecture)  CORBA ha sido y continúa siendo una buena tecnología para abordar integraciones complejas en intranets ⇒ Eficiente y buen soporte para seguridad, transacciones, comunicación basada en eventos, etc.  Uso en Internet  Existen firewalls que no reconocen IIOP ⇒ Hay fabricantes que venden proxies de IIOP, pero no se puede esperar que todas las empresas que han adoptado las tecnologías de Microsoft los compren.  Microsoft no fabrica implementaciones de CORBA Hay terceros que sí lo hacer (Borland) pero no se puede esperar que todas las empresas que han adoptado las tecnologías de Microsoft usen CORBA 23
    • Soluciones XML (Extensible Marck-up Language)  Lenguaje de etiquetas o tags (similar en sintaxis a HTML)  Permite escribir documentos de texto que expresan datos y no aspecto visual (a diferencia de HTML)  Estandarizado por el W3C (http://www.w3.org)  Es extensible: XML no impone un conjunto de etiquetas, sino sólo unas pocas normas de uso (los tags se abren y se cierran y en medio puede tener otros tags anidados, todos los documentos tienen un tag raíz, los tags pueden tener atributos, etc.)  Sus campos de aplicación son innumerables ⇒ Integración de aplicaciones heterogéneas, configuración de aplicaciones, bases de datos,etc. 24
    • Soluciones XML (Extensible Marck-up Language)  Auto-documentado (self-documenting) ⇒ Todas las personas pueden leer y entender los datos  Se pueden utilizar herramientas estándar ⇒ No es necesario crear ni personalizar herramientas para la lectura/visualización de los datos  Existe todo un ‘mundo’ en torno a las tecnologías y herramientas XML  Facilidad en la integración de diferentes tipos de datos  XML se puede utilizar para describir la estructura de los datos  XML permite la combinación de cualquier tipo de dato ‘on-line’ 25
    • Soluciones XML (Extensible Marck-up Language)  XML permite establecer enlaces entre documentos  XML permite restringir o controlar la estructura de un documento ⇒ documento XML bien formado (descripción de la estructura del documento)  Herramientas estándar se pueden utilizar para leer y procesar datos XML ⇒ Parsers, editores, procesadores XSLT, gráficos  XML ⇒ soporte tecnológico para el intercambio e integración de información  XML es la base para toda la tecnología diseñada para servicios Web  XML ⇒ tecnología en constante expansión y desarrollo 26
    • Soluciones Tecnologías XML 27
    • Soluciones Tecnologías XML Tecnologías para la definición/codificación de datos y metadatos (XSD y RDF) Tecnologías para la selección (consulta) y punteros (pointing) (XPath y XPointer) Tecnologías para la transformación (transforming) (XSLT) Tecnologías para la enlaces (links) y asociadiones (associating) (XLink) Tecnologías para la representación gráfica (visualizing/drawing) (SVG, VML, X3D) Tecnologías para la especificación de servicios web (web services) 28 (SOAP (http), WSDL, UDDI (registro/catálogo))
    • Perspectiva global ... Tecnologías en la capa de presentación. Heterogeneidad en SI. Soluciones. Servicios Web. 29
    • Servicios Web Servicios Web  Son un mecanismo de comunicación distribuida que permiten que las aplicaciones compartan información y que además invoquen funciones de otras aplicaciones independientemente de cómo se haya creado éstas, cuál sea su sistema operativo o plataforma en la que se ejecutan y cuáles los dispositivos utilizados para obtener acceso a ellas  Sistema software diseñado para soportar la interacción máquina-máquina en la red  Definen un formato procesable por ordenador de la descripción de los interfaces (WSDL, basado en XML) 30
    • Servicios Web Servicios Web  La interacción se realiza mediante el intercambio de mensajes a través de la red utilizando formatos y protocolos como SOAP, HTTP o MIME  En realidad son componente software que ejecutan procesos o funciones de negocio significativas, con una interfaz bien definida y accesible desde la red  Puede estar registrado en UDDI  Son una buena tecnología para la integración de sistemas en Internet ⇒ Todos los firewalls reconocen http y todos los fabricantes de tecnología venden APIs y herramientas para invocación e implementación de servicios web 31
    • Servicios Web Servicios Web. Arquitectura 32
    • Servicios Web SOAP (Simple Object Access Protocol)  Protocolo basado en XML para envío de mensajes ⇒ Comunicación síncrona y asíncrona  Normalmente SOAP funciona sobre HTTP (la alternativa más frecuente) o SMTP, aunque también el protocolo de transporte puede ser FTP, TCP, POP3, etc.  Estandarizado por el W3C  Analogía con CORBA: SOAP/IIOP  SOAP conlleva:  Tipos de datos que se van a intercambiar  Cómo se expresa la información en XML  Cómo se transmitirá esa información 33
    • Servicios Web WSDL (Web Services Description Language)  Permite especificar en XML las operaciones y tipos de datos de un servicio web  Estandarizado por el W3C  Analogía con CORBA: WSDL/IDL  WSDL describe:  Información sobre la interfaz exportada  Tipos de datos de los mensajes intercambiados  Información de “binding” definiendo cómo transportar los mensajes en la comunicación  Direcciones para localizar los servicios  Representa como un contrato entre el proveedor y el usuario del servicio (similar interfaz Java) 34
    • Servicios Web UDDI (Universal Description, Discovery and Integration of Web Services)  Protocolo para interaccionar con un servidor (registro UDDI) que proporciona operaciones (vía SOAP) para registrar y buscar servicios web  Cada servicio web se registra dando, su nombre, una descripción del servicio (ej.: la URL de su WSDL, una descripción textual, etc.), etc.  Especificación: http://www.uddi.org http://www.xmethods.net ⇒ Contiene un registro público con numerosos servicios web. Se puede acceder mediante interfaz web (navegador) y diversos protocolos (e.g. UDDI, interfaz propia definida en WSDL, etc.) 35
    • Servicios Web Arquitectura general 36
    • Servicios Web Comparativa: RMI-CORBA-Servicios Web Java-RMI CORBA Servicios Web Formato de los datos Serialized Java CDR XML Formato del enlace (a Stream GIOP SOAP nivel de transporte) Protocolo de JRMP IIOP HTTP, SMTP, … transporte Descripción de la Java Interface CORBA IDL WSDL interfaz Mecanismo de registro Java Registry COS Naming (Naming UDDI Service Interface Repository) Seguridad Security Manager Potente servicio de Servicio de seguridad seguridad en desarrollo Fabricante Sun ‘Todos’ menos Microsoft ‘Todos’ incluido 37 Microsoft