Otras herramientas y protocolos

Anuncio
OTRAS HERRAMIENTAS Y PROTOCOLOS
4. OTRAS HERRAMIENTAS Y PROTOCOLOS
En este apartado se verá software que no está directamente relacionado con la
orientación a servicios pero que han sido necesarios para la elaboración del proyecto.
4.1.
EL PROTOCOLO PAP
Este protocolo nos permitirá comunicar nuestro sistema con los BlackBerry
Enterprise Server (BES)16. El protocolo PAP contempla distintas operaciones, pero las
que interesan son las de presentar un ‘Push’ (Push Submission) y obtener una
notificación de resultado (Result Notification).
Push Submission
El objetivo de presentar un Push es el mandar un mensaje Push desde un
iniciador de Push a un Push Proxy Gateway (PPG). En el ámbito del proyecto el
iniciador del Push será el ESB y el BES hará las veces de PPG. El PPG, una vez recibido el
Push, deberá hacer llegar el mensaje al dispositivo móvil adecuado.
El mensaje Push tiene dos partes importantes: la de control y la de contenido.
Puede tener una parte de capacidades, pero no será usada en este proyecto por lo que
se obviará. La parte de control contiene información que le permite al PPG saber a qué
dispositivo debe mandar la parte de contenido.
La respuesta a este mensaje push mandado por el iniciador es un documento
XML, que indica si se ha rechazado el push o si por el contrario se ha aceptado y el
mensaje ha sido enviado al dispositivo móvil.
Se ven a continuación los formatos de ambos mensajes.
 Push
En la Figura A.4.1 se muestra el formato del mensaje. La parte superior es la
parte de control, mientras que la inferior es la parte de contenido.
16
http://es.blackberry.com/services/business/server/full/
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
31
OTRAS HERRAMIENTAS Y PROTOCOLOS
32
--asdlfkjiurwghasf
Content-Type: application/xml; charset=ISO-8859-1
<?xml version="1.0"?>
<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP 2.0//EN"
"http://www.wapforum.org/DTD/pap_2.0.dtd"
[<?wap-pap-ver supported-versions="2.0"?>]>
<pap>
<push-message push-id="?" ppg-notify-requested-to="?">
<address address-value="WAPPUSH={pin}%3A{puerto}/[email protected]"/>
<quality-of-service delivery-method="unconfirmed"/>
</push-message>
</pap>
--asdlfkjiurwghasf
Content-Type: ?
{Aquí viene el mensaje que se quiere enviar al dispositivo móvil}
--asdlfkjiurwghasf--
Figura A.4.1 - Formato Push
Si uno se fija en la parte de control, ve que hay un elemento ‘address’. En este
elemento se indica el pin del dispositivo y el puerto al que se quiere enviar el mensaje.
El elemento ‘push-message’ tiene dos atributos que merecen la pena comentar. El
primero es el ‘push-id’ que sirve como identificador único del Push, cuando el PPG
responda con relación a este Push usará el mismo identificador. El segundo, indica
dónde debe mandar el PPG la notificación del resultado del envío del Push (Result
Notification).
 Respuesta síncrona de la confirmación del envío
El formato de este mensaje se puede ver en la Figura A.4.2. El elemento clave
de este mensaje es el ‘response-result’ que tiene un atributo con un código que indica
si se envió el Push. En el caso de que no fuese enviado indica el motivo.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP 2.0//EN"
"http://www.wapforum.org/DTD/pap_2.0.dtd"
[<?wap-pap-ver supported-versions="2.0"?>]>
<pap product-name="?">
<push-response reply-time="?" sender-name="?" sender-address="?" push-id="?">
<response-result code="?"/>
</push-response>
</pap>
Figura A.4.2 - Formato respuesta síncrona de la confirmación del envío
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
OTRAS HERRAMIENTAS Y PROTOCOLOS
Result Notification
Con el mensaje de respuesta anterior se sabe que el mensaje ha sido enviado al
dispositivo destino. Pero se necesita saber si le ha llegado el mensaje al dispositivo.
Por ello cuando el PPG conoce el resultado del envío manda un mensaje al
iniciador del Push para comunicárselo. El formato puede verse en la Figura A.4.3.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP 2.0//EN"
"http://www.wapforum.org/DTD/pap_2.0.dtd"
[<?wap-pap-ver supported-versions="2.0"?>]>
<pap product-name="?">
<resultnotification-message code="?" message-state="?" event-time="?"
received-time="?" sender-name="?"
sender-address="?" push-id="?">
<address address-value="WAPPUSH={pin}%3A{puerto}/[email protected]"/>
<quality-of-service delivery-method="unconfirmed"/>
</resultnotification-message>
</pap>
Figura A.4.3 - Formato recepción asíncrona del resultado del envío
Con esto queda explicado lo básico del protocolo PAP, que es lo que se usará en
el proyecto. Ahora se pasará a dar una breve descripción de las herramientas de
desarrollo que se ha usado en el proyecto.
4.2.
HERRAMIENTAS DE DESARROLLO
En el proyecto se ha usado Eclipse 17 como IDE (Integrated Development
Environment), además de las herramientas SoapUI18 y WFetch19 con motivos de testeo.
Eclipse
Se ha usado Eclipse como entorno de desarrollo. El motivo del uso de este IDE
es que la empresa lo lleva usando ya muchos años, además de que posee un plug-in de
Maven que permite la elaboración de proyectos Maven de una forma sencilla.
17
http://www.eclipse.org/
http://www.soapui.org/
19
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b134a806-d50e-4664-8348da5c17129210
18
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
33
OTRAS HERRAMIENTAS Y PROTOCOLOS
SoapUI
SoapUI es una herramienta de testeo de servicios Web para arquitecturas
orientadas a servicio. SoapUI ofrece gran variedad de funcionalidades. Sin embargo, la
principal por la que se ha usado es que se pueden realizar a través de ella invocaciones
a servicios web para de esta manera comprobar el funcionamiento del sistema.
WFetch
Es también una herramienta de testeo. Esta se usará cuando se quieran probar
partes del sistema que requieran realizar peticiones HTTP, ya sean por el método POST
o por GET.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
34
Descargar