jueves, 11 de diciembre de 2008

¿Qué es XML?

Extensible Markup Languagelenguaje de marcas ampliable»).
XML se utiliza para muchas cosas, pero sobretodo, y su principal función es transmitir datos de una plataforma a otra de la forma más estandarizada posible.

XML no es una nueva versión más avanzada de HTML. HTML muestra datos, XML muestra y trata los datos, trabaja con ellos.

Un ejemplo de XML:

Ejemplo de un documento XML sobre información de películas:















?xml version="1.0" encoding="UTF-8"?
Los documentos XML comienzan indicando que son un documento XML, y la versión del mismo y su codificación. Todos los elementos a partir de aquí son
definidos por el usuario.

Como se puede observar los datos están jerarquizados, y se van ramificando.

¿Qué es SOAP?

SOAP son las siglas de Simple Object Access Protocol.
Es un protocolo que permite la comunicación entre aplicaciones a través de mensajes por medio de Internet.
Se basa en XML, es la base de los Web Services, es independiente de la plataforma y del lenguaje.

miércoles, 10 de diciembre de 2008

¿Qué son los web services?

Cómo bien dice su nombre, se trata de servicios web (protocolos y estándares) , mediante los cuales las aplicaciones pueden entenderse y trabajar conjúntamente, intercambiar datos, etc... Dichas aplicaciones pueden estar implementadas en distintos lenguajes de programación, y pueden estar ejecutándose en plataformas distintas, y están comunicadas mediante la red.

Los web services utilizan el lenguaje XML para transmitir datos de una aplicación a otra.

Ejemplos simples de aplicación de web services.

¿Cómo crear un web service con Java y desde Eclipse?

Los web services se crearon cuando se necesito un estándar en la comunicación entre plataformas y lenguajes de programación. CORBA y DCOM son los antecedentes que no alcanzaron el éxito que si han conseguido los web services.
Hacían uso de los RPC (Remote Procedure Call), que es uno de los principales puntos en los que fallaron, pues los firewalls los bloqueaban.

Los web services salen victoriosos en este sentido, pues utilizan el puerto 80 para establecer la conexión entre los distintos sistemas. Es el único puerto que los firewalls permiten que esté abierto por defecto. Por eso se utilizan principalmente en HTTP.

miércoles, 2 de julio de 2008

Tomcat

Contenedor web para servlet y jsp.

Una vez descomprimido el .zip en el lugar que te parezca más oportuno, diríjete a la carpeta bin, y haz click en startup.bat.

Carpeta conf -----> tomcat-users.xml Se definen los usuarios y los roles que va a tener. Tenemos que definir el rol manager, y creamos un usuario.

Struts

Struts cuando nació su inquietud principal fue qué hacer con los formularios. Se encarga de las peticiones que se le hagan al controlador, struts será el encargado de decir cual es la vista y el modelo. Es una herramienta que sigue el patrón MVC (Modelo-Vista-Controlador). Evidentemente si struts va a hacer el papel del controlador. El primer sitio donde indiquemos esto es en el web.xml. Hay una etiqueta interesante load-pm-startup que dice que se arrancará el struts cuando se arranque nuestra aplicación. Cuando arranca el ActionServlet, busca el struts-config.xml, que sería el archivo por defecto.

Por cada formulario que tenemos en la aplicación tenemos una clase java que extienden en ActionForm. Todo formulario se envía a algún lugar (action). La action es otra clase java que extiende de de Action. Struts se encarga de gestionar el modelo, que en este caso es el formulario. La acción (action) devuelve un mensaje. Con esto se consigue que esta acción no conoce directamente el jsp, solamente sabe decir si ha ido bien la acción o no. Sólo conoce la acción.

Comenzando a trabajar con struts.

jueves, 26 de junio de 2008

Introducción a Hibernate

Herramienta que posibilita que el programador Java se "olvide" de la base de datos, pués lo relacionado con ella se encargaría esta herramienta. Es software libre.

miércoles, 18 de junio de 2008

Plugin Maven para Eclipse

Para trabajar con Maven Eclipse debe de tener instalado el plugin de Maven.

Diríjase al menú que se puede ver en la imagen:

Se encontrará con la siguiente pantalla. Que debe de tener el mismo aspecto para seguir.


Después pulse el botón New Remote Site...


Y rellene la pantalla con los siguentes datos:


