Soy un profesional en Ingeniería de Sistemas con más de cinco años de experiencia en el diseño y desarrollo de software y bases de datos. He trabajado en proyectos de software de pequeño, mediano y alto grado de complejidad para diferentes sectores del mercado. Soy de espíritu proactivo, investigador, creativo e ingenioso que me lleva a brindar soluciones efectivas a cualquier tipo de requerimiento asociado a mi área de desempeño. Realizo mi trabajo con excelencia, calidad y profesionalismo. Tengo un deseo continuo de crecimiento personal y profesional.

1st
JUN

Patrón MVC en PHP

Enviado por alejandromoralesmeza bajo PHP

En esta entrega aprenderemos como implementar el patrón MVC, Modelo-Vista-Controlador, en nuestras aplicaciones PHP a través del siguiente vídeo tutorial.

Descargar Código Fuente

22nd
MAY

Hacer un POST en PHP

Enviado por alejandromoralesmeza bajo PHP

Muy a menudo deseamos desarrollar aplicaciones en PHP que aprovechen las ventajas de una distribución en capas sin necesidad de utilizar un framework que nos implemente dicha distribución. Las razones para ello pueden ser, básicamente, que no queremos subutilizar las características del framework si nuestro proyecto es pequeño o que no queremos invertir tiempo en el aprendizaje de uno cuando no contamos con el suficiente para desarrollar nuestro proyecto. Cuales fueren las razones, hay una alternativa para separar nuestra aplicación en capas de una manera muy sencilla y para poder transferir datos entre ellas.

La primera es la forma en que normalmente se hace en PHP: teniendo un conjunto de datos, generamos una cadena del tipo: destino.php?p1=v1&p2=v2…&pN=vN, y se la pasamos a la función header() para que ésta se encargue de hacer la redirección y pasar nuestra cadena de parámetros por GET.

Por ejemplo:

$destino = "PaginaDestino.php";
$params = "?nombre=Pepe&apellido=Mackoy&direccion=poralli...";
header("Location: $destino$params");

Esta primera forma tiene los siguientes inconvenientes:

  • Los parámetros viajan de una página a otra a través de la URL, lo cual permite que los usuarios puedan ver los datos que se están enviando.
  • El número de datos que pueden ser enviados por GET está limitado, por lo cual tendríamos serías dificultades si estuviéramos enviando un volumen considerable de información.
  • Crear este tipo de cadenas [parámetro = valor] puede ser tedioso y prestarse para que se infiltren errores sutiles.
  • Algunos caracteres especiales como el &, # y = deben ser convertidos a sus equivalentes hexadecimales para poder ser pasados por la URL.

La segunda manera de hacerlo es mediante el método POST. No obstante, en PHP no hay una manera sencilla de hacer esto. Por esa razón, he diseñado una pequeña clase que nos permite hacer el envío de parámetros utilizando POST de una manera muy intuitiva:

Por ejemplo:

require_once 'Request.php';
$request = new Request();
$request->addParam("nombre", "Pepe");
$request->addParam("apellido", "Mackoy");
// ...
$request->forward("destino.php");

ó tambien,

require_once 'Request.php';
$request = new Request();
$params = array("nombre" => "Pepe", "apellido" => "Mackoy");
$request->setParams($params);
$request->forward("destino.php");

Éste segundo método tiene las siguientes ventajas:

  • No existe un volumen máximo permitido para transferir datos.
  • Los datos no se ven en la URL, lo cual es ideal para manejar datos confidenciales.
  • Los caracteres especiales son manejados internamente, por lo cual no debemos preocuparnos por hacer una conversión manual.

Espero que esta información les haya sido útil. Agradezco sus comentarios. Hasta una próxima.

Descargar el archivo Request.php

25th
FEB

Introducción a Netbeans Platform

Enviado por alejandromoralesmeza bajo Java, Netbeans

En esta entrega examinaremos algunos términos básicos relacionados con el desarrollo de aplicaciones sobre la Plataforma Netbeans y algunas características importantes de esta.

Los temas que trataremos son:

  1. Cliente Rico
  2. Framework
  3. Plataforma de Cliente Rico
  4. Ventajas de utilizar una Plataforma de Cliente Rico
  5. La Plataforma Netbeans

CLIENTE RICO

Cliente Rico es el término utilizado para referirse a aquellas aplicaciones de software en que la lógica del negocio, es decir, la funcionalidad relacionada con el problema de la vida real que se intenta resolver, se encuentra embebida en ellas y el procesamiento de los datos ocurre localmente en el equipo en que estas residen. En un contexto más amplio, el del software distribuido, cliente rico se refiere a las aplicaciones en que la mayor parte de la lógica del negocio y el procesamiento de datos ocurre principalmente del lado del cliente, y con un mínimo de carga operacional en las otras capas.

En el caso particular de las aplicaciones ricas de dos capas, cliente-servidor, el cliente generalmente es una aplicación de escritorio con una variedad de componentes gráficos que facilitan la interacción con el usuario, partiendo de la captura de datos hasta entrega de informes resultado del procesamiento de los mismos. Dicha aplicación realiza operaciones sobre los datos ingresados por el usuario y, en caso de ser necesario, los hace persistentes mediante el uso de un servidor de base de datos. Es así que el servidor realiza una tarea mínima en comparación con la responsabilidad de la aplicación cliente de proporcionar diferentes funcionalidades al usuario al entregarle resultados correctos.

El término cliente rico es usado la mayoría de las veces para referirse a las aplicaciones de escritorio, aunque esto está cambiando debido a la aparición de tecnologías como Ajax, que transportan a la Web la experiencia del usuario al utilizar las aplicaciones convencionales, por lo cual ya se escucha con frecuencia hablar acerca de Aplicaciones Web Ricas.

