• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Soa   Fast Track
 

Soa Fast Track

on

  • 954 views

 

Statistics

Views

Total Views
954
Views on SlideShare
953
Embed Views
1

Actions

Likes
1
Downloads
0
Comments
1

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Soa   Fast Track Soa Fast Track Document Transcript

    • SOA – Fast Track________________________________________________________________________________SOA : EJEMPLOS PRÁCTICOS© Jorge Irey - 2012 Página 1
    • SOA – Fast Track________________________________________________________________________________¿ Qué es SOA?. No existe una definición única en la que todos estén de acuerdo. Enlugar de ello, se han publicado varias definiciones por diferentes grupos, proveedores yanalistas de negocio: estas definiciones varían desde las vistas de alto nivel de lo querepresenta SOA para un negocio hasta el enfoque de aspectos técnicos de solucionesbasadas en SOA. Sin embargo, podemos rescatar 3 aspectos de SOA:  Es una filosofía de diseño y arquitectura.  Es una solución.  Se ayuda de Servicios Web y otras tecnologías.Existen muchas definiciones para SOA: Por ejemplo, IBM dice que :“SOA es un modelo de componentes que interrelaciona las diferentes unidadesfuncionales de las aplicaciones, denominadas servicios, a través de interfaces ycontratos bien definidos entre esos servicios. La interfaz se define de forma neutral,y debería ser independiente de la plataforma hardware, del sistema operativo y dellenguaje de programación utilizado. Esto permite a los servicios, construidos sobresistemas heterogéneos, interactuar entre ellos de una manera uniforme yuniversal.”El W3C define a SOA como: “Un conjunto de componentes que pueden serinvocados y cuyas descripciones de las interfaces pueden ser publicadas yubicadas”Una vez que una organización decide implementar SOA, es muy típico pasar por todasestas fases en el camino de evolución hacia la madurez SOA:  Creación de los Servicios dentro de la organización. Estos Servicios incluyen funcionalidades reutilizables, accesibles de manera estándar y que pueden formar parte de procesos de negocio.  Orquestación de los Servicios previamente creados, mediante la definición de Procesos que utilizarán dichos servicios disponibles en la organización y Construcción de nuevos servicios según sean necesarios para la orquestación de los nuevos Procesos y reutilización de los Servicios ya existentes en distintos Procesos.  Enterprise Service Bus (ESB). Una vez que el número de procesos orquestados es elevado, la organización descubre que es difícil controlarlos y es difícil escalar procesos existentes, y en ese momento es cuando las organizaciones realmente© Jorge Irey - 2012 Página 2
    • SOA – Fast Track________________________________________________________________________________ descubren que es muy complicado gestionar y escalar una Arquitectura SOA si se carece de un ESB.  Integración Semántica de Datos.Es la problemática conocida como la del “Año SOA + 1”, ya que es una problemática que habitualmente no se tiene en cuenta a la hora de diseñar SOA y que se descubre cuando se empieza a utilizar. Toda la gestión de las transformaciones de datos, en muchas ocasiones se solventan a nivel del Orquestador o del BPM o incluso a nivel del ESB, implementando en muchas ocasiones complicadas transformaciones XSLT incluso para formatos no XML. Esto genera problemas a la hora de cambiar la estructura de datos de una aplicación, ya que es muy complejo identificar a qué puede afectar dicho cambio, todos los cambios a realizar en otras aplicaciones o transformaciones de datos para gestionar dicho cambio y dónde realizarlos.  Monitorización de negocio (BAM) de los procesos en ejecución en SOA. Además de conocer los procesos que están en ejecución, surge la necesidad de tener información en tiempo real del negocio, es decir, cuántos pedidos se están recibiendo en el momento, cuántos pagos no se han realizado, demoras en la entrega de algún producto, etc.Existen muchas soluciones tecnológicas para SOA, sin embargo, hemos seleccionadouna solución Open Source basada en algunos productos de Apache que nos permita© Jorge Irey - 2012 Página 3
    • SOA – Fast Track________________________________________________________________________________apreciar el despliegue tecnológico en toda su dimensión. Esta solución se llama WSO2 yse puede obtener del sitio web http://wso2.org/.La plataforma de productos de WSO2 está conformada por una suite de desarrollollamada WSO2 Carbon Studio, la cual puede ser instalada aparte o como un pluginpara Eclipse.Y los productos de soporte a SOA como son: Es un Enterprise Service Bus construido sobre la plataforma WSO2 Carbon OSGi . Permite añadir la agilidad de usar reglas de negocio para el esquema de SOA. La Gobernabilidad abarca más que la tecnología, también incluye a las personas y procesos. Proporciona la habilidad para monitorear el creciente ecosistema de servicios desde un solo lugar. Incluye la capacidad para especificar al dueño de cada colección de recursos a un nivel muy fino permitiendo el control de visibilidad de cada recurso. WSO2 Identity Server proporciona una manejo sofisticado de identidad y seguridad para las aplicaciones web y los servicios. No solo está diseñado para monitorear métricas de SOA sino tambien para monitorear los KPI (Key process Indicators) . En general puede monitorear cualquier otro indicador. Permite entregar a los empleados, clientes y proveedores una forma de obtener toda la información que necesitan en un solo lugar. Permite a los desarrolladores desplegar procesos de negocio escritos en WS-BPEL.Est+a basado en Apache Orchestration Director Engine (ODE) BPEL© Jorge Irey - 2012 Página 4
    • SOA – Fast Track________________________________________________________________________________ Es un hub para integrar la empresa con la información disponible en la web. Data services son esencialmente servicios web que proporcionan acceso a datos almacenados en diferentes Fuentes permitiendo una integración fácil de los datos dentro de los procesos de negocio, mashups, gadgets, aplicaciones de BI y servicios en general. El WSO2 Application Server proporciona los mejor de las tecnologías Open Source para aplicaciones web con Apache Tomcat y Servicios Web con Apache Axis2. Permite monitorear secuencias complejas de eventos que ocurren en tiempo real y entender los patrones de tráfico. Message Brokers permite que las aplicaciones intercambien comunicación de forma asíncrona o publiquen mensajes para que sean visto en el tiempo adecuado por muchos suscriptores. Utiliza Apache Qpid© Jorge Irey - 2012 Página 5
    • SOA – Fast Track________________________________________________________________________________Para este laboratorio vamos a emplear 4 PC’s, cada una con diferente dirección IP de talforma que no tengamos que cambiar los puertos de escucha de los procesos.En caso no se cuente con las PC’s, se tendrá que editar el archivo carbon.xml ymodificar el valor de “offset” en cada producto de software.NOTAS PREVIAS: 1. Se debe asegurar que las PC’s tengan instalado el JDK de java. 2. Se asume que la base de datos es MySQL y ya está instalada en alguna máquina© Jorge Irey - 2012 Página 6
    • SOA – Fast Track________________________________________________________________________________Ejemplo 1: WSO2 ESB1El objetivo de este ejemplo es mostrar como se pueden ejecutar acciones en el ESB. Eneste caso cuando llega un archivo a un directorio, el ESB se encarga de leerlo y moverlo aun directorio destino, así como grabar el contenido en una base de datos. Adicionalmente,el ESB se conectará a un servidor de correo para enviar una notificación vía e-mailPASO 1 : Instalar wso2esb-4.0.3Simplemente descomprimir el archivo zip en un directorio.En el directorio “bin” modificar el scriptSe están definiendo dos variables para la ejecución del script:1 Fuent: http://wso2.org/library/articles/2011/01/wso2-esb-example-file-processing© Jorge Irey - 2012 Página 7
    • SOA – Fast Track________________________________________________________________________________JAVA _HOME indica la ruta de instalación del JDK de JavaCARBON_HOME es la ruta de instalación del ESBPASO 2 : Crear la base de datos y la tablaEn la máquina donde corre el MySQL, se debe crear la base de datos SAMPLE con unatabla llamada INFO que tenga la siguiente estructura:PASO 3 : Copiar las libreríasEn el directorio %CARBON_HOME%/ repository/components/lib , copiar los 2JAR del ejemploPASO 4 : Modificar el archivo axis2.xml© Jorge Irey - 2012 Página 8
    • SOA – Fast Track________________________________________________________________________________En el directorio %CARBON_HOME%/repository/conf editar axis2.xml parahabilitar servicios:VFS es el transport file del ESBEn primer lugar se debe habilitar el “receiver” para archivos para ello hay que eliminar loscomentarios en la línea:Luego se debe activar el “Sender” de archivos:Mail TransportSe usa para enviar y recibir mensajes de correoSi se desea enviar correos, hay que configurar los datos de conexión al servidor de correo(que tenga la función de SMTP relay).Message Builders/FormattersEl “message builder” es responsable de convertir el mensaje que llega a un formato de mensajeSOAP. Mientras que el “Message formatters” determina la salida del mensaje en format SOAPdentro del ESB.Los “Message formatters” están configurados dentro del axis2.xml bajo el bloque:© Jorge Irey - 2012 Página 9
    • SOA – Fast Track________________________________________________________________________________<messageFormatters></messageFormatters>Finalmente , modificar la línea :Para cambiar la ruta del sysnapse-config: observe que la ruta inicia en “/repositorry/conf”PASO 5 : Configurar el synapse-configHabíamos indicado que Synapse es el ESB ligero de Apache (http://synapse.apache.org/ )Para evitar problemas de la configuración vamos a copiar :DESDE: %CARBON_HOME%repositorydeploymentserversynapse-configsdefaultHACIA: %CARBON_HOME% repositoryconfsynapse-config© Jorge Irey - 2012 Página 10
    • SOA – Fast Track________________________________________________________________________________Copiar los archivos del ejemplo bajo la ruta conf/synapse-configDentro del directorio %CARBON_HOME% repositoryconfsynapse-config/defaultPASO 6 : copiar el archivo smooks-config,.xmlCopiar desde el directorio del ejemploCopiar hacia:: %CARBON_HOME% repositoryresources© Jorge Irey - 2012 Página 11
    • SOA – Fast Track________________________________________________________________________________PASO 7 : Configurar los localEntriesEn el directorio local-entries editar el archivo smooks.xml y verificar que la ruta seacorrecta:PASO 8 : Configurar los proxyServicesUn proxy service se crea y expone en un transporte específico a traves del motor deAxis2.En el directorio proxy-services editar el archivo y cambiar las rutasPASO 7 : Configurar los sequencesEn el directorio sequences© Jorge Irey - 2012 Página 12
    • SOA – Fast Track________________________________________________________________________________El archivo fileWriteSequence.xml, editar la ruta de salidaEl archivo sendMailSequence.xml, indicar el correo al cual se envía la notificaciónEn el archivo databaseSequence.xmlColocar los datos de conexión a la BD considerando el usuario, clva e, dirección IP ypuerto donde se ejecuta el motor de base de datos.© Jorge Irey - 2012 Página 13
    • SOA – Fast Track________________________________________________________________________________PASO 8 : Crear los directorios de trabajoLos directorios indicados en:  FileProxy.xml  fileWriteSequence.xmlPASO 9 : Iniciar el ESBEn una ventana de comandos ejecutar:La consola de administración del ESB se carga en: https://IP-1:9443/carbon© Jorge Irey - 2012 Página 14
    • SOA – Fast Track________________________________________________________________________________Donde IP-1 es la dirección IP donde está corriendo el ESB.El usuario es “admin” y el password es “admin” por defecto.© Jorge Irey - 2012 Página 15
    • SOA – Fast Track________________________________________________________________________________Ejemplo2: WSO2 ESB + AS2En este ejemplo, un cliente externo (aplicación standaloneo una aplicación web)invocarán a un servicio que se ejecuta en el ESB. El ESB actuará como orquestador deservicios y buscará la información que reside en un servidor de aplicaciones (AS) como semuestra en la figura. Una vez obtenidos los datos, el ESB devolverá la respuesta al clienteque hizo la invocación.NOTA: Se asume que:  El ESB se ejecuta en una máquina con IP-1  El AS se ejecuta en una máquina con IP-2  Ambos procesos usan los puertos por defecto.PASO 1 : Instalar wso2as-4.1.2Simplemente descomprimir el archivo zip en un directorio.2 Fuente: http://wso2.org/library/articles/2011/01/wso2-esb-by-example-service-chaining© Jorge Irey - 2012 Página 16
    • SOA – Fast Track________________________________________________________________________________En el directorio “bin” modificar el scriptSe están definiendo dos variables para la ejecución del script:JAVA _HOME indica la ruta de instalación del JDK de JavaCARBON_HOME es la ruta de instalación del ASPASO 2: Registrar los servicios en el ASLa consola de administración del AS se carga en: https://IP-2:9443/carbonDonde IP-2 es la dirección IP donde está corriendo el AS.El usuario es “admin” y el password es “admin” por defecto.En el lado izquierdo, en la opción que dice© Jorge Irey - 2012 Página 17
    • SOA – Fast Track________________________________________________________________________________Hacer el deploy del archivo esb-samples-1.0-SNAPSHOT.jar como un “ jar service”que viene dentro del ejemplo.Este .jar tiene dos clases POJO que se requieren exponer como servicio:  org.wso2.esb.samples.CreditService  org.wso2.esb.samples.PersonInfoServiceLuego, presionar el botón de “Next”© Jorge Irey - 2012 Página 18
    • SOA – Fast Track________________________________________________________________________________Y seleccionar las operaciones que expondrán los servicios:Presionar “Finish”© Jorge Irey - 2012 Página 19
    • SOA – Fast Track________________________________________________________________________________PASO 3: Registrar los servicios en el ESBEn la máquina con IP-1 ( donde corre el ESB ), detener el ESB para ejecutar los cambiossiguientes:Copiar el archivo personToCredit.xslthacia el directorio %CARBON_HOME% repositoryresourcesCopiar el archivo CreditProxy.wsdlhacia el directorio %CARBON_HOME% repositoryresourcesCopiar los directorios dentro del folder synapse-config a los respectivos folders de%CARBON_HOME% repositoryconf/synapse-config/defaultEl archivo CreditProxy.wsdl contiene la definición del servicio que el ESB publica a losclientes así como la ruta donde invocar a los servicios del AS. Se debe cambiar:  Donde dice “localhost” por IP-1  Donde dice 9446 cambiar por 9443 y donde dice 9766 cambiar por 9763.© Jorge Irey - 2012 Página 20
    • SOA – Fast Track________________________________________________________________________________PASO 4: Probar la orquestación de serviciosIngresar a la consola del ESB.En el listado que sale seleccionar “CreditProxy” y presionar “Try this service”Aparecerá una pantalla de prueba para el servicio web:© Jorge Irey - 2012 Página 21
    • SOA – Fast Track________________________________________________________________________________En el lado izquierdo están los parámetros de entrada para el WS y en el lado derechoaparecerá la respuesta.Colocar algunos valores en lugar de los signos de interrogación y presionar el botón“Send”:© Jorge Irey - 2012 Página 22
    • SOA – Fast Track________________________________________________________________________________Observar los logs del ESB y del AS.En este ejemplo, el response que arroja siempre será “true” ( crédito aprobado ) porqueasí está codificado dentro de la clase Java que maneja el servicio.© Jorge Irey - 2012 Página 23
    • SOA – Fast Track________________________________________________________________________________Ejemplo2: WSO2 ESB + AS + BPS 3En este ejemplo, agregaremos un proceso definido en BPEL para ser ejecutado dentro delWSO2 Business Process Server.El ejemplo se basa en un proceso BPEL llamado “FunctionProcess” queimplementa una función matemática que invoca a tres servicios web que corren en elApplication Server:1. AdderService ejecuta (x+y)2. MultiplierService ejecuta (x*y)3. SquareService eleva un valor al cuadrado.NOTA: Se asume que:  El ESB se ejecuta en una máquina con IP-1  El AS se ejecuta en una máquina con IP-2  Ambos procesos usan los puertos por defecto.3 Fuente: http://wso2.org/library/articles/writing-simple-ws-bpel-process-wso2-bps-apache-ode© Jorge Irey - 2012 Página 24
    • SOA – Fast Track________________________________________________________________________________PASO 1 : Instalar wso2bps-2.1.2Simplemente descomprimir el archivo zip en un directorio.En el directorio “bin” modificar el scriptSe están definiendo dos variables para la ejecución del script:JAVA _HOME indica la ruta de instalación del JDK de JavaCARBON_HOME es la ruta de instalación del BPSPASO 2: Registrar los servicios en el ASLa consola de administración del AS se carga en: https://IP-2:9443/carbonDonde IP-2 es la dirección IP donde está corriendo el AS.El usuario es “admin” y el password es “admin” por defecto.En el lado izquierdo, en la opción que dice “Add” – “Axis2 Service”© Jorge Irey - 2012 Página 25
    • SOA – Fast Track________________________________________________________________________________Cargar los 3 archivos .aar del ejemplo.© Jorge Irey - 2012 Página 26
    • SOA – Fast Track________________________________________________________________________________PASO 3: Registrar el proceso BPEL en el BPSLa consola de administración del BPS se carga en: https://IP-3:9443/carbonDonde IP-3 es la dirección IP donde está corriendo el BPS.El usuario es “admin” y el password es “admin” por defecto.En el lado izquierdo seleccionar “Add BPEL”En la pantalla que aparece, cargar el archivo .ZIP (FunctionProcess.zip)© Jorge Irey - 2012 Página 27
    • SOA – Fast Track________________________________________________________________________________Luego seleccionar en el lado izquierdo:Aparece la lista de procesos desplegados y el proceso que acabamos de instalar:Seleccionamos el proceso y se abre una ventana© Jorge Irey - 2012 Página 28
    • SOA – Fast Track________________________________________________________________________________Presionamos el link “Try it” para probar. Aparece una pantalla para ingresar los valores depruebaAl presionar el botón de “Send” en el lado derecho aparece el mensaje SOAP deresultados:© Jorge Irey - 2012 Página 29
    • SOA – Fast Track________________________________________________________________________________© Jorge Irey - 2012 Página 30
    • SOA – Fast Track________________________________________________________________________________Ejemplo 4: WSO2 BAMBAM es el monitoreo de las actividades de nuestra plataforma SOA.PASO 1 : Instalar wso2bams-1.3.2Simplemente descomprimir el archivo zip en un directorio.En el directorio “bin” modificar el scriptSe están definiendo dos variables para la ejecución del script:JAVA _HOME indica la ruta de instalación del JDK de JavaCARBON_HOME es la ruta de instalación del BPSPASO 2: Registrar los servicios a monitorearLa consola de administración del AS se carga en: https://IP-4:9443/carbonDonde IP-4 es la dirección IP donde está corriendo el AS.El usuario es “admin” y el password es “admin” por defecto.© Jorge Irey - 2012 Página 31
    • SOA – Fast Track________________________________________________________________________________En el lado izquierdo, seleccionar la opción “Configure” y luego “Monitored Servers”Luego presionar “Add Server” y registrar los datos indicados para cada servidor que serequiere monitorear:© Jorge Irey - 2012 Página 32
    • SOA – Fast Track________________________________________________________________________________Presionar “Add” para grabar.Luego en el lado izquierdo “Main” – “dashboard”Podemos monitorear los servicios:© Jorge Irey - 2012 Página 33
    • SOA – Fast Track________________________________________________________________________________© Jorge Irey - 2012 Página 34