SOA – Service Oriented Architecture La arquitectura de la mano del negocio… Equipo de Arquitectura, Septiembre 2011
Temario <ul><li>Que es SOA </li></ul><ul><li>Principios </li></ul><ul><li>Pasos para implementar SOA </li></ul><ul><li>Enf...
Que es SOA <ul><li>¿entonces SOA es  </li></ul><ul><li>Implementar usando Web Services? </li></ul><ul><li>Integración?? </...
<ul><li>Desarrollador: </li></ul><ul><li>OK, si jefe… ya tenemos SOA… </li></ul>
Y entonces? <ul><li>SOA es un estilo de arquitectura que enfatiza </li></ul><ul><li>el uso de  servicios   de red, seguros...
<ul><li>Organiza las funciones contenidas en aplicaciones empresariales </li></ul><ul><li>convirtiéndolas en servicios. </...
Principios <ul><li>Contratos de servicio estandarizados </li></ul><ul><li>Servicios con bajo acoplamiento </li></ul><ul><l...
Pasos para implementar SOA <ul><li>Definir Roles y responsabilidades de las aplicaciones: </li></ul><ul><li>Qué aplicación...
Enfoque tradicional vs SOA
Enfoque tradicional vs SOA
Proveedores de Tecnologías SOA <ul><li>Microsoft </li></ul><ul><li>IBM </li></ul><ul><li>Tibco </li></ul><ul><li>Oracle </...
SOA y el negocio de la empresa <ul><li>TI tiene un rol particularmente importante </li></ul><ul><li>dentro de la estrategi...
SOA y el negocio de la empresa <ul><li>Las compañías y empresas desarrollan  </li></ul><ul><li>las estrategias de negocio ...
SOA y el negocio de la empresa <ul><li>Se espera que TI soporte y responda rápidamente </li></ul><ul><li>frente a las nece...
SOA y el negocio de la empresa
Arquitectura SOA <ul><li>Como vimos anteriormente, SOA es,  </li></ul><ul><li>entre otras cosas, un estilo de arquitectura...
Servicios <ul><li>“ Es un mecanismo para acceder a una o más </li></ul><ul><li>capacidades, donde el acceso es provisto po...
ESB – Enterprise Service Bus <ul><li>Un ESB es una infraestructura de software que facilita </li></ul><ul><li>la integraci...
Governance <ul><li>Es una estructura de administración que permite  </li></ul><ul><li>cumplir con éxito el proyecto de imp...
Governance <ul><li>“ SOA governance ya no es una opción, es un imperativo, </li></ul><ul><li>sin esta administración no se...
Governance <ul><li>El desgaste de comprometer a un Jefe de Proyecto  </li></ul><ul><li>en SOA, por lo general la respuesta...
Buenas y malas prácticas al momento del diseño <ul><li>L os servicios se nombran para maximizar su uso </li></ul><ul><li>-...
Tack så mycket!! (Muchas Gracias!!)
Upcoming SlideShare
Loading in …5
×

charla SOA

690 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
690
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