Regresar

FRAMEWORK

Es bien sabido que para el desarrollo de aplicaciones Web existe un conjunto de frameworks que facilitan el trabajo del programador proporcionándole out-of-the-box un conjunto de características que son comunes a todas las aplicaciones y de las cuales el puede disponer a través de ellos con mucha facilidad, permitiéndole enfocarse en resolver los requerimientos relacionados con el dominio del problema y ayudándole a ser más productivo.

En contraste con la variedad de frameworks existentes para el desarrollo Web, hay un conjunto muy reducido de estos para la creación de software de escritorio, entre los cuales se encuentra el Framework de Aplicaciones Swing (SAF del inglés Swing Application Framework), el cual, por cierto, ha dejado de tener soporte desde hace algún tiempo atrás.

El propósito de un framework es proveer una estructura definida mediante la cual el software pueda ser construido de manera organizada de acuerdo a prácticas sanas de programación y a patrones de desarrollo. Normalmente, proporciona un conjunto de APIs y herramientas que ayudan al desarrollador durante la tarea de construcción y creación.

Regresar

PLATAFORMA DE CLIENTE RICO

La Plataforma de Cliente Rico es un entorno de administración del ciclo de vida de una aplicación, la cual constituye una base para el desarrollo de aplicaciones de escritorio. Esta se encarga de proveer un framework que brinda al desarrollador un conjunto de características presentes en este tipo de aplicaciones, tales como: menús, barras de herramienta, barras de estado, barras de progreso, persistencia de datos de configuración de la aplicación e internacionalización, entre otras, las cuales pueden ser utilizadas con mucha facilidad.

También, es la Plataforma quien determina un aspecto fundamental de las aplicaciones como lo es la arquitectura. Las aplicaciones desarrolladas sobre una Plataforma de Cliente Rico son escritas en forma de Módulos, lo cual conlleva un sin número de ventajas, entre las cuales podemos mencionar que cada modulo resuelve un problema en particular con o sin ayuda de otros, y el mismo puede ser utilizado por otros módulos para llevar a cabo sus tareas, contribuyendo a la facilidad de integración, un alto grado de cohesión y coherencia, y un muy reducido (o tal vez nulo) nivel de acoplamiento entre los diferentes componentes de nuestra aplicación.

Debido a todo esto, desarrollar sobre una Plataforma de Cliente Rico incrementa la productividad del desarrollador, liberándolo de preocuparse con tareas que tienen poca incidencia sobre la resolución de los requerimientos del dominio del problema y ayudándolo a enfocar sus energías en realizar tareas relacionadas con la lógica del negocio de la aplicación.

Regresar

VENTAJAS DE UTILIZAR UNA PLATAFORMA DE CLIENTE RICO

Además del enfoque modular provisto por la Plataforma de Cliente Rico, existen otras características ventajosas que motivan su uso. Estas se enumeran a continuación:

  1. Optimización del tiempo de desarrollo.
  2. Interfaz de usuario consistente (Usabilidad).
  3. Facilidad de actualización de la aplicación incluso en tiempo de ejecución.
  4. Independencia de la plataforma.
  5. Reusabilidad y fiabilidad.

Regresar

LA PLATAFORMA NETBEANS

Habiendo abordado los temas anteriores, enfoquémonos, ahora sí, en lo que es la Plataforma Netbeans, sus características y lo que ella puede hacer por nosotros.

La Plataforma Netbeans es una base para desarrollar aplicaciones de escritorio complejas con un enfoque modular y pensando en características como la extensibilidad y la escalabilidad. El Entorno Desarrollo Integrado de Netbeans (Netbeans IDE) es una muestra del tipo de aplicaciones que se pueden desarrollar utilizando la Plataforma, ya que el mismo está construido sobre ella.

Aparte de las ventajas comunes a toda Plataforma de Cliente Rico, la Plataforma Netbeans ofrece numerosos frameworks y muchas características que pueden ser de gran utilidad a la hora de desarrollar nuestras aplicaciones, entre las cuales podemos resaltar:

  1. Framework para la creación de interfaces de usuario.
  2. El editor de datos de Netbeans IDE.
  3. Interfaz de usuario para la personalización de la aplicación.
  4. Framework para la creación de asistentes (Wizards).
  5. Sistema de datos que permite obtener información de diferentes orígenes de datos (FTP, CVS, XML o de una Base de Datos).
  6. Internacionalización.
  7. Ayudas del sistema.
  8. Ayudas contextuales del sistema.

Además de estas existen otras inherentes al uso de la Plataforma, como son: un mejor aprovechamiento del tiempo de desarrollo, una mejor organización de la aplicación basada en estándares y patrones estructurales y de diseño, una arquitectura consistente y robusta, y un mejor rendimiento en cuanto a tiempo de ejecución y optimización de recursos.

Nota: Algunas de estas características serán ampliadas en próximas entregas sobre este tema. Algunos ejemplos de software desarrollado sobre la Plataforma pueden ser encontrados en http://platform.netbeans.org/screenshots.html.

Para finalizar esta entrega, podemos decir que la Plataforma puede ser utilizada con dos propósitos en mente: el primero es extender el Netbeans IDE mediante la creación de nuevos módulos y plugins que se integran con gran facilidad y rapidez, algunos incluso en tiempo de ejecución; y el segundo es el de desarrollar nuestras propias aplicaciones standalone sobre la base que esta proporciona y con todas las ventajas y características que hemos analizado.

Regresar