Este post he decidido detallarlo en español debido a que creo que es más útil para personas en México. Resulta que en un momento dado mi aplicación que corre en una BB tendría que conectarse a un servicio web que desarrollé con ASP.Net.
El meollo del asunto es que en un principio mi blackberry de pruebas la conectaba a mi wireless en casa sin problema alguno, la solicitud y respuesta del servicio web se hacía facilmente.
La cadena que usé para hacer dicha petición luce de la siguiente forma:

_propertyValues = new Object[] {“http://www.servicioweb.com/WebServicePrueba.asmx;deviceside=true;interface=wifi”};

Parte de la cadena arriba proporcionada es que se especifica que se usará una conexión directa usando la wifi configurada en la BlackBerry.
Posteriormente contraté un plan internet ilimitado 2 con Telcel y adquirí un nuevo equipo, uno de los objetivos que buscaba mi aplicación era que cuando se dispusiera de una conexión permanente, se hiciera uso de ella y no tener que configurar una wifi para poder hacer las peticiones al servicio web. Para lo anterior tuve que modificar la cadena de conexión y quedó:

_propertyValues = new Object[] {“http://www.servicioweb.com/WebServicePrueba.asmx;deviceside=true”};

En ella ya no se pone que la interfaz sea wifi, lo que le especificamos es que la conexión será vía TCP/IP de manera directa; cabe mencionar que la aplicación no funcionó inmediatamente, el error que obtenía era: “Tunnel Failed” que entiendo sale cuando no se tiene configurada correctamente la APN de la blackberry.
Vaya, que después de googlear un poco y encontrar pocas respuestas decidí irme al centro de Atención Telcel a solicitar ayuda, la verdad es que hicieron muy poco salvo darme un teléfono de asistencia directa a BlackBerry 01800-822-27-87 lada sin costo, es importante que cuando llames tengas listo a la mano tu PIN porque te lo solicitarán, la información que me dieron consistió en ingresar en Opciones/Opciones avanzadas/TCP IP la configuración del APN: internet.itelcel.com los datos de usuario y contraseña para APN no me los dieron, según ellos no eran necesarios. Posteriormente me pidieron que en la opción Libro de servicios eliminara todas las opciones que ahí tenía, mas tarde me dijeron que ellos activarian nuevamente dichos servicios así que mucho ojo si decides hacerlo por tu cuenta y no tienes respaldos. Por último me pidieron que retirará la batería y chip por 15 segundos, activara nuevamente el teléfono lo cuál hice y me llegó un correo de confirmación que los servicios de mi dispositivo móvil se había activado.

Después de realizar esto mi aplicación se ejecutó sin problemas.

Espero que esta información pueda servir a alguién.

Advertisements

The screen shots taken during the key registration were added to my dropbox account.
You can check the shot visiting this link.

Hope it can be helpful.

I did the registration process of the key signatures for blackberry, after filling the request form, three mails arrived to my inbox with the steps to follow in order to do the registration.
I have four screenshots that I took during the registration process, hope this information can be helpful for somebody that needs to do this.

The first step was to copy in the same path the three files sent by blackberry, I made click on one of them and a message indicating that the “private key cannot be found” , I click on Yes to create the keys and later I supplied
a password to sign the key. The password must be the same for the three files. I supplied the PIN that I use when
I filled the request form and that’s all.

The screenshots taken in this process will be posted in a different post.

#blackberry

The first application developed with java was tested in a Black Berry Bold, the applications was the famous hello world and
was coded with the eclipse IDE.

The code looks like:

/**
* HelloWorld.java
* Copyright (C) 2001-2004 Research In Motion Limited. All rights reserved.
*/

import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.system.*;

public class HelloWorld extends UiApplication {
public static void main(String[] args) {
HelloWorld theApp = new HelloWorld();
theApp.enterEventDispatcher();
}
public HelloWorld() {
pushScreen(new HelloWorldScreen());
}
}

final class HelloWorldScreen extends MainScreen {
public HelloWorldScreen() {
super();
LabelField title = new LabelField(“HelloWorld Sample”, LabelField.ELLIPSIS
| LabelField.USE_ALL_WIDTH);
setTitle(title);
add(new RichTextField(“Hello World!”));
}

public boolean onClose() {
Dialog.alert(“Goodbye!”);
System.exit(0);
return true;
}
}

After generating the ALX file with eclipse as I show in the next figure, I just copied the alx file to the blackberry device
by using the blackberry device manager.
ALX file

After that the application was running in the mobile device.
It seems pretty easy, let’s try with somenthing more difficult.

Sin lugar a dudas, el valor de negocio de un proyecto resulta ser sumamente primordial durante el desarrollo del mismo. En algunas ocasiones aunque raro, resulta ser que el cliente no es capaz de entender cual es ese valor de negocio que el proyecto puede aportar a su empresa. Como administrador de proyectos, he aprendido a guiar a los clientes a que encuentren ese valor de negocio que mas tarde se traduce en $$.

Para llevar a cabo lo anterior es importante priorizar los “items” de los cuales el sistema deberá disponer y por supuesto entender cuales de ellos agregan un mayor valor de negocio.

Trabajo por módulos o por características implementadas.

Si se trabaja usando Scrum, de lo que se trata es de entregar al cliente en cada Sprint,el ya mencionado “potentially shipable code”. ¿Que beneficios obtenemos de esto?:

1.- Si el cliente funge como revendedor podrá tener un minisistema funcionando de forma estable, el cual ya se puede comenzar a promocionar y por supuesto a vender.
Si el sistema será usado directamente por el cliente, este puede comenzar a probar de forma casi inmediata el sistema lo cual permite detectar bugs y su pronta corrección.

2.- No se entrega un sistema completo al inicio, pero sí un sistema modular en el cual la complejidad es priorizada y añadida al sistema gradualmente.

3.- El manejo de Sprints cortos permite obtener retroalimentación directa e inmediata de parte del cliente.

4.-Desde el punto de vista de las trincheras de los desarrolladores, es claro que el manejo de módulos permite tener un claro entendimiento de que es lo que requiere que haga el sistema en cada Sprint (metaphor) y del tiempo que se dispone para implementar dicho módulo.

La lista de ventajas es mas larga, menciono los que en mi experiencia he encontrado útiles, el objetivo es entender la importancia de implementar en cada Sprint código potencialmente vendible y por supuesto que estas notas puedan servir a alguién.