Los servicios Web se refieren a un conjunto de componentes de software ligera-mente acoplados que intercambian información entre sí por medio de estándares y lenguajes de comunicación para la Web. Pueden intercambiar información entre dos sistemas diferentes sin importar los sistemas operativos o los lenguajes de programación en que estén basados. Se pueden combinar para construir aplicaciones basadas en la Web con un estándar abierto que enlacen sistemas de dos organizaciones diferentes, aunque también se pueden utilizar para crear aplicaciones que enlacen sistemas distintos dentro de una misma empresa.
La tecnología que sustenta los servicios Web es XML, que significa Lenguaje de Marcación Extensible. Este lenguaje fue desarrollado en 1996 por el World Wide Web Consortium (W3C, el organismo internacional que supervisa el desarrollo de la Web) como un lenguaje de marcación más potente y flexible para páginas Web que el Lenguaje de Marcación de Hipertexto. El Lenguaje de Marcación de Hipertexto (HTML) es un lenguaje de descripción de páginas para especificar la manera en que el texto, las imágenes, el video y el sonido se colocan en el documento de una página Web.
Los servicios Web se comunican por medio de mensajes XML sobre protocolos Web estándar. SOAP, que significa Protocolo Simple de Acceso a Objetos, es un conjunto de reglas para estructurar mensajes que permite a las aplicaciones pasarse datos e instrucciones entre sí. WDSL significa Lenguaje de Descripción de Servicios Web; es un marco de trabajo común para describir las tareas realizadas por un servicio Web y los comandos y datos que aceptará y que podrán ser utilizados por otras aplicaciones.
El conjunto de servicios Web que se utiliza para construir los sistemas de software-re de una empresa constituye 10 que se conoce como arquitectura orientada a servicios. Una arquitectura orientada a servicios (SOA) es un conjunto de servicios independientes que se comunican entre sí para crear una aplicación de software funcional.
En otras palabras, SOA es una forma completamente nueva de desarrollar software para una empresa. En el pasado, las empresas acostumbraban construir aplicaciones de software para un pro-pósito específico, como calcular facturas y enviarlas impresas. Con frecuencia podía haber múltiples programas que realizaban partes de una tarea o que la ejecutaban to-da pero utilizaban distinto código para cumplir sus objetivos. Ninguno de los programas se podía comunicar con los demás.
AJAX, MASHUPS, WEB 2.0 y APUCACIONES DE SOFTWARE BASADAS EN LA WEB
Ajax (JavaScript y XML asíncronos) es una técnica para permitir que su cliente y el servidor con el que está trabajando sostengan una conversación en segundo Pla-no, y que la información que usted introduzca se transfiera al servidor al instante sin que usted lo note. Al hacer clic en un sitio de mapas, como Google Maps, el servidor descarga tan sólo la parte de la aplicación que cambia sin esperar que se cargue un mapa completamente nuevo.
Conjunto de técnicas relacionadas, conocido como RlA (aplicaciones de Internet enriquecidas), utilizan unos programas de JavaScript o Adobe Flash (anteriormente Macromema Flash)) que se descargan a su cliente para mantener una conversación continua con el servidor que esté usted utilizando. A pesar de que facilitan mucho la vida a los usuarios, Ajax y RlA son aún más importantes para otro nuevo desarrollo de software: las aplicaciones basadas en la Web.
En menor medida, los empresarios emprendedores están creando nuevas aplicaciones y servicios de software con base en la combinación de diferentes aplicaciones de software en línea. Denominadas mashups (aplicaciones Web híbridas), estas nuevas aplicaciones combinadas dependen de redes de datos de alta velocidad, estándares de comunicaciones universales y código abierto. El propósito es tomar diferentes recursos y producir un nuevo trabajo que sea "mayor que" la suma de sus partes.
Parte de un movimiento llamado Web 2.0, y al igual que los mashups musicales, los mashups de la Web combinan las capacidades de dos o más aplicaciones en línea para crear un tipo de híbrido que proporciona más valor al cliente que los recursos originales por sí solos. Por ejemplo, Paul Rademacher, un programador de Silicon Valley, abrió un sitio Web llamado HousingMaps.com que despliega listados de bienes raíces en áreas locales de Craigs1ist.org sobrepuestos en mapas de Goog1e, con chinchetas que muestran la ubicación de cada listado. El sitio ha atraído a más de medio millón de visitantes y recibe alrededor de 10,000 visitas al día.
El servicio de Google ha simplificado el proceso de utilizar los datos de sus mapas hasta el nivel de insertar cuatro líneas de código de JavaScript en un programa. Esta simplificación ha hecho que el proceso de integrar mapas en otras aplicaciones sea extremadamente sencillo para miles de diseñadores de sitios Web. Las APls disponibles de manera pública proporcionan a los programadores las herramientas para extraer datos de muchos sitios Web diferentes y combinarlos con información adicional para crear un servicio Web totalmente nuevo. El resultado es que la Web ha dejado de ser una simple colección de páginas para convertirse en un conjunto de capacidades, una plataforma donde miles de programadores pueden crear nuevos servicios con rapidez y a bajo costo.
En el texto anterior mencionamos que la "Web 2.0" es parte de un "movimiento". Para nosotros es una expresión de todos los cambios descritos anteriormente, además de otros cambios en la manera en que la y las empresas utilizan la Web y cómo consideran la interacción humana en la Web.
Web 2.0 se puede resumir de la siguiente manera (O'Reilly, 2005):
· Servicios, no software empacado, con escalabilidad rentable.
· Control sobre recursos de datos únicos, difíciles de recrear, que se enrique-cen a medida que los utiliza más gente.
· Confiar en los usuarios como desarrolladores.
· Aprovechar la inteligencia colectiva.
· Hacer uso de la "larga mal! a través del autoservicio del cliente.
· El software arriba del nivel de un solo dispositivo.
· Interfaces de usuario, modelos de desarrollo y modelos de negocio ligeros.
SUBCONTRATACIÓN DE SOFTWARE
Se proyectaba que para 2006 las empresas estadounidenses gastarían cerca de 340,000 millones de dólares en software. En el pasado, la mayor de este software era desarrollado dentro de las empresas por equipos de programadores. A pesar de que las empresas aún conservan grupos de personas de TI, ya no se enfocan exclusivamente en la creación del software. En 2006 las empresas encarga-ron cerca de la tercera parte del desarrollo de software a desarrolladores externos, incluyendo empresas de software empresarial que les venderían soluciones comerciales personalizadas a sus necesidades.
Una tercera fuente externa de software es la subcontratación, en la cual una empresa contrata el desarrollo de software personalizado o el mantenimiento de programas heredados existentes con empresas externas, las cuales con frecuencia operan en regiones del mundo donde se pagan salarios bajos. De acuerdo con la empresa consultora Gartner Group, la subcontratación en todo el mundo totalizó más de 624,000 millones de dólares en 2005 (McDougall, 2006). En este rubro, el gasto más grande se pagó a empresas estadounidenses de middleware, servicios de integración y otro soporte de software que con frecuencia se requiere para operar sistemas empresariales grandes.
La mayor parte del software sub contratado se crea en Estados Unidos, pero una porción creciente de los proyectos de software subcontratados se lleva a cabo en otros lugares que tienen salarios bajos, como India, China, Europa Oriental, África y América Latina. Además, otro 15 por ciento de la funcionalidad del software se obtendrá no por medio de la compra del software sino del servicio -dejando que más desarrolle el software.
No hay comentarios:
Publicar un comentario