Desarrollo WEB.


Las practicas de programación orientadas a la web son muy cambiantes en el tiempo. Es necesario conocer e implementar tecnologías, conocer lenguajes,integrar comunidades,usar Ides, etc, recientes, para responder al mercado que se acerca.

lunes, 5 de diciembre de 2011

JQUERY y Primeface

JQUERY es uno de los tantos framework`s visuales para aplicaciones web y mobiles echo en Javascript y CSS. 
Primefaces como ya sabemos es un conjunto de widgets para JSF. ahora podemos integrar JQUERY con primefaces con tan solo agregar una piel echa en jquery que se puede descargar desde la pagina de primeface.

Netbeans 7.x incorpora la integracion automatica de primeface a un proyecto web desde el momento que seleccionamos nuestro framework JSF para la aplicacion. En las versiones anteriores hay que ingresar la libreria al proyecto de forma manual. Ver mas informacion.
Una vez se ha descargado el tema se agrega como jar al proyecto en desarrollo.


Ahora solo hay que informar al servidor que nuestra aplicacion usa el jar como un contexto de la aplicacion, asi cuando se use un widget primeface JSF, este adquirira automaticamente el estilo del tema agregado.


y asi queda nuestra interfaz grafica una vez integrado JQUERY con primeface.


Aplicacion WEB JSF Multi-Idioma

Las aplicaciones java web, específicamente las desarrolladas bajo un framework JSF, nos proporciona de forma optima la configuración y creación de un archivo de idioma para cada país o región donde se ejecute nuestra aplicación. 


Es decir podremos configurar nuestra aplicación para que sea usada en otros países y en otro idioma sin la necesidad de acudir al código de las interfaces de la aplicación para realizar las modificaciones en cada etiqueta de texto.
Claro este beneficio nos obliga a ser meticulosos y organizados en el desarrollo.

Debemos Iniciar y encapsular cada valor de etiqueta en un parámetro de la aplicación, estos parámetros los almacenaremos en un archivo llamado Bundle.properties. que se ubicara en nuestro paquete de recursos .java

Archivo bundle.properties y su ubicacion (Click para ver la imagen original)
luego, para usarlo solo se invoca el nombre del archivo, siendo este su apuntador que invoca a una propiedad parametro:

implementación del archivo bundle.properties (Click para ver la imagen original)
Cuando hacemos el proceso de generación de código usando una herramienta como netbeans 8.x, el IDE nos prepara un archivo bundle.properties por defecto. Este se localiza en el directorio que muestran las imágenes anteriores, debemos hacer una copia de este archivo y realizar las diferentes traducciones.

Ahora configuramos nuestro archivo faces-config.xml para que la aplicación quede a la escucha del cliente.

Archivo bundle.properties y su ubicacion (Click para ver la imagen original)
 
Una mejor forma de configurar y de llenar nos ofrece el netbeans 8.x

Archivo bundle.properties y su ubicacion (Click para ver la imagen original)


Al usar netbeans 8.x podremos ir desde el archivo en uso donde se contiene la etiqueta traducida y dar CONTROL + Click sobre el codigo para ir directamente a la propiedad o el método en el caso de ser otro tipo de archivo como un controlador. 


Oracle ADF. Un nuevo framework java web

ADF es el mas reciente framework desarrollado por la sun de oracle en bien de la comunidad desarrollador de software bajo nuestro mas eficiente lenguaje  de desarrollo llamado JAVA.

ADF en sus siglas Oracle Application Development Framework se basa en la realizacion de aplicaciones software oriendas a la web o de escritorio con el mas minimo grado de codificacion digitada por un programador, con adf todo se realiza mediante programacion iconica o visual, adf contiene un complejo proceso de configuracion pero esto hace que el resultado de las aplicaciones software sean muy eficientes, agiles y robustas. 

El Ide para desarrollo de aplicaciones ADF conocido como jdeveloper es muy complejo y util, yo pensaria que esta muy por encima de uno de los desarrollos de sun conocidos como NetBeans. siempre he sido fans de netbeans pero cuando conoci a jdeveloper nada que hacer, hay es donde uno dice la evolucion es evolucion. me quede con jdeveloper. hasta me permite partir de modelamiento y llegar a generacion de fuentes y recursos.

Este proceso resulta muy familiar para aquellos que conocemos lo que es visual estudio y sus aplicaciones de escritorio, tambien para los que conocemos LabView uno de los IDE de desarrollo de simulaciones mas complejo hasta ahora.

Arquitectura de Oracle ADF (Marco de trabajo para el desarrollo de aplicaciones java web).

 

La arquitectura ADF de Oracle se extiende a los dispositivos móviles
Publicacion  en Desarrollo.

Experiencia con PHP

He sido esarrollador de java por casi 6 años, hace dos años conoci a c# y .net de microsoft y ahora, adquiero una nueva experiencia al programar con PHP (PHP Hypertext Pre-processor) (inicialmente PHP Tools, o, Personal Home Page Tools).

PHP es un lenguaje muy rapido en su ejecucion, sencillo en su programacion y lo mejor, hay mucho soporte(documentacion) en la red, pero lo mejor, que yo llamaria mejor, es que el servicio de hospedaje en la red para este tipo de aplicaciones es muy popular y presenta mucha demanda en el mercado global, a un costo muy por debajo de servidores como java o .net y con un muy buen soporte tecnico, es cuestion solamente de darle un poco de seguridad y arquitectura a las aplicaciones y listo, en muy poco tiempo se construyen elegantes y complejas estructuras de software.

Las tecnicas de desarrollo como MDD(Desarrollo dirigido por modelos) o una de sus extesiones el MDSD(Desarrollo de software dirigido por modelos), permiten que aprendamos a diseñar, desarrollar e implementar soluciones web independiente de plataformas y lenguajes de programacion, es mas estoy seguro que con el tiempo se presentara una gran infraestructura hibrida en la que sin duda en el caso un portal estaria compuesto por muchos portles de diferentes plataformas, servidores y lenguajes dando asi mucho poder la desarrollo y a la integracion de servicios web. Entre mas idiomas o lenguajes conozcamos mucho mejor sera para nuestras empresa participar con nuestros productos en esas plataformas hibridas.

PHP permite que empleemos una arquitectura de 3 y mas capas. La arquitectura es una caracteristica del equipo solucionador (anteriormente desarrollador), esta se debe aplicar a cualquier escenario, asi damos seguridad, documentacion, soporte y eficiencia a nuestras soluciones web.

Para empezar con la seguridad en aplicaciones PHP es necesario como en todo , investigar mucho... y tener claro algunos conceptos como archivos.conf, configuracion de servidores, conexion a base de datos, php5, Captchas, MashUp, servicios web, SQLInjection, Symfony.

Seguramente php es muy optimo para el desarrollo de aplicaciones web no criticas, es decir aplicaciones pequeñas y agiles. 

Ahora como todo tiende a ser orientados al soporte para dispositivos moviles, con PHP tenemos una gran banco de recursos y herramientas y de todas las clases y los estilos. Al ser cliente de jquery recomiento para iniciar con Moviles al framework JQUERY Mobile.

miércoles, 24 de agosto de 2011

La Humilde tarea del Progamador.

Hay dos sendas importantes para llegar a la cuspide del desarrollo de software (Aquitectura, diseño), una es yendo por el camino de la programacion de computadoras luego al desarrollo y otra es por la senda directa del desarrollo de software. las dos son equivalentes , el desarrollo de software nos muestra claramente que el progamador es un ente importante en la produccion,  pero no entiende que hace!. mientras que cuando conocemos lo que hariamos como programadores se entiende el valor grato de la humilde tarea de programar computadores y de la influencia en los detalles de la elaboracion. 

Ejemplo: Es como cuando construimos una casa, quienes lo hallan echo tendran en memoria que es necesario una serie de planos entre los que estan de cubiertas, de desagues, de estructuras, de planta, electrico, de desague, etc. en estos planos existe una simbologia y un nivel de abstracion en el que el ingeniero o jefe de obra interpreta que hay que ubicar una ventana a tantos metros del suelo o a tal distancia del techo con unos bordes(Filetes) visualmente esteticos, el maestro pone la ventana y junto con el ingeniero se determina el nivel de detalle de estos filetes que enmarcan la venta y de la buena nivelacion de su apertura. Pero, eso no esta en el plano, sin embargo el arquitecto lo expreso en su simbologia y hay que hacerlo(Poner la Ventana en un marco) porque es el detalle, poner la ventana y detallar al maximo los filetes para que esta se vea enmarcada elegante. Asi mismo es la tarea del programador implementar los detalles en los metodos de las clases donde se llevan a cabo las operaciones del negocio, estas operaciones le son dadas con claridad y es para el una herramienta eficiente en el proceso de programacion.

Es de hay que viene la importante tarea de que como modeladores y desarrolladores (Arquitectos), implementemos unos buenos diseños de software con tecnicas modernas como UML

Creo que soy un poco enrredado para escribir esto pero ire depurando el texto con el tiempo.

Dentro de los oficios que estudie para querer realizar, la programacion nunca estubo presente, y cuando lo estubo, de hay en adelante me ha otorgrado una guia para la realizacion de una vida profesional llena de exitos intelectuales, morales y relacionales.

Anteriormente el programador debia realizar un programa, este trabajo era supremamente engorroso para EL porque debia realizar todo un plano arquitectonico de software en la mente, alli se quedaba y se hiba plasmando poco a poco en el DOS, porque muy pocos recursos habian para la elaboracion de este recurso sofware quien a esta fecha es uno de los activos mas importantes en nuestras vidas y en las empresas del mundo.
Con la Llegada de estas nuevas herramientas, tecnicas y documentacion de APIS, como: UML, MDA, MDD,JDeveloper, Eclipse Ganymedela la construccion de software hoy es una maginifico trabajo en tiempo de programacion minima pero con tiempo de modelamiento prudente.

En conclusion ser Programador es una excelente opcion de vida, y una tarea inrremplazable por maquina o tecnica alguna. En los modelamientos, a nivel de abstracion siempre habra un porcentaje medio donde el nivel del detalle solo requiere ser tarea del programador.

domingo, 14 de agosto de 2011

EJB 3.x

Los Enterprise Java Beans son los nuevos componentes java para la construccion de aplicaciones web con persistencia de Datos, empleando arquitectura J2EE6 Web.
Los EJB evolucionan de manera rapida y eficiente convirtiendose dia a dia en la herramienta numero uno para los desarrolladores de software.

Todo software maneja en su modelo de negocio entidades(objetos), estas entidades siempre tienen propiedades y metodos, EJB encapsula entidad, interfaz y controlador de un objeto para dar persistencia meidante un api de persistencia como TopLink o JPA.

Actualmente se encuentran en su version 3.2. cada version nueva emplea mecanismos de configuracion optima haciendo que el uso de EJB en las aplicaciones sea mucho mas facil y optima. 

Existe una gran comunidad de desarrolladores detras de esta tecnologia. a todos muchas gracias por ese gran aporte a la tecnologia Java Web.
para conocer mas acerca de los EJB, este documento es interesante. Click para ir al documento

Tecnicamente los EJb son clases java organizadas de manera tal que representan:
  • Objeto Representado en una entidad
  • Clase controladora de Entidades
  • Interfaz para la implementacion de Metodos
Netbeans en su version 6.x y posteriores, nos permite a travez de sencillos pasos realizar la generacion de EJB a travez de un mapeo al esquema de base de datos y una unidad de persistencia. para ver este procedimiento por favor visite .....

sábado, 13 de agosto de 2011

JSF (Java Server Faces)

JSF es uno de los frameworks java mas robustos para la realizacion de aplicaciones WEB con interfaces de usuario ricas y eficientes, sobre todo la ventaja esta cuando usamos un IDE como Netbeans 6.x que ya nos permite a partir de un buen esquema de base de datos  realizar toda la generacion de codigo para las operaciones basicas conocidas como CRUD (crear, eliminar, actualizar y visualizar).
Los componentes de JSF son aquellos mismos componentes HTML pero evolucionados, que con una configuracion minima se adaptan mejor a nuestras necesidades actuales de desarrollo cuando ya usamos tecnicas como AJAX.
Ejemplo si antes teniamos un:
<form method="get" action="servlet">
<input type="submit" value="Enviar" />
</form>
ahora con JSF queda :


<h:form>
<h:inputtext action="#{controlador.accion}" ajax="true" 
update="contenedordemensajes" value="enviar"> </h:inputtext>
</h:form>


JSF tiene una gran cantidad de componentes muy elegantes y cuando lo integramos con un paquete de widgets como Icefaces o Primefaces se vuelve muy potente visualmente y sobre todo a la hora de desarrollar proyectos java es la mejor solucion para obtener beneficios en costo para el tiempo de programacion.

Cuando desarrollamos bajo componentes JSF tenemos que olvidarnos por completo de una perspectiva visual de nuestras paginas a travez de dreamweaver o cualquier otro editor HTML.
Existe en la actualidad un IDE llamada Jdeveloper 11 g de la Casa de Oracle la cual nos permite realizar una edicion visual de nuestros proyectos JSF. aqui su evolucion se llama ADF que sera tema para otro post.