lunes, octubre 31, 2016

Eclipse Class Decompiler

El mejor decompilador de java para eclipse!

Update site del jdecompiler:
Plugin Update Site: http://opensource.cpupk.com/decompiler/update

martes, octubre 25, 2016

Gráfica Base de EDN con wildfly 9

La última implementación realizada de la gráfica base de EDN ha sido en woldfly 9, el cual soporta la versión 2.2.2 y no es necesario actualizar ningún modulo, las versiones utilizadas son:
JSF 2.2.2 (nativo o puro)
Bootstrap 3.3.0
wildfly-9.0.2.Final

Se tulizaron algunos tag libs extras para dar soporte a HTML 5:
<html lang="es" xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:corejsf="http://corejsf.com"
xmlns:jsf="http://xmlns.jcp.org/jsf"
xmlns:ph="http://xmlns.jcp.org/jsf/passthrough">


Encriptar password de datasource en wildfly 9

Tengo la necesidad de encriptar el password de mi data source para wildfly-9.0.2.Final.
El post que mas me ayudo fue uno de stackoverflow pero no pude echar a andar la línea de comando:


java -cp $JBOSS_HOME/modules/org/picketbox/main/picketbox-4.0.6..jar:$JBOSS_HOME/modules/org/jboss/logging/main/jboss-logging-3.1.0..jar:$CLASSPATH org.picketbox.datasource.security.SecureIdentityLoginModule password


Así que hice una clase:

package com.tattva;

import org.picketbox.datasource.security.SecureIdentityLoginModule;

public class Password {
public static void main(String[] args) {
String[] data = new String[] { "palabra_Secreta" };
try {
SecureIdentityLoginModule.main(data);
SecureIdentityLoginModule clazz = new SecureIdentityLoginModule();
clazz.main(args);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Se tiene que agregar al classpath del proyecto la clase indicada en la línea de comando en mi caso:
%WILDFLY_9_HOME%/modules/system/layers/base/org/picketbox/main/picketbox-4.9.2.Final

Lo ejecuto dentro de eclipse como clase Java para obtener el siguiente:
Encoded password: -46df1f56015bcb73ad62074ab533e115

Posteriormente di de alta en el standalone.xml el dominio de seguridad:

<security-domain name="EncryptedPasswordEval" >
                    <authentication>
                        <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
                            <module-option name="username" value="usuarioBD-desa"/>
                            <module-option name="password" value="-46df1f56015bcb73ad62074ab533e115"/>
                        </login-module>
</authentication>
                </security-domain>

Y dentro del datasource:
<datasource jta="true" jndi-name="java:jboss/proyectoDS" pool-name="evaluacionesDS" enabled="true" use-java-context="true" use-ccm="false">
<connection-url>jdbc:postgresql://127.0.0.1:5432/desarrollo</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<driver>postgresql</driver>
<pool>
<min-pool-size>2</min-pool-size>
<max-pool-size>20</max-pool-size>
</pool>
<security>
<security-domain>EncryptedPasswordEval</security-domain>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<background-validation-millis>1</background-validation-millis>
</validation>
<statement>
<prepared-statement-cache-size>0</prepared-statement-cache-size>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>

Jboss EA 7.1 y JSF 2.2.2 para Gráfica Base de EDN

En meses pasados participé en el desarrollo de una aplicación web que cubriera con la gráfica base de Estrategia Digital Nacinal (EDN) para generar el portal único de servicios, estos prroyectos se montaron en web logic server, pero ahora estamos implementando otra solución con la necesidad de ser totalmente open source, pero hemos decidido usar la misma arquitectura para el front-end:
JSF 2.2.2 (nativo o puro)
Bootstrap 3.3.0
Para cumplir con el lineamiento de open source hemos decidido utilizar jboss EA 7.1 (jboss-as-7.1.1.Final), pero dicha versión contiene la versión 2.1.7, así que se tuvo que cambiar la configuración de los modulos a la versión 2.2.2:
\jboss-as-7.1.1.Final\modules\com\sun\jsf-impl\main\module.xml
\jboss-as-7.1.1.Final\modules\javax\faces\api\main\module.xml
\jboss-as-7.1.1.Final\modules\javax\servlet\api\main\module.xml