miércoles, 10 de julio de 2013

Agregar un nuevo datasource en JBoss

Datasource en Jboss 7.

JBoss 7 nos proporciona varias formas de crear un datasource, en esta sección vamos crear un datasource directamente modificando el archivo de configuración. Las otras formas de crear un nuevo datasource son a través de la consola o en el shell de administración.

Para hacer debemos de tener seguro que ya tenemos los requisitos.

Requisitos.

Vamos a requerir para esto.
  • JBoss EAP 6.1. Instalaado.
  • Driver del JDBC instalado como modulo, para este ejercicio vamos a utilizar Oracle 

Procedimiento.

  1. Edita el archvo de standalone.xml que se encuentra en la carpeta JBOSS_HOME\standalone\configuration
  2. Localiza el tag  dentro del mismo archivo, y agrega la definición del datasource de la siguiente forma, dentro de los tags .
jdbc:oracle:thin:@servidor:puerto:esquema
oracle.jdbc.OracleDriver
ojdbc6.jar
usuario
contraseña
false
false
false

Configura los parámetros que de conexión para el caso de Oracle debes de tener a la mano
  • servidor.
  • puerto.
  • esquema.
  • usuario.
  • contraseña.

  • Escribe el jndi-name, y sustitúyelo en el atributo jndi-name del datasource tag.
  • Reinicia el JBoss.

  • Referencias.

    martes, 28 de agosto de 2012

    Situacion actual de los portales

    Los puntos que vamos a esta evaluando para verificar que es lo que nos falta para implementar una campaña de eMarketing, son los siguientes:

    ¿Que tipo de producto vendemos y por que canal?

    La respuesta es como nuestros productos requieren de algunas validaciones que no podemos dejar a una maquina, no se pueden vender ciertos productos en linea.

    ¿Cuanto podemos tener como una ventaja competitiva sustentable?
    Sin embargo el uso de internet como un medio de comunicación masiva no es una ventaja competivita en si, por lo tanto, o al menos no la he identificado aun.

    ¿Que complementos son los que necesitamos para tener establecer esa estrategia?
    Cuando hablamos de complementos me refiero a si tenemos todos los requerimientos, tanto de hardware, como de software para levantar.
    Sin embargo, para ello debimos de haber establecido la estrategia....y esa aun no la tenemos.

    ¿De nuestros complementos que vamos a poder enviar a outsourcing?

    Si agregamos un nuevo canal de distribución
    ¿Que vamos a vender? Para ello necesitamos identificar cuales son criterios para emitir un producto y adicionalmente como se van a validar esos criterios.

    ¿Tenemos la capacidad operacional para sustentar un negocio por internet? Por un momento pensemos que nuestros productos se pueden vender por internet, y se venden por el canal. Dada esta suposición ¿Cual sería el proceso para la emisión de las pólizas, la reclamación de las mismas, y las aclaraciones? ¿Cuantas pólizas se van a poder vender por el mismo?

    ¿Que ventajas competitivas nos va a dar con respecto a nuetra principal competencia?
    Internet por si solo no es una ventaja competitiva, sino que es un complemeno a otras formas tradicionales de competencia.
    Tal vez una respuesta sea, que queremos proporcionar a la nuestros clientes información relevante de los seguros que tenemos disponibles de forma segmentada. ¿Cual va a ser el clasificativo de la información? y ¿Como decidir si existen si el segmento a le interesa el cierto grado el producto B?

    Diferencias en el proceso de desarrollo

    Si alguno de ustedes se ha preguntado en que momento el desarrollo de software deja de convertirse en un proyecto y se convierte en una operación seguramente ya han tenido alguna experiencia en la generación de proyectos y de productividad.

    La visión de realizar productos, a diferencia realizar proyectos da ventajas a las empresas. Constantemente me he estado preguntando si tendremos que seguir desarrollando software si no somos una empresa de software y como va a sobrevivir
    Para completar la visión de un producto podemos tener uno o varios proyectos. No todas las empresas tienen esta visión. En mi experiencia he estado en empresas de desarrollo de software que estan sumamente Proyectizadas, termina un proyecto y comienza otro, esta forma de trabajo va a comenzar a estar desuso, sencillamente porque las empresas que realizan software de forma industrial estan mucho mejor preparadas para generar un producto que pueda personalizarse, y solo entregarlo como una caja. Entonces donde va a quedar las pequeñas empresas de desarrollo de software. Para sobrevivir van a tener que tener una superespecialización.

    Unit Test


    El comenzar siempre ha sido una tarea complicada si es que no sabes a donde llegar. Por lo mismo comenzaré a pensar en el fin “Cuando genero pruebas unitarias estoy buscando generar pequeños programas que se me van a ayudar a verificar que el OTRO código realice lo que espero, y solo lo que espero”.
    Esto mismo lo puedo lograr de varias formas
    • Pruebas de escritorio.
    • Pequeños programas Ad-Hoc.
    • Framework de pruebas unitarias.
    Detallaré aún más mi requerimiento que las opciones se vayan reduciendo. generar pequeños programas que se me van a ayudar a verificar que la parte del código que estoy realizando haga lo que espero que realice y que además ¿este documentado el procedimiento de generación de las pruebas este suficientemente documentado para que lo puedan utilizar otras? ¿Qué siempre sea de una forma uniforme? ¿Qué me ayude a hacer más rápido? ¿Qué tan rápido? ¿Qué me facilite la documentación de mi código al proporcionar ejemplos de la forma de uso? ¿Qué me ayude a medir la cantidad de errores inducidos en el sistema cuando hay una modificación? ¿En cuánto tiempo espero resolver mi requerimiento? ¿Qué sea barato? Y que lo puedan utilizar 200 programadores que tenemos.
    Si creo que con esa definición ya deje fuera las pruebas de escritorio y los pequeños programas Ad-Hoc, tal vez algún necio quiera seguir utilizándolos pero el tiempo me dará la razón espero. Sin embargo aún esta definición no es suficiente porque tengo varios sabores de frameworks para la realización de las pruebas unitarias, por lo tanto, pediré que la solución cumpla con algunas características de calidad. Las características de calidad del requerimiento son las propiedades que nos va a ayudar a identificar cual es la solución más apropiada del mismo. Sin embargo, las características de calidad no son cuantificables, por eso son cualitativas. Luego nuevamente debo de enunciar nuevamente mi requerimiento, espero que la tercera sea la vencida quiero generar pequeños programas que se me van a ayudar a:
    1. verificar que la parte del código que estoy construyendo haga lo que espero que realice y que además,
    2. Debo de hacerlo con un número limitado de clases máximo 10 (que sea uniforme) y
    3. que los genere en 10 minutos como máximo cada uno.
    4. Que cada clase este documentada y cada método también.
    5. Que la documentación esté disponible en el ambiente de desarrollo o por html en el código.
    6. Que cuente con una guía rápida para comenzar a usarlo.
    7. Que realice las pruebas de forma automática.
    8. Que tenga herramientas para reportar los errores encontrados.
    9. Que el precio no exceda los 2000 dlls. El precio fue arbitrario, pero 2000 dlls no es mucho si ahorramos 500,000 pesos en un 6 meses, ¿no?.
    Bueno creo que ahora si quedo más mejor mi requerimiento…y solo me llevo 3 días especificarlo, es que ya lo traía muy masticado….el tema.
    Bien pues como ya se lo que quiero….solo hay algo que aún me causa un poco de cosquilleo bajo la nariz, y es ¿de todos estos atributos de calidad cual es el que más peso tiene?
    Otra vez voy a hacer uso de mi intuición y lo seleccionaré con ella.
    1. El criterio que más peso va a tener es el precio (característica 9 de mi requerimiento), porque no sé si me van a autorizar este proyecto y además tendría que justificar el costo etc., etc. Si definitivamente la cuestión de los dineros siempre es la más delicada. Digamos que tiene el 40% de peso sobre mi decisión y los valores que puede tener son:
    1. No requiere de inversión, en este caso se llevará la mejor nota y es 3.
    2. Requiere de una inversión moderada (hasta 500dlls). Entonces tendrá una calificación de
    • Requiere de una inversión considerable (más de 500dlls), en cuyo caso su calificación será de 1.
    • El segundo criterio que voy a elegir es la rapidez de la implementación (características 4, 5 y 6), y para ello voy a decidir que tiene un 30% de peso sobre mi decisión y los valores que puede tener son los siguientes:
    • Si cumple con las 3 características, la calificación es 3.
    • Si cumple solo con 2 características la calificación es 2.
    • Si cumple con 1 características la calificación es 1.
    3. El tercer criterio también tiene que ver con la rapidez con la implementemos pero también con la curva de aprendizaje de los programadores y es el número de clases que debo de aprender a usar para utilizarlo (característica 2), a este criterio le voy a poner el 20% de peso sobre mi decisión. Los valores posibles para esta decisión son los siguientes:
    • Si tiene menos de 5 clases el framework para de uso común. La calificación es 3.
    • Si tiene más de 5 y menos de 10. La calificación es de 2.
    • Si tiene más de 10 entonces la calificación es de 1.
    • El último criterio es la integración con VS 2010 es de 10%, porque lo importante son las pruebas unitarias y no tanto que se vean chulas.
    1. Si tiene integración la calificación que le otorgaría sería 3.
    o Si para tener integración requiere de otros componentes no incluidos en el framework su calificación es de 2.
    o Si no tiene integración y tienen que ejecutarse fuera del ambiente necesariamente, la calificación que le otorgaría sería 1.
    Creo que ahora si ya están las reglas del juego sobre la mesa, y solo falta traer a los jueces y a los contrincantes.
    Les presento los jueces.
    · Amando “Metodologo” Resendez
    · Raul “El autenticado” Hau
    · Julio “justo” Ramirez
    · Adrian “compañero y amigo” Ledesma
    · Y un servidor, “el narrador”
    Presentemos ahora a los contrincantes:
    · MSTest. Es el framework propuesto que viene en el paquete de Visual Studio 2010, el framework se encuentra implementado en el ensamblado de Microsoft.VisualStudio.TestTools.UnitTesting.
    · NUnit. Como en la mayoría de los proyecto de opensource NUnit es una bifurcación de JUnit, para la realización de pruebas unitarias, este proyecto aprovecho todo el conocimiento adquirido de JUnit y solo migro las clases ahora en .Net. se distribuye bajo licencia GNU.
    · xUnit.net is a developer testing framework, built to support Test Driven Development, with a design goal of extreme simplicity and alignment with framework features. It is compatible with .NET Framework 2.0 and later, and offers several runners: console, GUI, MSBuild, and Visual Studio integration via TestDriven.net, CodeRush Test Runner and Resharper. It also offers test project integration for ASP.NET MVC.
    Y comencemos la partida.
    Para evaluar pasos para evaluar
    · MSTest.
    o Requerimientos:
    § Visual Studio 2010 a partir de la versión Ultimate/Premium.
    o Procedimiento
    § Sigue los hands on lab están en la siguiente liga.
    ·
    · xUnit.
    o Requerimientos
    § For Use
    · Microsoft .NET 2.0 or later
    § For Development
    · Visual Studio 2008
    · Sandcastle (May 2008)
    · Sandcastle Help File Builder
    o Código y binarios
    § xUnit Framework. http://xunit.codeplex.com/#.
    o Procedimiento
    § Sigue los hands on lab que están en la siguiente liga.
    · NUnit.
    o Requerimientos
    § Framework 2 o superior.
    § NUnit.
    o Procedimiento
    § Sigue los ejercicios del Getting Start
    Solo me queda anexarles la forma de evaluación. Ojo si cambian las condiciones (criterios) deberíamos de tomar una decisión o recomendación distinta.

    sábado, 5 de noviembre de 2011

    El siguiente paso

    El computo en la nube y los dispositivos móviles son una realidad, cualquiera puede exponer sus aplicaciones y ser consumidas desde la nube. El siguiente paso...Las redes sociales estan generando una cantidad de información extraordinaria ¿como podremos conocer mas acerca de los comportamientos, necesidades y deseos de las personas? ¿Nos servirán las herramientas que tenemos? Hay que empezar ahora a trabajar e investigar acerca de como lo vamos a explorar? ¿Cuales son las implicaciones legales esto?

    Trabajando con Visual Basic 6

    Ultimamente he estado nuevamente trabajando con Visual Basic 6 y Crystal Reports 8. Debo de mencionar que Visual Basic 6 aparecio aproximandamente hace mas de 10 años fue la ultima generación de software antes de que microsoft decidiera lanzar el .NET framework (en 2002 aunque esta versión no tuvo mucho impacto)......, redescubri nuevamente que no existe mejor tecnología que la resuelve el problema, podríamos seguir viviendo sin tener telefonos celulares, televisión, computadoras etc. luego entonces porque esta carrera continua acerca de tener el telefono más nuevo, la ultima versión del juego, el auto del año.

    Un tema de administración de la tecnología ¿Cuando es momento de cambiarla y cuando no?....que situación tan interesante.

    domingo, 6 de junio de 2010

    Cuales son las habilidades necesarias para un arquitecto.

    Definamos primero las funciones de un arquitecto. Desde mi punto de vista un arquitecto debe buscar la calidad del software como principal objetivo, por lo tanto, si medimos la calidad del software creado para evaluar si una persona tiene las habilidades necesarias para considerarlo un arquitecto.
    El
    Tenemos que establecer metricas sobre los siguientes puntos.
    Complejidad.
    Flexibilidad. Esta metrica es complicada de establecer, sin embargo, debe de analizarse con respecto a la visión del producto.
    Baja cohesión.
    Mantenimiento. Mantener el código facil de mantener. Sugiero las metricas siguientes Analisis de Estandares y Complejidad ciclomática.
    Valor del negocio.
    Impacto en el negocio.
    Innovacion.

    Tambien debe de tener otras competencias como
    Comunicación
    Liderazgo
    Conocimiento del negocio

    Por último seguramente debe de tener una buena idea de evangelización.

    jueves, 22 de abril de 2010

    Los sitios web como elementos de mercadotecnia

    Recientemente hemos tenido una serie de sesiones acerca como utilizar la mercadotecnia en los sitios web. Resulta interesante el modelo conceptual y resulta mas interesante investigar cuales son las herramientas que nos pueden ayudar a implementar este modelo, por supuesto esta de mas decir que esta implementación necesariamente tendrá que seguir un método.
    Como siempre una vez que sabes hacia donde vamos y que tenemos la ruta trazada, lo siguiente es caminarla.
    Ahora por fin siento que estamos trazando la ruta.

    Comenzando a trazar la ruta.
    Situación actual de los portales de Seguros (puede ser cualquier compañia)
    1. Identificar en que nivel del modelo nos encontramos.
    2. Identificar en que nivel del modelo nos queremos encontrar.

    Estos son los dos puntos que voy a desarrollar en esta semana.

    miércoles, 17 de junio de 2009

    Retroceso

    Por una parte la metodologia de sistema nos ayuda homogenizar el trabajo, tambien a tener parametros de medicion de algo que sigue siendo artesanal como es la creación de software. Por otra parte la exigencia de la productividad convierte el metodo en una carga, es en ese punto donde las metodologias agiles de desarrollo de software pueden contribuir nivelar ambos aspectos.
    Bien, en los siguientes dias voy a comenzar por describir acerca de la implementación del modelo de CMM, otros metodos como PMM, y algunas metodologías como RUP, SCRUM, XP, MOPROSOFT. Mi pretensión es identificar los criterios que debo de tener para implementar una hibrido de estas metodologías. Entre las preguntas que deseo contestar son las siguientes.
    ¿Que se necesita para implementar un metodo de trabajo?
    ¿Como se van a medir los resultados?
    ¿Cuando se van a dar esos resultados?

    Bueno....nos vemos mañana para continuar.

    Retroceso

    Por una parte la metodologia de sistema nos ayuda homogenizar el trabajo, tambien a tener parametros de medicion de algo que sigue siendo artesanal como es la creación de software. Por otra parte la exigencia de la productividad convierte el metodo en una carga, es en ese punto donde las metodologias agiles de desarrollo de software pueden contribuir nivelar ambos aspectos.
    Bien, en los siguientes dias voy a comenzar por describir acerca de la implementación del modelo de CMM, otros metodos como PMM, y algunas metodologías como RUP, SCRUM, XP, MOPROSOFT. Mi pretensión es identificar los criterios que debo de tener para implementar una hibrido de estas metodologías. Entre las preguntas que deseo contestar son las siguientes.
    ¿Que se necesita para implementar un metodo de trabajo?
    ¿Como se van a medir los resultados?
    ¿Cuando se van a dar esos resultados?

    Bueno....nos vemos mañana para continuar.

    jueves, 21 de mayo de 2009

    El sorprendente internet

    No cabe duda que internet ha revolucionado la comunicación entre las personas, me sorprendio hoy leer la noticia acerca de un blog de una abuela de 90 años (http://amis95.blogspot.com/2008/02/zp.html), me puse a leer algunas de las notas que escribio y de la alegria que le causo el poder comunicarse con gente de otras nacionalidades, de hecho creo que lo mas importante es como dice la cancion de lanzar una botella al mar esperando que alguien la encuentre y pueda ser regresada por otro naufrago mas.
    La tecnología acerca a las personas definitivamente.