¿Por que hacer este blog en vez de hechar la hueva?


La intención de este blog es compartir con la comunidad algunos problemas con los que me he topado cuando me ha tocado realizar algún proyecto o alguna misión especial asi como la forma en que lo solucioné. Asi mismo me gustaría compartir la preferencia que tengo por el Metal y la música oscura y uno que otro tema que mis colaboradores(as) quieran aportar

miércoles, 26 de diciembre de 2007

METAL DAY EN YEBOTV.COM

YeboTV.com nos trae el proximo 28 de diciembre presentaciones en vivo de las siguientes bandas:

  • Haste the Day
  • Nightwish
  • Bleeding Through
  • Evergreen Terrace
  • In This Moment

Lo unico que tienen que hacer es registrarse en el sitio (de manera gratuita) y registrarse en el evento.

Click aqui

martes, 18 de diciembre de 2007

Apocalyptica en Mexico

Apocalyptica ha confirmado tres fechas en México para comenzar chingon el 2008, esperemos estar ahy tambien.

Datum Stadt Veranstaltungsort
04.02.2008 MEX - Monterrey Auditorio Coca Cola
05.02.2008 MEX - Mexiko City National Auditorium
06.02.2008 MEX - Guadalajara Teatro Diana

Informacion tomada de: http://www.apocalyptica.de/de_tourdates.html

martes, 11 de diciembre de 2007

La dos veces reina y la dama de negro

Hoy compré el especial de muy interesante sobre las cruzadas, aun no he leido todo pero tiene artículos muy chidos, sobre todo para los que nos interesan todo ese tipo de conflictos bélicos de la antigüedad. Altamente recomendable.

Entonces hoy decidí publicar un scan con un fragmento de un artículo de la revista.


OTERO Luis,"10 personajes principales" Especial Muy Interesante, Las Cruzadas No 6/07 p81

Dedicado para Montse.

domingo, 9 de diciembre de 2007

Nightwish en México?¿

Ayer recibí un correo de dilemma, la cual es la organización que se da a la tarea de organizar varios conciertos de nuestro querida música metalera. En el correo se mencionaban los eventos confirmados para el siguiente año.

Yngwie Malmsteen Dic 12 salón 21

WASP Enero 25 circo volador

Sonata arctica Marzo 6 circo volador

Epica 19 y 20 de Marzo circo volador

Nightwish 2 de mayo TBA

Lo que me llamó la atención fue que estaba listado para el 2 de mayo una fecha de Nightwish, por lo que me puse a indagar en las fechas publicadas en la página de la banda y en el myspace, sin lograr confirmar el dato debido a que no aparece listada.

Entonces pensé que si los de dilemma habían enviado la noticia por correo a la lista de suscriptores con ese dato es por algo, por lo que decidí enviarles un correo a estos muchachos pidiendo mas información.

Hoy por la mañana para mi sorpresa recibí un correo de respuesta con lo siguiente

Dice ahí (TBA) eso quiere decir por anunciar, esperamos qué para principios
de Enero lo anuncien ellos tambíen

saludos

Lo que aclaró mis dudas.

Así que esperaremos al siguiente año por la confirmación de la tocada de Nightwish, así como también poder estar ahí, aunque sigo prefiriendo al viejo Nighwish.

Tarja and Fucking BEER Foverer!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

sábado, 8 de diciembre de 2007

Invocacion de un EJB de sesion remoto desde un cliente en Geronimo 2.0

No hace mucho desde el momento de escribir esta entrada empezé a pelearme con los EJB's. Para esto el buen Gus me mostró como hacer una poderosa Calculadora que exponía un método remoto suma, el cual, después de ser montado en Weblogic Server 8.1, podía ser invocado en un cliente Java remoto mediante los stubs del EJB y el contexto inicial de Weblogic proporcionado por BEA.

Cuando quize repetir el experimento en Geronimo 2.0 para conocer la especificacion EJB3, segui un procedimiento semejante para montar un EJB Calculadora en éste application server.

Genere un proyecto EAR en eclipse y un EJB Module asociado al EAR

Posteriormente definí la interfaces remota y local que exponen el método suma

package test.ejb3;

import javax.ejb.Remote;

@Remote
public interface CalculadoraRemote {
int suma(int a,int b);
}



package test.ejb3;

import javax.ejb.Local;

@Local
public interface CalculadoraLocal {

int suma(int a,int b);
}




Escribí un POJO que definía la implementacion del metodo con las Anotaciones Java adecuadas para el EJB, en este caso @Stateless para indicar que es un EJB de sesion sin estado.

