API de comunicación

La API de Comunicación simplifica el proceso de interactuación con servicios Web y otras aplicaciones. Los objetos que crea mediante esta API automatizan el proceso de búsqueda de un transporte de red disponible, creación de una conexión segura para subprocesos y negociación de un intercambio de datos con el punto final del URI o la dirección URL que especifique. La API se implementa en el paquete net.rim.device.api.io.messaging.

Dentro de la API de comunicación, los puntos finales del URI y la dirección URL se denominan destinos. Puede utilizar objetos que implementen la interfaz de SenderDestination para enviar los datos a un servicio Web y acceder a la respuesta. De forma similar, puede utilizar objetos que implementen la interfaz de ReceiverDestination para suscribirse a un servicio push y ofrecer el acceso a mensajes nuevos de ese servicio. Debe utilizar la clase de DestinationFactory para crear un objeto que implemente una de las subinterfaces de Destination que mejor satisfaga sus requisitos.

Interfaz

Descripción

BlockingSenderDestination

Puede utilizar esta interfaz para enviar un mensaje a un servicio Web, pero este objeto bloquea la ejecución de subprocesos mientras espera una respuesta del servicio Web.

Alternativamente, BlockingSenderDestination puede devolver un objeto de MessageFuture. Esto permite la ejecución del subproceso para continuar hasta que invoque uno de los métodos de get() del MessageFuture.

Cuando invoca sendReceive() en BlockingSenderDestination para enviar un mensaje y espera una respuesta, no lo debe invocar desde el subproceso de evento principal.

NonBlockingSenderDestination

Puede utilizar esta interfaz para enviar un mensaje a un servicio web. En la lista de parámetros, pase su implementación de la interfaz de MessageListener para recibir la respuesta del servicio Web.

BlockingReceiverDestination

Puede utilizar esta interfaz para suscribirse a un servicio push y bloquear la ejecución de subprocesos hasta que reciba la confirmación de su solicitud de suscripción.

NonBlockingReceiverDestination

Puede utilizar esta interfaz para suscribirse a un servicio push. En la lista de parámetros, pase su implementación de MessageListener para recibir mensajes push.

FireAndForgetDestination

Puede utilizar esta interfaz para enviar los datos a un servicio Web cuando no espere una respuesta.

Los datos que envía a y recibe de un servicio Web se ajustan en un objeto de Message. Puede establecer los encabezados y el contenido de los datos que envía a un servicio Web en el objeto Message. Alternativamente, puede permitir que la API de comunicación elija valores predeterminados razonables para su solicitud. Por ejemplo, puede solicitar una página Web invocando SenderDestination.send() sin especificar un comando HTTP GET.

También puede indicar a la API que analice automáticamente los datos de la respuesta de un servicio Web. Si implementa la interfaz de MessageProcessor con su clase de analizador, puede suministrar su objeto analizador al método en DestinationFactory que crea su objeto de Destination. A continuación puede recuperar la respuesta analizada mediante Message.getObjectPayload().

Los paquetes de net.rim.device.api.io.parser contienen procesadores de mensajes para una gran variedad de formatos de datos estándar utilizados en el Internet. Los paquetes incluyen analizadores para:
  • JSON
  • RSS (RDF, Atom)
  • SOAP
  • XML

Para mejorar la eficiencia, la API de Comunicación ofrece respuestas largas desde servicios Web en un objeto de InputStream. Una aplicación puede solicitar datos adicionales según sea necesario en lugar de descargar una gran cantidad de datos de una sola vez y almacenarla en la memoria del dispositivo. Este enfoque le permite hacer un mejor uso tanto del banda de la red como de la memoria.


¿Le ha resultado útil esta información? Envíenos sus comentarios.