lunes, 24 de enero de 2011

WEB SERVICES para la recuperacion de informacion del Sistema de Gestion Académica de la Universidad Nacional de Loja.(SGA)

WEB SERVICES (SERVICO WEB)

Un servicio web (en inglés, Web service) es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares.

Etándares Empleados

  • Web Services Protocol Stack: Así se denomina al conjunto de servicios y protocolos de los servicios Web.
  • XML (Extensible Markup Language): Es el formato estándar para los datos que se vayan a intercambiar.
  • SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call): Protocolos sobre los que se establece el intercambio.
  • Otros protocolos: los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol).
  • WSDL (Web Services Description Language): Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios Web.
  • UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la información de los servicios Web. Permite comprobar qué servicios web están disponibles.
  • WS-Security (Web Service Security): Protocolo de seguridad aceptado como estándar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados.

Ventajas de los servicios web

Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen.
  • Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento.
  • Al apoyarse en HTTP, los servicios Web pueden aprovecharse de los sistemas de seguridad firewall sin necesidad de cambiar las reglas de filtrado.
  • Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados.
  • Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de protocolos estándar y abiertos. Las especificaciones son gestionadas por una organización abierta, la W3C, por tanto no hay secretismos por intereses particulares de fabricantes concretos y se garantiza la plena interoperabilidad entre aplicaciones.
Inconvenientes de los servicios Web
  • Para realizar transacciones no pueden compararse en su grado de desarrollo con los estándares abiertos de computacion distribuida como CORBA (Common Object Request Broker Architecture).
  • Su rendimiento es bajo si se compara con otros modelos de computación distribuida, tales como RMI (Remote Method Invocation), CORBA o DCOM (Distributed Component Object Model). Es uno de los inconvenientes derivados de adoptar un formato basado en texto. Y es que entre los objetivos de XML no se encuentra la concisión ni la eficacia de procesamiento.
  • Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewallcuyas reglas tratan de bloquear o auditar la comunicación entre programas a ambos lados de la barrera.
Frameworks de web services.

SOA: Una arquitectura SOA está formada por tres partes: un proveedor, un intermediario y un cliente que no representa ningún acoplamiento entre ellos.

El proveedor ofrece un servicio determinado y que el cliente no tiene porque conocer directamente.

El cliente aprende como utilizar el servicio a partir de la información que ofrece el intermediario que normalmente simplifica el uso de dicho servicio.

Un ejemplo típico de arquitectura de SOA son los servicios web que proporciona un interfaz de acceso a un servicio escogiendo las particularidades de dicho servicio de modo que sea accesible desde cualquier tipo de cliente a través de protocolos estándar

TURBOGEARS


TurboGears es un megaframework para desarrollo web.

TurboGears fue creado en el año 2005 por Kevin Dangoor Es un stack web completo, que abarca desde el Javascript del cliente hasta un mapper relacional-objetos para la base de datos.

Su última versión 1.0 es bastante completa, incluyendo templates (además del oficial se puede usar otros vía plug-ins), AJAX, servidor (mappeador) web, manejo de formularios, widgets (con navegador incluido), interfaz para diseñar y administrar la base de datos, i18n con interfaz web para hacer las traducciones (y hasta para comenzar con una traducción automática de google!), autenticación/permisos, creación simple de interfaz administrativa (ABM simple), etc.

TurboGears es sólo el pegamento que une una gran cantidad de proyectos independientes que componen las capas del stack web, que bajo la filosofía Unix, hacen una sola cosa y la hacen bien.

TurboGears se compone entonces (principalmente) de CherryPy (server/handler/controlador web), SQLObject (excelente abstracción de la base de datos), Kid (motor de templates muy poderoso) y Mochikit (biblioteca de javascript para hacerlo casi un lenguaje usable.)

De esta manera todos estos proyectos se retroalimentan del trabajo de los otros, y pueden crecer mucho más rápido y mejor.

Links:

http://es.wikipedia.org/wiki/Servicio_web

No hay comentarios:

Publicar un comentario