miércoles, 10 de octubre de 2012

QUE ES SERVICIO


Servicio

Una función sin estado, auto-contenida, que acepta una(s) llamada(s) y devuelve una(s) respuesta(s) mediante una interfaz bien definida. Los servicios pueden también ejecutar unidades discretas de trabajo como serían editar y procesar una transacción. Los servicios no dependen del estado de otras funciones o procesos. La tecnología concreta utilizada para prestar el servicio no es parte de esta definición. Existen servicios asíncronos en los que una solicitud a un servicio crea, por ejemplo, un archivo, y en una segunda solicitud se obtiene ese archivo.

SOA


Service Oriented Architecture SOA

Organización fundamental de un sistema descrita en: servicios (componentes), la composición (relación) entre servicios.  La metodología de modelado y diseño para aplicaciones SOA se conoce como análisis y diseño orientado a servicios. La arquitectura orientada a servicios es tanto un marco de trabajo para el desarrollo de software como un marco de trabajo de implementación. Para que un proyecto SOA tenga éxito los desarrolladores de software deben orientarse ellos mismos a esta mentalidad de crear servicios comunes que son orquestados por clientes o middleware para implementar los procesos de negocio. El desarrollo de sistemas usando SOA requiere un compromiso con este modelo en términos de planificación, herramientas e infraestructura.

Arquitectura Cliente / Servidor


Arquitectura Cliente / Servidor

  •           Define un modelo de interacción basado en el concepto de servicio. 
  •           Implementado sobre un dialogo petición-respuesta.
- Cliente inicia el dialogo mediante el envío de peticiones.
- Servidor presta el servicio y responde las peticiones recibidas.
  •           Cliente (lado activo).
-        demanda servicios a los servidores.
-        se asume que cada petición deberá obtener respuesta.
-        diseñado para soportar la interacción con el usuario final.
  •          Servidor (lado pasivo).
-        espera las peticiones de los clientes.
-        procesa esas peticiones y envía una respuesta.

Clientes ligeros y clientes pesados


Cliente ligero (thin client)
  •       No implementa ningún aspecto de la lógica de aplicación Simplemente actúa como intermediario entre usuario y servidor  recoge entradas (opcionalmente, las valida) y las envía al servidor.
  •       Presenta datos y resultados del servidor.
  •       Normalmente, requisitos mínimos respecto a recursos hardware.
  •       Aumenta la complejidad del servidor.

Cliente pesado (fat client) 
  •      Implementa la mayor parte de la lógica de aplicación. 
  •      Realiza procesamiento sobre datos de usuario. 
  •      Requiere equipos con capacidad de proceso y/o almacenamiento de datos.

Cliente híbrido
  •       Implementación de la lógica de aplicación repartida entre cliente y servidor. Ejemplo: aplicación cliente contra servidor de base de datos con procedimientos almacenados.