domingo, octubre 14, 2007

Java ME... HTTPS.... XML.... POST

Hoy me pidieron algo especial... se supone que debia conectar una aplicacion en HTTPS que recibia los parametros por medio de un POST en XML atravez de una interfaz Java ME.. esa cosa para celulares y Palms...

A mi siempre me ha latido intentantar hacer cosas nuevas... asi que me puse manos a la obra y empeze a desarrollar con el poderoso NetBeans... obvio... a manita... por que el VisualMidlet.. siempre me bloquea ciertas partes de codigo que quiero modificar... y eso de borrar los bloqueos.. da flojera...

Lo primero que me causo problema... fue con el certificado HTTPS.... por que los dispositivos mobiles.. no lo tienen asi que lo marcan como invalido... solo las plataformas de java mas recientes.. ya lo traen como valido.. asi que.. no se como volver ese certificado valido... o como saltarme esa excepcion... en fin.. si alguien sabe como.. me avisa... recuerden que es con JavaME.. ahi no hay TrustManager...

Asi que decidi hacer un puente con una aplicacion JSP... para que esta se conectara al servidor... al jefe no le agrado mucho la idea... pero al nadie dar una mejor solucion... tuvimos que implementarla.. y sumar costos al programa..

Todo iba bien.. excepto por que no tenia ni la menor idea de como leer un XML.... me creeran que lo intente hacer con puros substring?? toy loko.... en fin... ya investigue un poquito.. y descubri javax.xml.parsers... una fregadera que decodifca los documentos XML a un sistema de noditos.. ( un nodito es como el pedazo de tu arbol genealogico.. papa.. mama.. hijo... cada uno tiene hijos.. y padres.. ) en fin... pondre un ejemplo por si algun loko como yo anda investigando estas cosas raras..

public String[] categorias(String s) throws Exception{
javax.xml.parsers.DocumentBuilderFactory builder ;
javax.xml.parsers.DocumentBuilder doc ;
org.w3c.dom.Document d;

builder = javax.xml.parsers.DocumentBuilderFactory.newInstance();
doc = builder.newDocumentBuilder();
d = doc.parse(xmlPOSTIS(s));
java.util.LinkedList cat = new java.util.LinkedList();
org.w3c.dom.NodeList lista = d.getElementsByTagName("cardSKU");
for (int i=0;i
String aux =
lista.item(i).getAttributes().getNamedItem("category").getNodeValue();

if (!cat.contains(aux)) {
cat.add(aux);
}
}
String aux[] = new String[cat.size()];
for (int i=0;i
aux[i] = (String)cat.get(i);
}
return aux;
}


La magia empieza a partir de d.getElementsByTag(""); .... todo lo demas son declaraciones... en esa sentencia se buscan los nodos del XML que se llamen como indicamos

Nos regresa NodeList... de ese ya lo recorremos para encontrar cada elemento con su propiedad item(), y a su vez este tiene atibutos que son id y correo... cada uno de estos nodos puede tener hijos.. que seria otra NodeList... y asi sucesivamente...

El valor de los argumentos del nodo se llama getnodeValue()... para id y name.. y para el valor del texto dentro de un nodo... se llama getTextContent()... bueno.. espero haber ayudado a alguien... y espero que alguien me diga que onda con los certificados del HTTPS en java ME

Ubuntu



Realmente no tengo nada en contra de Ubuntu.. la simple idea de hacer una distro de linux tan facil que cualquiera la pueda usar... ya se me hace grandiosa... lamentablemente... atrajo a uno que otro loco... que siente que por tener Linux instalado... ya es "super hacker"... dan mala fama Linux... o no?

Actualmente la gente adquiere linux... por los famosos manegadores de ventanas que usan motores AIGLX o XGL... si.. estoy hablando de Beryl.. y Compiz.. y la fusion de estos... no digo que no se vean geniales... y se la maten al vista.. al usar... menos de la mitad de los recursos de este con su "Aero".... pero... Linux es mas que eso señores... mucho mas!!!!... no solo es un "programa" (por que algunos hasta creen que es un programa que se instala en windows) que da efectos especiales... de un cubo!!!...