package test.ejb3;

import javax.ejb.Stateless;

@Stateless(name="Calculadora")
public class CalculadoraBean implements CalculadoraLocal,CalculadoraRemote{
@Override
public int suma(int a, int b) {
return a+b;
}
}

Una vez hecho esto simplemente generé el EAR con el EJB, el cual pude montar sin problemas sobre el Geronimo.

Lo siguiente era hacer un cliente Java para probar el EJB. Al igual que el cliente utilizado para el EJB sobre weblogic, lo primero es construir el contexto JNDI inical, pero en este caso tendría que hacerse con un contexto de Open EJB, el cual es el proveedor de servicios EJB utilizado por gerónimo.

Una vez obtenido el contexto JNDI lo siguiente era obtener una referencia remota de la interfaz del EJB mediante su nombre JNDI asociado al EJB, es aqui donde empezaron los problemas debido a que el manejo de nombre JNDI mostrados la documentación es un poco extraña. De hecho después de mucho buscar en google, hacer pruebas y decir muchas maldiciones llegué a lo siguiente.

Para obtener la referencia remota se especifica el nombre JNDI de la siguiente forma

archivo_EJBJar.jar/ejbName/fullQualifiedName_interfaceRemote

Donde archivo_EJBJar.jar Es el nombre del archivo de modulo EJB dentro del EAR (lo que se me hizo una mamada).

ejbName Es el nombre asociado al EJB, este se puede definir en la anotacion @Stateless con el atributo name, o bien en el archivo ejb-jar.xml y openejb-jar.xml para el caso de la especificación 2.0 y anteriores de EJB.

fullQualifiedName_interfaceRemote Que es el nombre de la interface remota, incluyendo los paquetes.

Con lo que el cliente Java quedó de la siguiente manera, utilizando una clase de prueba de JUnit 4.0.

package test.test.ejb3;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import java.util.Properties;

import javax.naming.InitialContext;
import javax.naming.NamingException;

import org.junit.Before;
import org.junit.Test;

import test.ejb3.CalculadoraRemote;

public class CalculadoraTest {
private InitialContext context;

@Before
public void setUp() throws Exception {
Properties properties = new Properties();
properties.put("java.naming.factory.initial",
"org.openejb.client.RemoteInitialContextFactory");
properties.put("java.naming.provider.url", "127.0.0.1:4201");
context = new InitialContext(properties);
}

@Test
public void testSuma() {
try {
Object calculadora = context.lookup(
"CalculadoraEJB3.jar/Calculadora/test.ejb3.CalculadoraRemote");
assertNotNull(calculadora);
assertTrue(calculadora instanceof CalculadoraRemote);
CalculadoraRemote calculadoraRemote = (CalculadoraRemote) calculadora;
assertEquals(5, calculadoraRemote.suma(2, 3));
} catch (NamingException e) {
e.printStackTrace();
fail(e.getMessage());
}
}
}

Algo curioso que me pasó es que cuando intenté realizar esto sin incluir al módulo EJB dentro del EAR, el formato del nombre anteriormente señalado no funcionó, quizá por que se requiera un formato diferente para el nombre JNDI, el dato no lo he encontrado, pero al menos será posible invocar al EJB remotamente con el procedimiento anterior.

viernes, 7 de diciembre de 2007

Bienvenida

Que tranza gente:

Pues bien, yo soy Ricardo y pues de lo que les puedo decir es que soy solo un simple mortal que sabe un poco de computadoras y que le gusta la música metalera (BLACK FUCKIN METAL!!!!!!!! 1) y oscura en general.

Les puedo decir que tenía la idea ya de crear un blog, pero hasta ahora me animé a hacerlo. Mi idea es compartir las pocas o muchas experiencias que he tenido cuando me he visto involucrado en desarrollar algún proyecto, ya sea para las materias de la escuela o para las misiones que me encargan del trabajo.

De los temas de computación a los que me enfocaré que tengo en la mente en este momento son:

  • Programación en Java
  • Bases de datos (DB2, PostgreSQL)
  • IDOL de Autonomy
  • Weblogic Server y Aqualogic Service Bus
  • Apache Geronimo
  • etc


Por otro lado me gustaría incluir información de interés general, por lo que he invitado a algunas amistades a colaborar en esta idea.

Espero salga algo provechoso de todo esto

Ricardo

Que la chela sea
In blood we lust
In beer we lust
More Fuckin metal and more fuckin beer



1 Frase tomada de: http://www.xibalbaitzaes.com/