Pulse OK.


Primeros pasos con Maven

Podemos empezar haciendo un proyecto con Maven. Para ello abrimos la consola de comandos y nos dirigimos al workspace del Eclipse. Una vez allí escribimos mvn archetype:create -DgroupId=proyecto.ejemplos -DartifactId=EjemploMaven


miércoles, 11 de junio de 2008

¿Cómo instalar Maven?

Descárgate Maven.

Una vez descargado, copia la carpeta descomprimida en C: Botón derecho encima de MiPc, y escoge Variables de Entorno. Añade la ruta del bin del Maven al Path. A continuación create otra variable llamada JAVA_HOME, y le das el valor de la ruta del JDK (sin el bin). Acepta, y a continuación abre la consola de comandos y teclea mvn --version. Si no hay errores entonces es que lo has instalado correctamente.

Una muy buena página para continuar investigando con Maven ------> Pulsa

Ant

Ant es una herramienta de código abierto (te la puedes bajar de aquí)utilizada en la compilación y creación de programas Java. Se utilizan para aquellas actividades repetitivas. Funciona de forma parecida a los scripts, o los archivos .bat. Están escritos en XML.

¿Qué ventajas tiene utiliza archivos ant?

Está hecho en Java, por lo cual es portable. Con todas las cosas buenas que tiene eso. Con un fichero .bat no se podía hacer eso. Si querías utilizarlo en una máquina con Linux, tenías que crear otro archivo con esas instrucciones pero que fuera capaz de ser leído en ese entorno.

Otra ventaja es que se pueden definir varias tareas y darles distintas prioridades de ejecución.


¿Cómo se instala?

Descárgatelo del enlace anterior, y descomprime el .zip descargado. Alójalo en algún lugar, y pon en el PATH de Windows el directorio bin que hemos obtenido del .zip. Para comprobar que funciona abre la consola de windows y escribe ant -version.

jueves, 5 de junio de 2008

¿Cómo hacer una cosulta a una base de datos?

1.- cargar el driver ------ > Class.forName("org.gjt.mm.mysql.Driver");

2.- crear la conexión ----->Connection conexion = DriverManager.getConnection ("jdbc:mysql://localhost/nombre de la base de datos","nombre del usuario", "clave del usuario");

3.- crear Statement ------> Statement s = conexion.createStatement();

4.- obtener ResultSet ---->

5.- Mostrar datos -------->


¿Qué hacer con un ResultSet? (Colección de filas y datos indeterminado)

List links = new ArrayList();

While (rs.next()){
Link l = new Link();
l.id=rs.getInt(0);
l.nombre=rs.getString(1);
links.add(l);
}
-

martes, 3 de junio de 2008

Swing

Un nuevo paquete que hereda del paquete visual AWT. Swing desarrolla mucho más el anterior paquete. Añadiendo atributos, métodos nuevos. Actualmente es más utilizado que el otro.

Pulsa aquí si desea observalo más detenidamente --->java.swing

Las clases más importantes de este paquete son: JComponent y JFrame.

La clase JComponent es abstracta, lo que significa que no puede crear objetos.

Swing consume menos recursos y es más completo que AWT.

Todo objeto gráfico tiene 3 puntos de vista: vista, modelo, controlador.

- Vista: las propiedades gráficas que tendrá el objeto para que el usuario lo visualice.
- Modelo: los datos que manejará dicho objeto.
- Controlador: el comportamiento del objeto.

jueves, 29 de mayo de 2008

Proyecto Blogger

Ahora estamos inmersos en la creación de una aplicación con la que poder conectarse al blog y poder leer los post, e incluso publicar post nuevos desde él. Para ello tenemos que crear una interfaz sencilla, que incluye una ventana, un lista, etc...

Aquí puedes ver el código de la pantalla principal... aún no está terminado.


Para ello tendríamos que utilizar la API de Google. Y utilizar diversas librerías de Google.

Nosotros utilizaremos un framework especialmente diseñado para trabajar como filtro entre la aplicación y el framework de Google.

martes, 27 de mayo de 2008

¿Cómo creo una ventana?

Creamos una clase. Utilizamos la librería import java.awt.Frame;

y ponemos

Frame ventana = new Frame(); <----- Con esta linea creamos la ventana

