Aplicando BPM a la Industria
SOA - Agenda
Qué es S.O.A.?MotivaciónAntecedentesDefinicionesBeneficios - ROIAdoptando SOAConclusiones
SOA es diferentes cosas para gente diferente:Un conjunto de servicios que un negocio quiere exponer para sus clientes y asociados, u otras porciones de la organizaciónUn estilo arquitectónico que requiere un proveedor de servicios, un solicitante y una descripción del servicioUn conjunto de principios arquitectónicos, patrones y criterios que manejan características tales como modularidad, encapsulamiento, bajo acoplamiento, separación de temas, reuso, composiciónUn modelo de programación completo con estándares, herramientas y tecnologías tales como Web Services
BusinessExecutive,Consultant
Architect
Developer
¿ Qué es SOA ?
Para qué sirve SOA ?
Service-Oriented Architecture (SOA) está enfocado en crear un concepto, una tecnología y un marco de procesos que va a permitir a las empresas desarrollar, interconectar y mantener aplicaciones empresariales y servicios de manera eficiente y económica.Un Proceso de Arquitectura Empresarial robusto ayuda a resolver cuestiones básicas como:
La arquitectura actual esta soportando y agregando valor a la organización ? Cómo debería ser modificada una arquitectura para que agregue más valor a la organización ? Podrá la arquitectura actual soportar los objetivos que persigue la organización para el futuro?
Definiciones
SERVICIOPropiedades de un Servicio
Bien definido Auto contenido Permanece esperando hasta que llega un pedido No depende del contexto del cliente No requiere despliegue (deployment)
QUE ES S.O.A.Paradigma de programación que adhiere a los cuatro principios de Orientación a Servicios:
Los límites son explícitos Los Servicios son autónomos Servicios comparten esquema y contratos, no clases La compatibilidad de un Servicio se determinada
basándose en una política
SOA versus Integración Tradicional
La Integración Tradicional envuelve varios adaptadores entre componentes que son dependientes de la tecnología, por eso es complejo y costoso de mantener.
Los adaptadores del programa están generalmente basados sobre APIs y formatos de archivos, pero estos cambian, conduciendo a la inestabilidad del sistema.
SOA
En SOA, cada componente utiliza la misma manera para comunicarse con otros componentes, basado sobre estándares independientes de la plataforma. Este enfoque simplifica y consolida la integración eficientemente.
Business processes
IT implementations
SOA fills the gap
Granularidad de servicios
Desacoplando las aplicaciones y la tecnología mediante servicios
SOA Beneficios
Mejora la definición de roles de desarrolloDelineación de seguridad más claraFacilita el testingSoporta múltiples tipos de clientePermite la composición de servicios
Mejora la mantenibilidadFavorece el reusoFavorece el desarrollo en paraleloFacilita la escalabilidad y alta disponibilidadInteroperabilidad
ROI of SOA
"Banking, insurance, telecommunications, retail and the government sector are all industries that are likely to gain substantial ROI from Web services or SOA implementations. All those industries are dealing with complex, distributed environments, and they need horizontal integration capabilities -- both of which Web services and SOA are primed to deliver. So similar companies and industries can also expect to gain substantial ROI as well.“
Michael Liebow, vice president of Web services and SOA for IBM Global Services.
Tres tipos de ROI (1/3)
ROI TácticoEl ROI mas simple, directo y a corto plazo, es el ROI táctico, el que es ganado por la inmediata reducción de los costos de integración.Esto permitirá ahorrar dinero el día después de implementarlo, los beneficios son visibles y se obtienen mejoras en los costos de integración. Es fácilmente cuantificable porque se pueden identificar los procesos de negocios y sistemas que fueron reemplazados.
Tres tipos de ROI (2/3)
Reuso de AplicacionesEl segundo tipo de ROI, está en el reuso de aplicaciones, esto se verá en el corto a mediano plazo. Para lograr esto, las compañías deben identificar áreas de funcionalidad común entre aplicaciones y crear servicios para ellas.De esa manera la cantidad de tiempo de diseño, programación y desarrollo puede ser reducido, porque el servicio es diseñado una vez y utilizado muchas veces.
Tres tipos de ROI (3/3)
Agilidad en los NegociosEl tercer tipo es la agilidad en los negocios, este ROI puede verse recién en el mediano a largo plazo.Este es más difícil de medir, permite a las compañías y sistemas tomar decisiones de negocio mas espontáneas y rápidas.Así, el ROI es visible en un más rápido time-to-market, y en la habilidad de linkear directamente a sistemas de otras compañías
Adoptando SOA
DesafíosEstándares evolucionandoHerramientas inmadurasMapeo Semántico Difícil Confiabilidad de la REDPerformancePropiedad de la Aplicación
Requerimientos de una plataforma para Implementar SOA
Definición de servicios independiente de su implementación, localización o uso Implementación y hosting de servicios como proveedor Localización y uso de servicios como consumidor Ensamble de servicios desde otros servicios y reglas de negocio Soporte para servicios sincrónicos, asincrónicos y de comunicaciónOrquestación de la presentación sobre servicios y reglasSoporte para múltiples formas de interacción (tales como portales, correo electrónico, red inalámbrica, etc.)Transformación automática de datos entre estructuras de datos disparesProvisión de servicios locales y remotos Soporte para simular, testear y debuguear servicios
Obstáculos al adoptar SOA
Del lado de los Negocios:La mejores prácticas de SOA no están suficientemente popularizadasPensamiento cortoplacistaCultura de pensar en cada proyecto por separadoFalta de voluntad para invertir en Orientación a Servicios y Agilidad pueden hacer que justificar SOA sea difícil¿Cómo medir agilidad?
Del lado de TI:Risk adverse to On Demand scenarioEscepticismo de las soluciones mágicas de proveedoresVen Web Services como tecnología inmaduraCreen que las tecnologías existentes (Middleware, Messaging, Java, EAI) resuelven muchos de los problemas.Performance del Sistema
Impacto en los Negocios
Por que es importante para los desarrolladoresLenguajes dependientes de Dominio
Exposicion Controlada de parte del negocioMas clientes Transaccionando en el negocioNuevos Negocios que no habíamos imaginado Cualquiera que use nuestras APIs agrega Valor al Negocio
Casos populareseBayAmazonGoogle
Conclusiones
Ser PragmáticosNo busquemos PROBLEMAS a nuestras SOLUCIONES
Estamos frente a un cambio de Paradigma ? Dejar de pensar en sistemas para Comenzar a pensar en Procesos de Negocios
Aplicando BPM a la Industria