Showing posts with label SOA. Show all posts
Showing posts with label SOA. Show all posts

23 July 2014

WSO2 Creando Data Services de un esquema Oracle

En este post podremos ver como publicar datos maestros de tablas Oracle como "Data Services" utlizando WSO2.

Antes de crear el servicio de datos primero se creará un Data Source en el servidor.


Después de introducir los datos de conexión a la base de datos (propiedades JDBC) se debe probar la conexión.

En la imagen anterior se puede ver como hay un error al probar el DS, observando la consola del servidor se puede ver como hay un ClassNotFoundException, esto se debe a que debemos poner en el servidor el driver de conexión a la base de datos Oracle como se puede ver en la siguiente imagen (hay que reiniciar después de hacer esta operación).

Bien, ahora volvemos a probar la conexión y deberiamos tener un ok, como se puede observar en la siguiente imagen.


Una vez que el Data Source se ha creado correctamente, se procede a generar el Data Service.


Después de elegir el Data Source a utilizar, se elige el esquema del cual se quieren publicar los datos.

Luego de elegir el esquema hay que elegir que tablas de los datos maestros queremos publicar para poderlos utilizar en nuestros "building blocks".

Elegida la información a publicar, hay que elegir como hacerlo, en este caso he marcado que cree un servicio por tabla.
Una vez finalizado el asistente, se puede observar que aparece un servicio por cada tabla, según se  elegio, y por cada servicio tenemos una serie de opciones, en este caso podemos acceder al WSDL de cada uno.

Ahora solo queda probar los servicios, para ello vamos a copiar la dirección del WSDL del servicio "COUNTRIES_DataService" y lo registramos en SOAPUI y ya podemos probarlo.


En caso de no tener SOAPUI el propio WSO2 nos da la posibilidad de probarlo desde una consola propia.

Como se puede ver en la siguiente imagen, uno de los métodos que se genera en servicio es el de poder consultar por PK los datos de una tabla.

- FIN -

26 April 2014

Instalando OEPE para crear proyectos OSB

Actualmente se pueden desarrollar servicios para OSB (Oracle Service Bus) utilizando OEPE (Oracle Enterprise Pack for Eclipse), pero este último por defecto no da la opción de crear proyectos para bus, por tanto hay que seguir el siguiente proceso de instalación:

  • Descargar  OEPE y OSB
  • Instalar OEPE
  • Instalar OSB


Descargar OEPE y OSB 
de la web de Oracle http://www.oracle.com/technetwork/middleware/service-bus/downloads/index.html


Instalar OEPE
Hay que lanzar el ejecutable descargado oepe-wls-indigo-installer-11.1.1.8.0.201110211138-10.3.6-win32.exe.
 Elegir la carpeta donde queremos instalar OEPE.
 Con la instalación típica es más que suficiente.




Instalar OSB
 En el "Directorio Raíz de Oracle Middleware" hay que especificar la carpeta donde hemos instalado OEPE.
 Elegimos instalación personalizada.
 Nos cersioramos que la opción "Oracle Service Bus IDE" este marcada.




Inicio de OEPE

Una vez iniciado OEPE ya se disponen de las opciones de crear proyectos propios de OSB.




- FIN -

27 September 2011

Como instalar FuseIDE

Descargar Eclipse Helios SR2 (Importante que sea Eclipse IDE for Java Developers - 64 bits)
O
Descargar Eclipse Helios SR2 (Importante que sea Eclipse IDE for Java Developers - 32 bits)




Help->Install New Software -> Add -> http://repo.fusesource.com/ide/


Help->Install New Software -> Helios - http://download.eclipse.org/releases/helios
  • Actualizar "Modeling" y reiniciar.
  • Actualizar "SOA Development" (Desactivar Java Workflow Tooling) y reiniciar.
  • Actualizar "Web, XML, and Java EE Development" y reiniciar


Enlaces relacionados:

http://fusesource.com/products/fuse-ide/


- FIN -

03 April 2011

VERR_VMX_MSR_LOCKED_OR_DISABLED7 en Oracle VirtualBox 4.0.4

Intentando levantar la máquina virtual de oracle para SOA y BPM, me salió un mensaje muy feo que decía algo así como: VERR_VMX_MSR_LOCKED_OR_DISABLED7; es decir, que tendré yo, que todos los mensajes raros me salen a mí :-)


Bueno, sin extenderme en una explicación estrambótica, la solución pasa por desmarcar la aceleración hardware de la máquina virtual.


Enlaces relacionados:
Pre-built Virtual Machine for SOA Suite and BPM Suite 11g


- FIN -

18 December 2009

¿ Que es WSO2 Data Services ?

Un pequeño video introductorio proporcionado por la gente de WSO2, sobre lo que son sus Data Services.


Enlaces relacionados:
Que es un ESB

- FIN -

17 December 2009

¿ Que es WSO2 ESB ?

Un pequeño video proporcionado por la gente de WSO2, sobre lo que es un ESB.


Enlaces relacionados:
Que es un ESB

- FIN -

11 October 2009

Dynamic SOAP-WS LoadTest with SOAPUI & Groovy

La idea de este post es mostrar como realizar test de carga con datos dinámicos sobre Web Services SOAP, utilizando SoapUI y Groovy. Para este ejemplo se ha utilizado la aplicación de ejemplo "calculator" que trae consigo Netbeans.

Diagrama EPC - Líneas de proceso gestionadas por eventos