ventana.setTitle("Mi primera ventanita Java"); <----- Le damos un título
ventana.setVisible(true); <---- La hacemos visible

ventana.setBounds(0, 0, 200, 200); <---- Le damos unas coordenadas y el tamaño.


Pero... si ejecutas tu pequeña aplicación que solo tiene esa ventana, comprobarás
que si intentas cerrarla dándole a la X no se cierra. ¿Por qué?

¡La ventana no tiene aplicada ningún evento!

.JAR

Del inglés JAVA ARchive es un tipo de archivo que nos permite ejecutar aplicaciones hechas en Java.

Se pueden realizar 3 operaciones ásicas con estos archvos: comprimir, descomprimir y ver contenido.

¿Cómo crear uno?

En Eclipse:

Vas a FILE, y le das a Export...




Una vez dentro selccionas JAVA, y JAR File.




Seleccionas lo que quieras introducir en el archivo .JAR que vas a crear. Le pones un nombre y una ubicación y le das a siguiente hasta que te dé la opción de finalizar.





Finalizas y ya está. Ya tienes tu archivo .jar.



En este archivo puedes introducir los paquetes de clases que hayas creado, e introducirlo como librería en cualquier otro proyecto.

Errores...

Durante la ejecución de un programa pueden ocurrir errores... el programador debe de intentar "cazar" dichos errores para cuando sucedan impedir que el funcionamiento del programa se vea afectado. Para ello el programador utiliza las excepciones.

Estos errores se deben de tratar durante la ejecución del programa, por eso es de vital importancia ver todas los posibles casos de error. Un ejemplo muy bueno sería cuando un programa intenta trabajar con un archivo que por lo que fuera ya no existe en nuestro ordenador... A estos errores se les denomina excepciones.

Por eso el programador debe de preparar su código de forma que se tengan en cuenta estos casos. Debe de estar preparado para poder atrapar dicho error y lanzar un código que ayude a que el programa pueda seguir su curso.

Toda excepción deriva de la superclase java.lang.Throwable. De ella salen dos subclases: Error y Exception.

- Error: error internno o agotamiento de recursos.

- Exception: error en el programa. De esta deriva la subclase RuntimeException.



RuntimeException se debe a una mala programación por parte del programador.


¿Qué se suele hacer para atrapar dichas excepciones?

En Java se utiliza try y catch.


Código explicativo:

try {
código que se ejecuta mientras no haya error, pero que puede provocarlo
}
catch (ClaseExcepción objetoQueCapturaLaExcepción) {
código que se usará en caso de que se produzca de error
}


viernes, 23 de mayo de 2008

TestNG, un plugin interesante para Eclipse

Como bien dice su descriptivo nombre, TestNG existe para testear nuestro código, para buscar errores de lógica, y comprobar que todo funciona como debería.


Un ejemplo de test:

Aquí


¿Qué beneficios sacamos de todo ésto?

Ganar tiempo a la hora de programar. Con estos test podemos tener total certeza de que nuestro código es fiable y de que no dará problemas a largo plazo. Esto evitará de que perdamos nuestro valioso tiempo intentando ver donde está el problema, cual es su causa, etc... cuando estos lleguen.

Página oficial de TestNG
Bájatelo de aquí
¿Cómo se instala en Eclipse?

Colecciones de objetos III

*Map

Es una colección de elementos por pares de datos (clave, valor). Un mapa no puede contener claves duplicadas, en cambio puede haber valores iguales. Una clave puede ser cualquier tipo de objeto. Este interfaz está implementada en la clase HashMap.

Declaración:
public Map<Producto, Cantidad> productos = new HashMap<Producto, Cantidad>();

Colecciones de objetos II

* Set

En un Set los elementos no están indexados y cada dato tiene una identidad que los diferencia entre sí. Se diferencia de List en que no pueden existir elementos repetidos en él. Esto lo consigue con el método equals (el cuál será redefinido para que se puedan comparar con eficiencia).
Esto es debido a que el método equals solo funciona con objetos que ya conoce. Si creamos un objeto nuevo de una clase que no conoce no los puede comparar porque no los conoce aún. (lógicamente). Eso se hace redefiniendo el método equals

¿Cómo se declara un set?

Set set = new HashSet;

Colecciones de objetos

A la hora de programar es usual agrupar datos. Supongo que conoceis a los famosos Arrays. Esos son agrupamientos estáticos de datos. Esto es una variable que alberga a otras variables. Lo de estático es porque se conoce desde su creación su tamaño.

