MockMe
 

Para el desarrollo de aplicaciones cliente-servidor donde el cliente está basado en J2ME es interesante
poder iniciar el desarrollo sin esperar a que los servicios de la capa de negocios estén implementados.
Pues normalmente el desarrollo de los objetos de negocios puede involucrar demoras en la disponibilidad de
servicios contra los cuales probar el cliente.

MockMe está pensado para aplicaciones cliente-servidor donde el intercambio este basado en XML. Y permite
probar el cliente sin necesidad de esperar a que la capa de servicios esté disponible o, lo que probablemente es más importante en aplicaciones complejas, a que dispongamos de datos para procesar.

Usando MockMe el proceso de desarrollo para aplicaciones cliente-servidor con comunicación basada en xml pasa por establecer los formatos de intercambio (entre el front-end y el back-end). Y una vez definidos estos xml y configurado MockMe ambas partes pueden comenzar a trabajar en paralelo e independientemente.

Instalación

Al ser un Servlet que emula un servidor que devuelve objetos xml, la instalación es sumamente sencilla. Se
trata simplemente de colocar el archivo MockMe.war en el directorio de despliegue (/webapps en Tomcat).
Al desplegarse generará la siguiente estructura:

WEB-INF/
XML/
operaciones.properties
config.properties

Para configurarlo basta con ubicar debajo del directorio XML/ los archivos .xml que deseamos que nos sirva.
Y luego editamos los archivos properties para adaptar la aplicación a nuestra necesidad.

operaciones.properties

El corazón de la aplicación es el archivo Operaciones.properties, que es de la forma:

[Codigo de operación] / [XML respuesta asociado].

Por ejemplo:

1 = xml1-1,xml1-2,xml1-3
2 = xml2-1
3 = xml5-1,xml5-2,xml5-3,xml5-4,xml5-5,xml5-6,xml5-7
4 = xml4-1,xml4-2
5 = xml3-1,xml3-2,xml3-3,xml3-4,xml3-5

Es decir, aqui se está definiendo por ejemplo, que MockMe debe devolver xml2-1.xml si el código de operación
que llega en la request como parametro es 2.
Como veremos más adelante cuando se desea variar la respuesta para un mismo código de operación se configura el parametro random en config.properties

Archivos xml


Los archivos xml que deseamos nos devuelva la aplicacion deben colocarse en el directorio XML/. Por una cuestion de orden se aconseja utilizar como nombre xml[operacion][numero de secuencia]. En rigor el servidor ignora el nombre a la hora de servirlo y solo lo elije en funcion de la posición que ocupa en la matriz de operaciones. Pero es importante poder tener alguna referencia que lo relacione con la operación a la que responde.

config.properties


En este archivo se establecen determinados parametros de configuración.


operacion = op


random = all | fixed

no-random = 1, 5, 7, n [1]

log = true [1]
 
Aqui vemos que el nombre del parámetro de operación que deberá buscarse en la request es op.
El parametro random puede asumir los valores all que significa que todas las operaciones deben
variar su respuesta. O fixed que implica que siempre devuelva el primer xml de la lista declarada
en operaciones.properties. Si se omite el parámetro random se asume all por defecto.
El parametro no-random esta relacionado con random, en el sentido de que si por ejemplo random = all. Los
valores de operacion declarados en no-random serán elegidos fijos (es decir el primero de cada operacion).
A la inversa si random=fixed, los valores que haya en no-random implicarán que para esos códigos de
operación se variará la respuesta.
El último parámetro, log, especifica que se desea llevar un log con las operaciones y las respuestas obtenidas.
El log tiene el siguiente formato:

[Día/Hora] – [parámetros recibidos en la request] – [respuesta]

[1] Estas funcionalidad aún no está disponible.
 
Consideraciones


Esta herramienta esta concebida para el desarrollo de clientes j2me, por cuanto al carecer esta API de serialización y introspección el intercambio de objetos puros suele ser menos frecuente que el intercambio de objetos XML. Aunque cabe señalar que el programador puede, si lo desea, crear un mecanismo propio de señalización.
En cualquier caso esta herramienta puede aplicarse también a desarrollos de capa de presentación j2se,  a condición, es claro, de que el intercambio entre capas esté basado en XML.
 

download the tool (war file)

download the Java doc

 

Contacto:

Por cualquier sugerencia pueden contactarnos escribiendo a:

MockMe Staff