Y me van a decir.. y a ti en que te afecta
... manchan el nombre de Linux... o... no les ha pasado... siempre hay alguien que dice... "yo puedo robar contraseñas... " y le preguntan.. "wow.. y como lo haces?" ... "con Linux.. obvio.." jaja.. como si fuera asi bien facil... hay que aprender un rato algo de redes... usar bien nmap y nc... y mucha.... mucha practica... no es asi como asi... pero en fin... por ahi hay de ese tipo de gente... y aunque me moleste... supongo que son libres de hacer lo que se les venga en gana... de todos modos... algun dia se les caera su teatrito...

Por eso el angel del espejo... prefiere usar distribuciones "para hombres"... sin ofender a las mujeres.. como Debian...(el papa de Ubuntu) Slackware... o Gentoo... (Gentoo es la neta.. la verdad...) esas te demuestran realmente de que esta hecho linux... y todo su potencial... al tener que hacer la mayoria de cosas a manita.. esa practica... te permite aprender como realmente funciona Linux.. ( aunque dudo que alguien comprenda bien como funciona el kernel de linux... tan solo vi el codigo de Minix... otro Unix mas sencillo y me dio flojera...
Burla )... pero en fin... en resumidas cuentas.. les puedo decir a los guerreros bajo el signo de Ubuntu.. son un paso muy grande para la ravolucion del mundo... dejar windows..no es una cosa facil... sigan asi.. y difundan la palabra.. solo no se vuelvan... medio "lamers" que dan mala fama...

Inicio

Como puede un ángel ganarse la vida... si se supone que debe ayudar desinteresadamente?... eso mismo me preguntaba hace algunos años cuando me di cuenta de la realidad a donde habia venido a parar... ademas... no sabia hacer nada especial... realmente desconocia mucho de la cultura "humana".

Soy Danyel Darkcloud.. el ángel del espejo... a diferencia de los demas ángeles que puedes ver por ahi, yo no poseo una virtud en especifico.. si no que.. reflejo la virtud de las demas personas con las que estoy... y no solo eso.. si no que puedo copiar su forma de pensar... sus gustos.. sus disgustos...

A que vine al mundo... ? realmente lo he olvidado... veran... cuando recien llegue conoci a una chica que me encanto... me mostre como el reflejo de lo que ella mas deseaba.. pero.. al vivir como un reflejo de sus pensamientos... olvide los mios.. olvide mi escencia... desde entonces.. solo soy el reflejo de los deseos de la gente...

Pero la pregunta original aun no la respondo.. como un ángel puede ganarse la vida?.. por que dejenme decirles que aqui tenemos que buscar la forma de conseguir una vida.."humana" lo mas descente posible.. y como lograrlo... pues.. tuve que echar mano de lo que aprendi cuando fui el reflejo de los sueños de aquella chica... un creador de sistemas... computacionales...

Realmente.. esto de las computadoras tiene gran similitud con lo que hacemos los ángeles... pues ahora reflejo los deseos de la gente con ayuda de las computadoras.. ademas... mi habilidad espejo.. me permite ver programas hechos y replicarlos... e incluso hacerlos mejores.. como?? pues realmente es facil... no se necesita mas que preguntarle al ángel "Google", que casi siempre nos explica todo lo que necesitamos saber...

No se a donde ir... no se que debo hacer... pero se.. que si sigo aqui... es por que debo hacer algo importante... de eso se trata la vida no?... esta solo es una ventana hacia el mundo... para decirle... estoy aqui.. existo.. vivo.. soy feliz... y quiero ayudar... (por si no lo han notado la palabra ayudar se mencionara mucho en este blog)... soy Danyel Darkcloud... y esta es mi historia..