También existen las estructuras dinámicas. En estas no se conoce el tamaño, por lo que se puede añadir datos de manera ilimitada.

En Java existen varios tipos de agrupamientos dinámicos. Estos son los list, set y map.
Utilizan la interfaz java.util.collection

* List: (listas enlazadas)

Se utiliza para definir listas enlazadas. Son colecciones de datos en la que sí importa el orden d los datos que la integran.

Alguno de sus métodos más importantes son (además de los del a interfaz Collection):

1. add --->Para añadir datos a la lista.
2. set ---->Para sustituír un elemento por otro.
3. remove ---->Para borrar un elemento de la lista.
4. indexOf ---->Para devolver la posición de un elemento en la lista. Si no lo encuentra devuelve -1.
5. lastIndexOf ---->Busca la posición de un elemento de la lista empezando por el final. Si no lo encuentra devuelve -1.

¿Cómo se declara una lista?

Muy simple.

List Lista = new ArrayList();


¿Cómo se recorre un List?

Para moverse por un List se utiliza un bucle for:

for (int = 0; i<lista.size(); i++){

Object o = lista.get(i);
System.out.println(o);
}

¿Qué son los import?

Si en nuestro programa necesitamos crear un objeto de una clase ya existente deberemos incluir un paquete en nuestro código. Este paquete (package) contendrá las clases de dicho objeto.

En la vida real muchas veces necesitamos conocer un dato... ¿qué hacemos? Buscamos un libro donde venga ese dato. Pues esto es similar. Nuestro programa para poder usar dichos objetos necesita tener una librería de clases. Esta librería son los import. Se ponen al principio del código de esta forma:

Ej: necesitamos crear un objeto mesa. Como sabemos que existe una clase que crea objetos mesa, ¿para qué vamos a programar algo que ya está programado? Pues buscamos el paquete donde está incluída esa clase y la incluímos en nuestro código.

import paquete2.mesa;

Importamos el paquete2 donde está incluída la clase mesa;

La herencia

Una de las cosas más importante, e interesante, de la POO (Programación Orientada a Objetos) es la herencia. Es lo que realmente hace potente a un lenguaje de programación. Las clases pueden herederar características de otras clases. Esto hace que de unas clases básicas el programador pueda crear a su vez otras que utilicen las funcionalidades de aquellas y hacer otras más complejas. Creando así una especie de árbol genealógico de clases, en las que unas son hijas de otras.

Para que una clase herede las características de otra hay que utilizar la palabra clave
extends tras el nombre de la clase.

Los métodos que se pueden heredar son los public y los protected. Los private (como bien dice la palabra) son privados, y no se pueden utilizar fuera de la clase donde se declararon.

Supongo que habrá pensado... si las clases se van creando una de otras... ¿cuál será la clase origen de todas las demás?

Muy buena pregunta. Dicha clase es la Object. Es la raíz de todas las clases. Todas las clases incluyen alguna característica de Object.

viernes, 16 de mayo de 2008

Pero... ¿qué son los atributos? ¿y los métodos?

Dentro de una clase podemos encontrar atributos y métodos.

  • Los atributos son las propiedades que tendra el objeto que creamos de esa clase. Los atributos tienen además una definición del tipo de dato que es. Esto significa si la propiedad se trata de un número entero, o una cadena de caracteres, un booleano... etc. No hay que olvidar que además a veces hay que definir el tipo de acceso que tiene dicho atributo. Pues pueden ser públicos, privados, protegidos... Esto hará que se puede visitar desde otros puntos del código o no. Para ello se pone las palabras public, private, protected respectivamente.

    Como dato interesante: en Java se puede utilizar en sustitución de dichas palabras, símbolos. Así pues public sería +, private - y protected #.

  • Los métodos son funciones declaradas en la clase, en las que se realizarán operaciones. Normalmente reciben parámetros con los que trabajará, y devolverán un resultado, un valor. Este valor puede ser de tipo numérico, booleano,etc.

Un ejemplo de declaración de un método sería:

public String Saludar(){

return("Hola");

}

El ejemplo anterior se trata de un método público "public" que no recibe ningún parámetro "()". Pero devuelve una cadena de carácteres "String" ... "Hola".

jueves, 15 de mayo de 2008

