Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Existen multitud de especificaciones en torno a los servicios web, mayoritariamente emitidas por los
consorcios W3C y OASIS. En la mayora de los casos, es suficiente con emplear el conjunto de
protocolos incluidos en el WS-I Basic Profile (perfil bsico definido por la Organizacin para la
Interoperabilidad de Servicios Web): SOAP para describir el formato de los mensajes y WSDL como
descriptor de los servicios son los protocolos principales.
Los WS son neutrales desde el punto de vista del lenguaje de programacin y las plataformas de
ejecucin. Existen implementaciones certificadas en el perfil bsico WS-I para mltiples plataformas y
lenguajes: Zend Framework para PHP, gSOAP para C/C++, ASP.Net 2.0 o WCF para la plataforma
.Net, etc. En el entorno JavaEE, las implementaciones de la API JAX-WS (JSR 224) son conformes al
perfil bsico WS-I. Apache Axis 2 es una implementacin bastante popular de la JSR 224, distribuida
bajo licencia libre Apache Software Foundation.
REST nace como una alternativa para simplificar la comunicacin entre procesos. Est basado en un
esquema cliente-servidor, y utiliza el protocolo HTTP como modelo central de comunicacin. Mientras
que trabajar con SOAP en JavaScript, por ejemplo, implicar escribir una importante cantidad de
cdigo porque la estructura XML debe ser creada cada vez, REST resuelve este conflicto basndose
en simples direcciones URL. En casi todas las situaciones los servicios se comunicarn via URL, a
travs de comandos GET, POST, PUT y DELETE. Esta notable sencillez es el gran punto fuerte de
REST. Prcticamente no tiene costos de aprendizaje, y de manera directa se pueden desarrollar
servicios web sin la necesidad de pesados protocoles de comunicacin.
Si bien ambos proveen la misma funcionalidad (comunicar dos servicios web), sus races son
distintas. REST est basado en un esquema cliente-servidor, mientras que SOAP es un protocolo
dedicado al intercambio de datos entre dos puntos dedicados. Esto ya saca a relucir una diferencia
importante desde el punto de vista arquitectnico. Con respecto a seguridad, ninguno es
particularmente ms seguro que el otro, aunque SOAP cuenta con extensiones que garantizan
seguridad punto a punto. Si tiene ventajas SOAP desde el punto de vista de transacciones,
contemplando nociones como Two-Phase commit, y otros enfoques para el manejo de transacciones
1
Grupo de apoyo a la preparacin de la XXII
convocatoria de oposiciones al Cuerpo Superior de
Sistemas y Tecnologas de la Informacin de la
Administracin del Estado
distribuidas. REST, priorizando un protocolo simple y ligero, adolece de este tipo de cuestiones. En
cuanto a la posibilidad de adaptarse a diferentes plataformas, si bien REST depende del protocolo
HTTP, SOAP ofrece muchas extensiones, con sutiles diferencias entre s, y comunicarlas a todas en
un lenguaje comn no es tan simple en muchas ocasiones. Luego, REST parece salir mejor parado
de esta situacin, teniendo como nica precondicin la comunicacin via URLs.
REST permite inmeros formatos de datos, dando por ejemplo al desarrollador la posibilidad de
utilizar JSON que normalmente es ms rpido y como permite la utilizacin de JSON, permite tambin
un mejor soporte a los clientes del explorador. SOAP solamente permite XML.
Base de datos compartida.- Supone una mejor respecto al envo de ficheros. Mltiples aplicaciones
comparten un esquema de datos sobre una misma base de datos fsica. Evita duplicidad en el
almacenamiento y la transferencia de datos entre aplicaciones. El empleo de vistas lgicas permite
cierto grado de aislamiento entre las aplicaciones. Es una buena solucin para compartir informacin
e integrar aplicaciones dentro de la propia organizacin. Es complicado implementar un patrn de
interaccin del tipo peticin-respuesta.
Remote Procedure Call (RPC).- Nombre genrico para todos los mecanismos en los que un
programa es capaz de llamar a una rutina de otro programa que se est ejecutando en una mquina
remota y obtener una respuesta. En su da fueron populares los estndares DCOM o CORBA. SOAP
es un tipo de mecanismo RPC; de hecho, es la evolucin del antiguo estandar XML-RPC. La nica
ventaja que pueden presentar estos mecanismos clsicos respecto a los servicios web es que
introducen menos sobrecarga de informacin (las cabeceras SOAP y la serializacin XML no resulta
ptima para transmitir grandes volumenes de informacin). No obstante, no hay demasiados motivos
para considerar este tipo de integracin, salvo que haya que dar soporte a la integracin de
aplicaciones heredadas (legacy) que no permitan otro tipo de interaccin.
2
Grupo de apoyo a la preparacin de la XXII
convocatoria de oposiciones al Cuerpo Superior de
Sistemas y Tecnologas de la Informacin de la
Administracin del Estado
Bsicamente, los productos que se definen como middleware de integracin caen en una de las
siguientes categoras: Buses de Servicios Empresariales (Enterprise Service Bus o ESB) o
Colas/Brokers de Mensajera Asncrona (Message Queues o MQ). Los primeros estn ms
orientados al paradigma peticin/respuesta, mientras que los segundos se orientan hacia el
paradigma publicacin/subscripcin. Para una descripcin ms detallada de los ESB, vase la gua
Mdulos Software > Herramientas ESB.
3
Grupo de apoyo a la preparacin de la XXII
convocatoria de oposiciones al Cuerpo Superior de
Sistemas y Tecnologas de la Informacin de la
Administracin del Estado