Buscar en el Blog

viernes, 26 de febrero de 2010

Representación gráfica en UML de las relaciones entre clases básicas

UML es el lenguaje de modelado de-facto para realizar análisis y diseño orientado a objetos. En el siguiente diagrama realizado a través de la herramienta libre astah* community se resumen las relaciones básicas entre clases y sus notaciones gráficas.

Las principales relaciones entre clases son:
  1. Agregación. La ClaseA es parte de la ClaseB
  2. Asociación. La ClaseD tiene una ClaseC o la ClaseC tienen una ClaseD
  3. Asociación Directa. La ClaseF tiene una ClaseE
  4. Composición. La ClaseH está compuesta de la ClaseG
  5. Dependencia. La ClaseJ depende de la ClaseI
  6. Generalización. La ClaseL es una ClaseK
  7. Realización. La ClaseH implementa la interface Interface

viernes, 19 de febrero de 2010

Estructura de una clase Java

Una clase básica de Java posee la siguiente estructura:


Componente
Palabra Reservada
Cardinalidad
1
Declaración de paquete
package
0..1
2
Importación de librerías del API de Java o externas
import
0..*
3
Definición de clase
[public|package] class NombreClase {...}
1
4
Declaración de variables de instancia
[public|private|protected] [Dato Primitivo|Referencia] nombreVariable
0..*
5
Definición de constructores
public NombreClase() {...}
0..*
6
Definición de métodos
[public|private|protected] [void|Dato Primitivo|Referencia] nombreMetodo
1..*

martes, 9 de febrero de 2010

Uso de las librerías de Apache Commons para enviar emails

Apache Commons Proper es un proyecto de Apache enfocado en crear componentes reutilizables de Java. En el siguiente ejemplo se usó las librerías de Commons Email para enviar emails. Estas librerías simplifican el envio de correos electrónicos usando Java, permitiendo enviar:

  • SimpleEmail. Emails con texto básico.
  • MultiPartEmail. Emails con archivos adjuntos.
  • HtmlEmail. Emails formateados con HTML.
 En el siguiente código se envía un email usando las librerías de Apache Commons Email. Además, se usa la clase StringBuilder y Formatter para enviar al email texto formateado. A continuación el código fuente:
public static void main(String[] args) {
    try{
        SimpleEmail mail = new SimpleEmail();
        StringBuilder sb = new StringBuilder();
        //Formateador para enviar el contenido formateado
        Formatter formatter = new Formatter(sb);
        //Contenido que se va a enviar
        formatter.format("%s\n\n","Reporte");
        formatter.format("%-20s%-20s%-20s\n", "--------------------",         "--------------------", "--------------------");
        formatter.format("%-20s%-20s%-20s\n", "Código", "Nombre", "Apellido");
        formatter.format("%-20s%-20s%-20s\n", "--------------------",         "--------------------", "--------------------");
        formatter.format("%-20s%-20s%-20s\n", "0000011", "Mauricio", "Murillo");
        formatter.format("%-20s%-20s%-20s\n", "0000012", "Juan", "Pérez");
        //Servidor de correo electrónico
        mail.setHostName("x.y.z.w");
        //Destinatario
        mail.addTo("x@ycom");
        //Mail de origen
        mail.setFrom("w@z.com");
        //Título
        mail.setSubject("Email formateado usando Apache Commons Email");
        //Se agrega el mensaje de texto al email
        mail.setMsg(sb.toString());
        //Se envía el email
        mail.send();

    } catch(EmailException e){
    }
}

El resultado es el siguiente:

Reporte de Personas
------------------------------------------------------------
Código              Nombre              Apellido            
------------------------------------------------------------
0000011             Mauricio            Murillo             
0000012             Juan                Pérez               

jueves, 4 de febrero de 2010

Nueva Ruta de Certificación Java

Como es de nuestro conocimiento después de finalizar el proceso de adquisición de Oracle a Sun Microsystems, Oracle está poniendo en marcha todos los cambios que tenía planeado. Uno de éstos es la ruta de certificación Java, ahora la certificación es más especializada y se puede llegar a obtener una certificación de Master. A mi parecer está bien porque uno ya puede especializarce en una tecnología Java específica y certificarse como Master. Lo que si se puede observar es que la certificación SCJA (Sun Certified Java Associate) ya no será considerada y el punto de entrada a cualquier certificación será la SCJP (Sun Certified Java Programmer).