¿Qué es un package?

Un package es, como su nombre indica, un paquete en el que se alojarán todo tipo de objetos. Desde clases, a otros paquetes,...etc

En la imagen puedes visualizar como pequeños paquetitos llamados eticom, eticom.anotacion,eticom.enums,...etc

Esos son los packages en Eclipse.

¿Cómo crear una clase en JAVA?

En Java se crea una clase de esta forma:

public class Mesa {

String tamaño;
int num;

}

Lo que está dentro de { } son los atributos que tendran los objetos que se crearan de esa clase.

Para crear un objeto solo hay que teclear:

Mesa objetomesa = new Mesa();

Y para darle valores a sus atributos:

objetomesa.tamaño="pequeña";
objetomesa.num=1;

Así obtenemos un objeto llamado "objetomesa" que es de la clase Mesa. Y de tamaño pequeña y es la número 1.

miércoles, 14 de mayo de 2008

Filosofía Java

¿Qué es un objeto?

* En el mundo real existen cosas. Estas cosas tienen propiedades como colores, texturas, masa, densidad, e incluso estados. Ejemplo: una bola de billar. Dicha bola tiene un color, un tamaño específico, un peso...

En el ordenador intentamos representar, recrear cosas reales, y mientras más parecidos a la realidad mejor. Para ello está el concepto de "objeto". En Java todo es un objeto por sí mismo. Con sus propiedades, comportamientos, estados...

Un objeto no tiene porqué ser un elemento tangible, también puede ser un concepto.

* Un objeto tiene una identidad, que lo diferencia de los demás objetos.
* Un objeto tiene un estado, que indica la condición de existencia del mismo según el momento. Este estado es cambiante. Ejemplo: la bola de billar puede estar en movimiento, o parada.
* Un objeto tiene un comportamiento, que indica como responde el objeto ante los demás objetos. En el ejemplo anterior sería que haría la bola de billar cuando es empujada por otro objeto, como por ejemplo un palo.

Todo esto nos lleva a pensar en otro elemento importante en la estructura Java: las clases.

Las clases son solo las plantillas para hacer objetos. Un molde. Ejemplo: si al molde (clase) bola de billar le introducimos el color rojo (atributo) nos saldría una bola roja (objeto). En el caso de que fuera el color negro... nos resultaría una bola de billar negra.
La bola roja y la bola negra son objetos distintos, pero son de la misma clase.

¿Qué he de hacer? 2ª Parte

Es hora de instalar Eclipse. Sólo tienes que descomprimir el archivo comprimido que te bajastes anteriormente. Y la carpeta llamada Eclipse la copias y la pegas en C:\Archivos de programas.

A continuación sólo tienes que hacer doble click en ejecutable eclipse.exe.

Te pedirá crear la carpeta workspace, que es donde se alojarán todos los proyectos que hagas con eclipse. Aconsejo que borres la ruta impuesta y la pongas tal que así... c:\workspace. Dale a continuar y Eclipse te dará la bienvenida.

¿Qué he de hacer?

Una vez tengas estos archivos descargados debes de comprobar si tu equipo tiene instalado la máquina virtual de Java. ¿Cómo se hace esto? Muy sencillo.

Dirígete al botón Inicio, y en ejecutar escribe: cmd (para abrir la consola de comandos). Una vez hecho esto se abrirá la mencionada consola. En ella debes teclear: java. Acontinuación se te informará de si lo tienes instalado o no. Si no lo tienes instalado el siguiente paso es instalarte uno de los archivos descargados. El primero de ellos: JDK SE 6.


Haces doble click en el archivo mencionado, y comenzará la instalación. Aceptas la licencia y le das a siguiente. Verás una barra de instalación. Cuando finalice su recorrido verás una pantalla. Le das a siguiente. Y verás otra barra de estado. A continuación saltará la pantalla de finalización de la instalación. Pulsa en Finish.

¡Ya tienes tu máquina virtual Java lista y prepara en tu equipo!

Por último... este enlace puede ser de tu interés. Échale un vistazo.

¿Empezamos?

Para comenzar deberemos tener descargados e instalados los siguientes archivos:


JDK SE 6

Eclipse

Bienvenidos

¡Hola! Bienvenidos a mi blog sobre Java. Espero que os guste. Poco a poco iré actualizando el sitio.

Saludos.