En la imagen superior se puede observar todo el proceso (vista global) a seguir ... pero previamente:
  1. Se ha de crear un proyecto en SOAPUI
  2. Se ga de registrar el WSDL del WS Calculator dentro del proyecto
  3. Se ha de crear una juego de pruebas(TestSuite) para el WSDL antes registrado
  4. Dentro del método add se ha de crear la siguiente estructura de pasos:
    1. Un elemento propiedades
    2. 3 scripts de groovy
    3. 1 request al método del ws (se crea por defecto)

Bien ahora solo nos queda modificar la request creada por defecto a fin de que pueda utilizar distintos datos en cada llamada y poner cuerpo a los scripts de Groovy.

Modificación de la request (petición SOAP)





Cargar datos iniciales
log.info( "SCRIPT CargaDatosIniciales" )
/////////////////////////////////////////////

def propiedades = testRunner.testCase.getTestStepByName( "Propiedades" );
def propIndex = propiedades.getProperty( "index" )
def propValores = propiedades.getProperty( "values" )

//se guarda como una cadena de texto, con los valores separados por un espacio en blanco
//se hace para luego poder hacer un split de la propiedad
def list = ""
for( i in 1..7 ){
list +=  i + " "
}
log.info( "Numero de elementos a consultar " + list.size() + "." )
log.info( list  )

propIndex.value = 0
propValores.value = list


Actualizar registro actual
log.info( "SCRIPT ActualizarRegistroActual" )
/////////////////////////////////////////////

def propiedades = testRunner.testCase.getTestStepByName( "Propiedades" );
def propIndex = propiedades.getProperty( "index" )
def propValores = propiedades.getProperty( "values" )
def propActual = propiedades.getProperty( "valorActual" )

def values = propValores.value.split()
def index = Integer.parseInt(propIndex.value)

log.info("valores : " + values)
log.info("Indice : " + index)
log.info("Valor : " + values[index] )

propActual.value = values[index];


Mover registro y comprobar
log.info( "SCRIPT MoverRegistroYcomprobar" )
/////////////////////////////////////////////

def propiedades = testRunner.testCase.getTestStepByName( "Propiedades" );
def propIndex = propiedades.getProperty( "index" )
def propValores = propiedades.getProperty( "values" )

def index = Integer.parseInt(propIndex.value) + 1
propIndex.value = index;

if(index < propValores.value.split().size()){
testRunner.gotoStepByName( "ActualizarRegistroActual" ) 
}

Finalmente nos queda probar en conjunto todo aquello que se ha creado.





- FIN -

27 July 2009

¿ Que es un ESB ?

En estos últimos tiempos las siglas ESB están siendo muy utilizadas, pero que es? qué utilidad tiene? que beneficios aporta?

Un ESB (Enterprise Service Bus) o Bus de servicios empresariales, es un software que actúa como intermediario, entre la comunicación de aplicaciones de diferentes sistemas. Es decir es un punto central donde se registran todos los servicios expuestos por todas las aplicaciones de un entorno empresarial (sin importar las plataformas que lo componen) y sobre el cual se puede construir aplicaciones que re-aprovechen todas estas funcionalidades.

Sus principales características o beneficios son:

  • Permite la construcción de aplicaciones y procesos de negocio débilmente acoplados, en base a unos servicios ya existentes; ya actúa como un proxy.


  • No requiere saber programar (Java, C#, PHP, ...) para exponer o componer servicios, normalmente se hace con asistentes. La codificación está en la parte de la creación de los servicios nuevos (excepto si son compuestos).


  • Conectar de manera uniforme diferentes plataformas, como por ejemplo SAP, Siebel, Alfresco, Documentum, Filenet


  • A partir de un mensaje de entrada se puede inspeccionar su contenido y llamar a un servicio u otro (enrutar) dependiendo de los valores que lleve dentro.


  • Transformación de mensajes y conversión de protocolos, convirtiendo mensajes de formato propietario, a un tipo común o estándart, o vice-versa, con la posibilidad de añadir o de quitar información.


  • Controlar las excepciones de todos los servicios de manera uniforme, independientemente del protocolo o plataforma, permitiendo transformarlas a un formato común para todas las aplicaciones de la organización.


  • Permite resolver dinámicamente los endpoints, siendo fácil cambiar, por ejemplo, de un entorno de pre-producción a producción de manera transparente para los clientes.


  • Al actuar como un Proxy de servicios nos permite auditarlos y generar trazas (BAM), para detectar por ejemplo los picos horarios o el tipo de información más consultada, o el servicio más utilizado, sus tiempos de respuesta ... en fin SLA.


  • Servicios de seguridad, proteger o desproteger servicios, a nivel de transporte o del propio servicio. Es decir si tuviéramos unos servicios en nuestra Intranet que quisiéramos hacerlos públicos pero que solo puedan acceder aquellos clientes que tengan nuestros certificados digitales, lo podríamos hacer sin necesidad de modificarlos.



En java existe la especificación Java Business Interface (JBI), con la JSR 208 para JBI 1.0 y la JSR 312 para la JBI 2.0; sobre las cuales se han construido una serie de ESBs, donde los mas conocidos son Servimix, OpenESB /Glassfish ESB y OSB (Oracle Service Bus) antiguamente conocido como Aqualogic Service Bus.


Enlaces relacionados:

Enterprise service bus (Inglés)
Java Business Integration (Castellano)
Descarga del libro Open Source ESBs in Action
Web de Servicemix
Web de OpenESB
Glassfish ESB
Caracteristicas de Open ESB
Web de Oracle Enterprise Service Bus
OSB en la Wikipedia
http://www.enterpriseintegrationpatterns.com/

- FIN -

17 April 2009

SOA - The Only Tool You'll Ever Need

Dicen que una imagen vale mas que mil palabras :-)




- FIN -