Servicios SOA

3,649 views
3,516 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,649
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
143
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Servicios SOA

  1. 1. WebServices bajo SOA SOAagenda team Chile 1
  2. 2. Conceptos … WebService … Servicio SOA • Funcionalidades Una tarea de negocio disponibles vía Web, repetitiva – “validar implementadas bajo Crédito Cliente”, que estándares específicos cumple estándares (WSDL, SOAP) SOA … WebService SOA Implementación vía WebService de un servicio que cumple los estándares SOA 2
  3. 3. WebService Tecnología que permite ejecutar operaciones en forma remota. Tecnología que permite comunicación entre aplicaciones ( de distintas Tecnología). creaPolizaVida() Servicios Componente de Software que Vida <WebService> <SOAP> es descrito por un contrato WSDL Aplicación <xml> Sistema (WSDL), y se puede acceder en Cliente Operacional <Java> <VBasic> la Web a través de un protocolo definido (SOAP). Componente de Software identificado por una dirección Web (URL), cuyas interfaces http://SOAagenda.com/sistemaSOA/services/ServiciosVida (forma de ejecutar) están definidas usando XML. WSDL <xml> http://SOAagenda.com/sistemaSOA/services/ServiciosVida?WSDL 3
  4. 4. Globalización WebService Principales lenguajes de programación permiten crear y ejecutar Web Services. Principales servidores y motores (engine) permiten ejecutar y publicar WebServices SQL SAP People – Bases de Datos Server Soft Data Stage (ETL) – Orquestador Servicios (ESB) Oracle – Orquestador Procesos Negocio (BPM) Servicios Vida – Orquestador Procesos Datos y Batch (ETL) Exchange <WebService> GlassFish – Servidores de Reportes (ESB) Principales Herramientas manejan WebServices RAD BPM – Ambientes de Desarrollo (IDE) – Diseño Procesos (BPEL) JBuilder NetBeans Eclipse Office – Microsoft Office Principales Sistemas WordClass se Integran vía WebServices. – SAP – PeopleSoft 4
  5. 5. WSDL (WebService Description Language) Documento en XML que describe un WSDL WebService, describe sus operaciones y determina su ubicación. Uso principal WSDL: permite herramientas generar (automáticamente) el cliente para ejecutar el WebService (clase Java, clase .Net, nodo en flujo, etc.). Define: – <types> Tipos de datos que usa el WebService (en los parámetros), puede indicar ubicación de un schema (xml que define estructura). – <message> Mensajes que maneja el WebService, 2 por cada operación (request, response) – <portType> Operaciones (funcionalidades) que atiende el WebService – <binding> define protocolo con que se implementan operaciones (SOAP) – <service> define ubicación del WebService 5
  6. 6. Directorios de Servicios UDDI: (Universal Description, Discovery, and Integration) permite publicar los servicios catalogados en términos de negocio (Industria, Empresa, Líneas de Negocio) UDDI privadas sirven para que herramientas de desarrollo manejen catalogo de servicios. UDDI publicas sirven para las empresas ofrezcan servicios a terceros. WSIL define las ubicaciones en un sitio Web donde se pueden buscar descripciones del servicio Web (Directorio de Directorios) 6
  7. 7. Interoperabilidad WebServices (WS-I) Conjunto de especificaciones (guías y buenas practicas) para implementar WebServices que puedan operar entre distintas tecnologías (Profiles) No define nuevos estándares tecnológicos, solo los perfila, define Servicios Servicios Vida Vida uso adecuado. <WebService> <WebService> Un Webservice es “WS-I compliant” WS-I si cumple con el “profile” . Y así nos aseguramos que opera en .Net y Java. WS-I provee herramientas para validar que un WebService es “WS-I compliant”. 7
  8. 8. WS-I Compliant 8
  9. 9. Ejemplo Servicio SOA ServiciosVida ResultadoCreaPoliza creaPoliza( Cliente, Propuesta) creaPoliza() Servicios Vida <WebService> <SOAP> WSDL Aplicación <xml> Sistema Cliente Operacional Cliente Póliza <Java> <VBasic> •String rut •String nroPoliza •String nombre •String estadoPropuesta •String nombreProducto ResultadoCreaPoliza •String codError •String msgError •Poliza poliza 9
  10. 10. Etapas Implementación WebService Crear un WebService (a partir de una Clase Java) Web Framework Service Deploy Clase Java WebServices Ingeniero WSDL (IDE) Servidor Web Crear un Cliente WebService Integra Framework Stub WSDL WebServices <clase Java> Ingeniero (IDE) Aplicación Cliente Ejecutar un WebService Framework Web Stub WebServices Service Usuario Servidor Web Sistemas Operacionales Aplicación Cliente 10
  11. 11. Demo Crear un WebService (a partir de una Clase Java) Web Framework Service Deploy Clase Java SUN Ingeniero WSDL (IDE) Servidor Web 11
  12. 12. ¿Consultas? creaPolizaVida() Servicios Vida <WebService> <SOAP> WSDL PIN <xml> Visual <Java> Time <VBasic> 12
  13. 13. WSDL (http://localhost:8080/WServiceSOA/ServiciosVidaService?WSDL) WSDL 13
  14. 14. Conceptos SOA Servicio: componentes reutilizables de negocio, con interfaces bien FrameWork: conjunto de herramientas y motor (engine) que permite definidas, ej. “consultaCarteraAgente”, generalmente se refiere a “Servicio habilitar alguna tecnología. de Negocio”. AXIS: framework que permite generar Webservices. Sistemas Operacionales: sistemas legados (heredados) de una empresa, WorkFlow: flujo de trabajo, permite implementar procesos de negocio, sistemas BackOffice, sistemas aislados orientados a un aspecto especifico pero no soporta actividades automatizadas (servicios). del negocio. Ej. “PSoft CRM”. BPM: (Business Process Management) tecnologia que permite Servicios de Información: Servicio de mas bajo nivel, encapsula lógica implementar procesos de negocio. Apoya todo el ciclo de vida de un para acceder a funcionalidades de los sistemas operacionales. ej. proceso: modelar, integrar, ejecutar, y monitorear. Implementación clara “obtieneClienteCRM”. de SOA, ej. “WorkFlow + WebServices”. Proceso de Negocio: secuencia de actividades que forma un proceso del BPMS: (BPM Suite) framework que permite implementar BPM y SOA, negocio, contempla actividades manuales y automatizadas, ej. “Proceso ej. “BEA Aqualogic”, “IBM WebSphere BPMS”. Cotizar Producto Vida”. Lista Pendientes: portlet que lista las tareas pendientes de un usuario SOA: (Service Oriented Architecture) arquitectura basada en componentes que participa en un proceso de negocio, lo facilita BPMS. reutilizables: procesos de negocio y servicios. Estrategia con visión de MQ: (Websphere Message Queues) framework de IBM para Empresa y de largo plazo. implementar colas de mensajes. Portlet: sección o módulo gráfico con una funcionalidad bien definida, Java: lenguage de programación orientado a objetos. servicio de presentación, componente gráfico reutilizable, ej. “Calendario Clase Java: componente funcional programado en Java, esta Agente Ventas”. compuesto por funciones, y variables. Portal: aplicación Web compuesta por Portlets, ej. “www.emol.cl”. J2EE (Java 2 Enterprise Edition) framework para implementar Aplicación SOA: aplicación compuesta de servicios: portlets, procesos de aplicaciones de complejidad empresarial, estandar e independiente de negocio, servicios de negocio. plataforma (Windows, Mac, Linux, Unix). XML: (eXtensible Markup Language) estructura de datos basada en tags, ETL: (Extract, Transform, and Load) framework que permite ej. “<rut>8602345-K</rut>” implementar procesos basados en fuentes de datos (principalmente SOAP: (Simple Object Access Protocol) protocolo estandar basado en XML bases de datos), permite implementar “servicios de información”. para implementar servicios. Basado en modelamiento del proceso (simil BPMS pero solo procesos WebService: implementación de un servicio, basado en SOAP, totalmente Base de Datos). Ej. “IBM Datastage”. estandar. Deploy: publicar un componente en el servidor web, subir un Stub: modulo que permite ejecutar (consumir) un WebService. componente a producción, ej. “subir webservice a producción”. WSDL: (WebService Definition Language) documento XML que describe la estructura de un WebService, contrato que define como implementar y ejecutar un WebService. IDE: (Integrated Development Enviroment) herramienta de desarrollo integrada, ej. “Visual Studio”, “JBuilder”, “Eclipse”. 14
  15. 15. Algunos Principios SOA ES: NO ES: Una Pieza de Lego: sirve para Una Pieza de Rompecabezas: crear varios juegos distintos. sirve para crear un solo juego. Una funcionalidad del negocio. Funcionalidad genérica: Ej. Ej.“dar de alta un cliente”, “validar Rut” “consulta pólizas vida de un cliente” Aislado: solo sirve para una Reutilizable: se puede utilizar en aplicación. Ej. “consulta pólizas por otros aplicaciones. Ej. “consulta id SAP” cliente”, “consulta pólizas grles de un rut” Propietario: solo se puede usar bajo una tecnología. Ej. “una clase Estándar: independiente de Java”, “un Webservice que plataforma, se puede integrar a devuelve dato tipo Visual Basic” distintos tecnologias. Ej. “Webservices” cumple SOA. Rígido: fuerte impacto de los cambios. Ejemplo “consulta cliente Flexible: impacto de los cambios con campo entrada solo rut”. es menor. “XML” marca la diferencia. Ej.:“Consulta clientes con objeto cliente como entrada” 15
  16. 16. Algunos Patrones Diseño Servicios SOA Servicio se nombra para maximizar consumo. – Erróneo: insertarRegistroCliente() – Correcto: crearNuevoCliente() Servicio tienen parámetros abultados (coarse grained) – Erróneo : crearNuevoCliente (rut, nombre, apellidos, email, fono, direccion) – Correcto: crearNuevoCliente (objetoCliente) Servicio encapsula detalles de implementación. – Erróneo : crearNuevoClientePsoft (schemaOracle, registroTablaCliente ) – Correcto: crearNuevoCliente (objetoCliente) AntiPatrón, Servicio Parlanchines (Chatty Services) – Erróneo: consultaUF() – Correcto: (NO implementar ese tipo funciones como servicios) IBM SOA Antipatterns http://www.ibm.com/developerworks/webservices/library/ws-antipatterns/ IBM SOA realization, Service design principles http://www-128.ibm.com/developerworks/webservices/library/ws-soa-design/ 16

×