charla SOA

  1. 1. SOA – Service Oriented Architecture La arquitectura de la mano del negocio… Equipo de Arquitectura, Septiembre 2011
  2. 2. Temario <ul><li>Que es SOA </li></ul><ul><li>Principios </li></ul><ul><li>Pasos para implementar SOA </li></ul><ul><li>Enfoque tradicional vs SOA </li></ul><ul><li>Proveedores de tecnologías SOA </li></ul><ul><li>SOA y el negocio de la empresa </li></ul><ul><li>Arquitectura SOA </li></ul><ul><li>Servicios </li></ul><ul><li>ESB </li></ul><ul><li>Governance </li></ul><ul><li>Buenas y malas prácticas al momento del diseño </li></ul>
  3. 3. Que es SOA <ul><li>¿entonces SOA es </li></ul><ul><li>Implementar usando Web Services? </li></ul><ul><li>Integración?? </li></ul><ul><li>Entonces tiene que ser una estrategia de TI? </li></ul><ul><li>Una situación que tristemente ocurre: </li></ul><ul><li>Desarrollador: Jefe!, ya tenemos listo el Web Service! </li></ul><ul><li>Jefe: Ah muy bien!!, entonces con eso ya tenemos implementado SOA? </li></ul>
  4. 4. <ul><li>Desarrollador: </li></ul><ul><li>OK, si jefe… ya tenemos SOA… </li></ul>
  5. 5. Y entonces? <ul><li>SOA es un estilo de arquitectura que enfatiza </li></ul><ul><li>el uso de servicios de red, seguros, compartibles, </li></ul><ul><li>que realizan tareas atómicas y desacoplados </li></ul><ul><li>para incrementar la flexibilidad del negocio de </li></ul><ul><li>una manera interoperable y agnóstica tecnológicamente. </li></ul><ul><li>Es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio . </li></ul><ul><li>Es una estrategia de TI que organiza funciones contenidas en las aplicaciones empresariales, en servicios interoperables basados en estándares que pueden combinarse rápidamente para satisfacer las necesidades del negocio (Definición de Oracle). </li></ul>
  6. 6. <ul><li>Organiza las funciones contenidas en aplicaciones empresariales </li></ul><ul><li>convirtiéndolas en servicios. </li></ul><ul><li>Se aproxima a la estrategia de negocio de la empresa </li></ul><ul><li>Es un compromiso organizacional, que permite </li></ul><ul><li>adoptar las premisas de este paradigma y enmarcarlas dentro de </li></ul><ul><li>la estrategia de la empresa. </li></ul><ul><li>Implica un cambio de mentalidad tanto en las líneas directivas como de las áreas operativas de la empresa. </li></ul>
  7. 7. Principios <ul><li>Contratos de servicio estandarizados </li></ul><ul><li>Servicios con bajo acoplamiento </li></ul><ul><li>Abstracción </li></ul><ul><li>Reusabilidad </li></ul><ul><li>Autonomía </li></ul><ul><li>Sin estado </li></ul><ul><li>Capacidad de Descubrimiento </li></ul><ul><li>Composición </li></ul><ul><li>Interoperabilidad </li></ul>
  8. 8. Pasos para implementar SOA <ul><li>Definir Roles y responsabilidades de las aplicaciones: </li></ul><ul><li>Qué aplicación va a proveer qué servicio. </li></ul><ul><li>Por ejemplo, el saldo de la cuenta corriente se </li></ul><ul><li>lo pido al core y el de una tarjeta de crédito es un web service que </li></ul><ul><li>le pido a Master Card (por ejemplo). </li></ul><ul><li>Comunicar: Definir los conectores entre las diferentes aplicaciones y ese conector envía y recibe información de las aplicaciones al ESB. </li></ul><ul><li>Definir los servicios: Se deben identificar las funcionalidades del negocio que necesitemos exponer como servicio, considerando cada uno de los principios vistos anteriormente. </li></ul><ul><li>Las Reglas de negocio: dada una definición de procesos de negocio (BPM), se debe identificar donde que papel juegan las tecnologías disponibles para construir nuestros servicios. </li></ul><ul><li>Governance: contempla lo necesario para un planteamiento y dirección de este nuevo esquema SOA. </li></ul>
  9. 9. Enfoque tradicional vs SOA
  10. 10. Enfoque tradicional vs SOA
  11. 11. Proveedores de Tecnologías SOA <ul><li>Microsoft </li></ul><ul><li>IBM </li></ul><ul><li>Tibco </li></ul><ul><li>Oracle </li></ul><ul><li>Software AG </li></ul><ul><li>SAP </li></ul><ul><li>Sonic Software </li></ul>
  12. 12. SOA y el negocio de la empresa <ul><li>TI tiene un rol particularmente importante </li></ul><ul><li>dentro de la estrategia de una empresa </li></ul><ul><li>A pesar de ello, no es vista como un área </li></ul><ul><li>confiable, ni menos como un “socio” de la estrategia de </li></ul><ul><li>negocio. </li></ul><ul><li>Como resultado, tenemos un GAP entre las necesidades de la empresa y la ejecución de TI. </li></ul>
  13. 13. SOA y el negocio de la empresa <ul><li>Las compañías y empresas desarrollan </li></ul><ul><li>las estrategias de negocio por un lado, y luego, </li></ul><ul><li>intentan implementarlas a través de una </li></ul><ul><li>estrategia distinta de TI. </li></ul><ul><li>Estas son consideradas desde puntos de vista distintos. </li></ul><ul><li>Estrategia de negocio: considera la empresa en su conjunto a largo plazo. </li></ul><ul><li>Estrategia de TI: Se considera a corto plazo para atender las necesidades puntuales de una línea de negocio. </li></ul><ul><li>Como se puede esperar, ambas no son compatibles para obtener un resultado acorde con la empresa en su conjunto. </li></ul>
  14. 14. SOA y el negocio de la empresa <ul><li>Se espera que TI soporte y responda rápidamente </li></ul><ul><li>frente a las necesidades de cambio. </li></ul><ul><li>Se debe aumentar la productividad. </li></ul><ul><li>Minimizar el GAP entre las necesidades del negocio y la ejecución por parte del área de TI. </li></ul><ul><li>Se requieren cambios fundamentales y fundacionales para alinear ambas estrategias. </li></ul>
  15. 15. SOA y el negocio de la empresa
  16. 16. Arquitectura SOA <ul><li>Como vimos anteriormente, SOA es, </li></ul><ul><li>entre otras cosas, un estilo de arquitectura que permite </li></ul><ul><li>construir sistemas basados en componentes de </li></ul><ul><li>granularidad gruesa llamados servicios. </li></ul><ul><li>Cada servicio expone procesos y comportamientos a través de contratos. </li></ul>
  17. 17. Servicios <ul><li>“ Es un mecanismo para acceder a una o más </li></ul><ul><li>capacidades, donde el acceso es provisto por medio </li></ul><ul><li>de una interface bien descrita y se ejerce en </li></ul><ul><li>conformidad con restricciones y políticas tal cual </li></ul><ul><li>se especifica en la descripción del servicio”. Merriam Webster </li></ul><ul><li>Es una unidad de software independiente que no pertenece a un contexto específico, tiene una funcionalidad atómica y bien definida, que establece un contrato para su utilización y descubrimiento. Además, es altamente reutilizable y puede formar parte de un proceso de mayor potencia. Lo más importante es que representa una funcionalidad común y repetitiva del negocio. </li></ul>
  18. 18. ESB – Enterprise Service Bus <ul><li>Un ESB es una infraestructura de software que facilita </li></ul><ul><li>la integración de aplicaciones. Es muy valorable en una </li></ul><ul><li>arquitectura SOA ya que permite el intercambio de </li></ul><ul><li>mensajes, ejecuta transacciones, orquesta servicios y realiza la publicación y </li></ul><ul><li>suscripción entre aplicaciones heterogéneas y distribuidas. </li></ul><ul><li>Según Sonic un ESB es “ un bus vertical que conecta distintos end-points usando protocolos de red y lenguajes que ya existen en la empresa. Lo vemos como una tecnología incremental más que una fundacional”. </li></ul>
  19. 19. Governance <ul><li>Es una estructura de administración que permite </li></ul><ul><li>cumplir con éxito el proyecto de implementar SOA </li></ul><ul><li>en una empresa, y lograr los objetivos propuestos </li></ul><ul><li>del negocio. </li></ul><ul><li>Esta estructura contempla los niveles estratégicos, tácticos </li></ul><ul><li>y operacionales. </li></ul><ul><li>Se debe definir el modelo de governance: </li></ul><ul><li>Que hacer: define el SOA roadmap (plan de ruta SOA). </li></ul><ul><li>Quién lo hace: La estructura organizacional, grupos de trabajo (SOA Office). </li></ul><ul><li>Como hacerlo: Los procesos de administración, las normas. </li></ul><ul><li>Como medirlo: Definición de métricas para medir el % de éxito. </li></ul>
  20. 20. Governance <ul><li>“ SOA governance ya no es una opción, es un imperativo, </li></ul><ul><li>sin esta administración no se logra el ROI, y todo </li></ul><ul><li>proyecto SOA estará en peligro.” Gartner. </li></ul><ul><li>“ Un SOA mal implementado esta por debajo del 35% de reutilización”. Gartner. </li></ul><ul><li>“ El 80% de la falla de los proyectos SOA esta en la carencia de mecanismos de governance”. Gartner. </li></ul>
  21. 21. Governance <ul><li>El desgaste de comprometer a un Jefe de Proyecto </li></ul><ul><li>en SOA, por lo general la respuesta es: “ La aplicación </li></ul><ul><li>es posible de desarrollar sin servicios, a mi me </li></ul><ul><li>evalúan por hacer aplicaciones, y a mi cliente no le interesa si se </li></ul><ul><li>hace de esta forma, luego, ¿que gano? </li></ul><ul><li>No está interiorizada la idea de compartir, o de pensar en los </li></ul><ul><li>beneficios a mediano plazo. </li></ul><ul><li>Se han propuesto catálogos completos de servicios, soluciones del </li></ul><ul><li>tipo “ Big Bang” , NO recomendados por SOA. </li></ul>
  22. 22. Buenas y malas prácticas al momento del diseño <ul><li>L os servicios se nombran para maximizar su uso </li></ul><ul><li>- Erróneo: insertarRegistroCliente() </li></ul><ul><li>- Correcto: crearNuevoCliente() </li></ul><ul><li>El servicio tiene un gran número de parámetros (coarse grained) </li></ul><ul><li>- Erróneo: crearNuevoCliente(rut,nombre,apellidos,e-mail,telefono) </li></ul><ul><li>- Correcto: crearNuevoCliente(objetoCliente) </li></ul><ul><li>Servicios Parlanchines (Chatty Services) </li></ul><ul><li>- Erróneo: consultaUF() – ups… </li></ul><ul><li>- Correcto: ( NO implementar este tipo de funciones como servicio). </li></ul>
  23. 23. Tack så mycket!! (Muchas Gracias!!)

×