Download Framework desarrollo Eclipse

Document related concepts
no text concepts found
Transcript
http://glugcen.dc.uba.ar/pipermail/glug/2006-October/000875.html
Framework desarrollo Eclipse
Cuando se está desarrollando software siempre se buscan editores de código que nos faciliten la
vida. Qué se compile de una forma rápida, que el entorno sea amigable y lo más sencillo posible de
utilizar y que no te tengas que tirar "dos días" para poderlo utilizar.
A veces no se le da importancia a las herramientas de desarrollo, pero cuando se está desarrollando
en un proyecto son una pieza clave para la calidad y la productividad del proyecto.
En este tutorial os enseñamos como funciona el entorno de desarrollo Eclipse, donde vamos a poder
ver algunas de las alternativas que presenta. Una de las principales características que tiene, a
parte de basarse en la licencia Common Public License Version 1.0 ("CPL"), es que es totalmente
extensible, te puedes hacer tus propios plug-ins (un plug-in es un desarrollo a parte de la plataforma
de eclipse que aportan una determinada funcionalidad) o utilizar los que ya están desarrollados.
Eclipse es una estructura (workbench) que puede soportar distintas herramientas de desarrollo y
para cualquier lenguaje.
Os recomiendo que visitéis la siguiente página http://www.eclipseplugins.info/eclipse/index.jsp donde podéis encontrar multitud de plug-ins para eclipse.
Para ver los plug-ins que tenemos instalado podemos ir a la siguiente pantalla:
Desde el menú Help-> About Eclipse Platform
Si pulsamos el botón "Plug-in Details".
A continuación mostramos las principales características del JDT (Java Development Tooling) que
es lo que aporta realmente la capacidad de desarrollo a la plataforma para java y añade las
funcionalidades del IDE. Vale la pena mencionar también el plugin de desarrollo para C/C++ el CDT.
El entorno de desarrollo Eclipse (también sus plugins) está desarrollado completamente en java,
pero se base en la librería de widgets SWT que es equivalente a Swing pero se aprovechan los
widgets nativos del sistema sobre el que se ejecuta, esto permite que la ejecución de interfaces de
usuario sea mucho más rápida que si se utiliza Swing. Otra característica del SWT es que el "Look &
Feel" es del sistema y no hace falta emularlo.
Las características principales del IDE son las siguientes:















Permite trabajar con varios proyectos a la vez
El editor de código tiene colores para la sintaxis y también lo que es conocido como "code
highlighting".
Los errores de compilación a parte de darte una descripción de error te indica donde se ha
producido el error en los márgenes
Formateador de código.
Permite encontrar código duplicado.
Tiene lo que se conoce como "code folding".
Permite personalizar el entorno.
El editor tiene intellisense
Cuando estás escribiendo te permite terminar de completar el código.
Puedes ver el javadoc del api del jdk que se esté utilizando en ese momento.
Refactorización del código.
El editor permite buscar y reemplazar palabras.
Integración con aplicaciones controladoras de versión como por ejemplo CVS.
Permite compara archivos.
Mantiene una historia local de los archivos de la que se pueden restaurar.




En la compilación a parte de la generación de las classes (*.class) permite una compilación
incremental.
Permite el uso de herramientas externas como es ANT o JUNIT.
Para el debug de los programas es compatible con JPDA.
Permite codificar código java, c/c++, xml, jsp, html, etc.
I.
II. Instalación de eclipse
Los requerimientos necesarios es tener instalado el JDK 1.3 o superior y preferiblemente tener 256
MB de memoria y si es más pues mejor.
Lo primero que tenemos que hacer es bajarnos el software correspondiente
de http://www.eclipse.org. De todas formas os recomiendo este sitio para la descarga del
software http://gul.uc3m.es/eclipse/downloads/
Eclipse puede funcionar en Windows, Linux, Solaris, etc..
Descomprimimos el fichero eclipse-SDK-3.0-win32.zip que nos acabamos de bajar en el
directorio c:\eclipse al que llamamos eclipse_home. Nosotros hemos optado por trabajar con la
última versión de eclipse 3.0.
Para arrancar la plataforma eclipse basta con ejecutar eclipse.exe que se encuentra dentro
eclipse_home.
III. Creación de un proyecto en eclipse
Desde el menú Window -> Open perspective -> Java
Empezamos con el wizard de creación de un proyecto desde el menú File -> New -> Project o bien
pulsando sobre el botón que se ve en la imagen.
En la primera pantalla del wizard ponemos un nombre al proyecto y decidimos donde se guardará,
por defecto se crea una carpeta con el nombre del proyecto dentro de eclipse_home en el directorio
workspace.
Pulsamos "Next" para ir a la pantalla de configuración del classpath, del directorio donde se
guardarán las clases generadas, si el proyecto que estamos creando depende de algún otro, etc.
Una vez que se ha configurado el proyecto pulsamos "Finish" para terminarlo de crear.
IV. Integración de Eclipse con Tomcat
Tenemos que tener ya instalado el servidor Tomcat. La instalación la podéis seguir en uno de
nuestros artículos.
Lo primero que tenemos que hacer es instalarnos un plug-ins de tomcat para eclipse, como yo estoy
utilizando la versión 3.0 de eclipse he optado por utilizar el plug-in de sysdeo. De momento está en
la versión beta para poder trabajar con eclipse 3.0. Lo descargamos.
Y lo descomprimimos dentro del directorio plug-ins. Cerramos y volvemos a abrir el entorno eclipse y
podemos observar que nos aparece una entrada en el menú de Tomcat, y los iconos
correspondientes a Tomcat como se puede ver en la siguiente pantalla:
Para configurar el servidor Tomcat con el que trabajaremos, nos vamos al menú Window ->
Preferences, podemos observar como nos aparece una entrada para Tomcat, la seleccionamos y
podemos escoger la versión del servidor, y donde tenemos instalado el servidor Tomcat.
Podemos indicar a Tomcat que se reinicie en modo debug, escoger el classpath, etc..
Una vez que ya está configurado Tomcat, podemos crear un proyecto nuevo para utilizarlo.
Desde el menú New -> Project, escogemos Tomcat Project como podemos ver en la siguiente
figura.
Seguimos el wizard de creación del proyecto como hemos visto anteriormente, y nos pregunta por el
nombre del contexto.
Y nos crea la estructura necesaria y actualiza el fichero server.xml de tomcat.
V. Eclipse y J2EE
Existen varios plugins para utilizar J2EE dentro de eclipse nosotros hemos escogido Lomboz porque
a parte de ser gratuito cumple perfetamente con el desarrollo de aplicaciones J2EE.
Nos los podemos descargar de http://forge.objectweb.org/projects/lomboz
Lo descomprimimos dentro de eclipse_home\plugins. Nos vamos al directorio
eclipse_home\plugins\com.objectlearn.jdt.j2ee_3.0.1\servers y vemos que contiene ficheros de
configuración de varios servidores:
Escogemos el fichero para el servidor de aplicaciones que estemos utilizando, en esta caso vamos a
utilizar el fichero tomcat50x.server y el resto los renombramos a .bak para que no molesten. El
fichero de configuración quedaría de la siguiente forma:
<serverDefinition
name="Apache Tomcat v5.0.x"
ejbModules="true"
webModules="true"
earModules="false">
<property id="serverRootDirectory"
label="Application Server Directory:"
type="directory"
default="C:\java\Tomcat 5.0" />
<property id="serverAddress"
label="Address:"
type="string"
default="127.0.0.1" />
<property id="serverPort"
label="Port:"
type="string"
default="8080" />
<property id="classPathVariableName"
label="Classpath Variable Name:"
type="string"
default="TOMCAT_HOME" />
<property id="classPath"
label="Classpath Variable:"
type="directory"
default="C:/nmd/dev/java/appservers/jakarta-tomcat-5.0.16" />
<serverHome>${serverRootDirectory}</serverHome>
<webModulesDeployDirectory>${serverRootDirectory}/webapps</webModulesDeplo
yDirectory>
<ejbModulesDeployDirectory>NOTSUPPORTED</ejbModulesDeployDirectory>
<earModulesDeployDirectory>NOTSUPPORTED</earModulesDeployDirectory>
<jndiInitialContextFactory>NOTSUPPORTED</jndiInitialContextFactory>
<jndiProviderUrl>NOTSUPPORTED</jndiProviderUrl>
<startClass>org.apache.catalina.startup.Bootstrap</startClass>
<startWorkingDirectory>${serverRootDirectory}/bin</startWorkingDirectory>
<startVmParameters>-DJAVA_HOME="${jrePath}" Dcatalina.base="${serverRootDirectory}" -Dcatalina.home="${serverRootDirectory}"
-Djava.io.tmpdir="${serverRootDirectory}/temp" Djava.endorsed.dirs="${serverRootDirectory}/bin;${serverRootDirectory}/common/en
dorsed"</startVmParameters>
<startProgramArguments>start</startProgramArguments>
<stopClass>org.apache.catalina.startup.Bootstrap</stopClass>
<stopWorkingDirectory>${serverRootDirectory}/bin</stopWorkingDirectory>
<stopVmParameters>-DJAVA_HOME="${jrePath}" Dcatalina.base="${serverRootDirectory}" -Dcatalina.home="${serverRootDirectory}"
-Djava.io.tmpdir="${serverRootDirectory}/temp" Djava.endorsed.dirs="${serverRootDirectory}/bin;${serverRootDirectory}/common/en
dorsed"</stopVmParameters>
<stopProgramArguments>stop</stopProgramArguments>
<serverClassPath>
<jar type="variable">JDK_TOOLS</jar>
<jar type="variable">${classPathVariableName}/bin/bootstrap.jar</jar>
</serverClassPath>
<clientClassPath>
</clientClassPath>
<projectClassPath>
<jar type="variable">JDK_TOOLS</jar>
<jar type="variable">${classPathVariableName}/bin/bootstrap.jar</jar>
<jar type="variable">${classPathVariableName}/common/lib/servlet-api.jar</jar>
<jar type="variable">${classPathVariableName}/common/lib/jsp-api.jar</jar>
</projectClassPath>
</serverDefinition>
Nos vamos a Windows -> Customize Perspective y nos seleccionamos Lomboz J2EE Wizards.
Ahora si nos vamos al menú File -> New, podemos comprobar como nos aparecen las entradas
para utilizar Lomboz en proyectos J2EE.
Para crear un proyecto J2EE nos vamos al menú File -> New -> Project y seleccionamos Lomboz
J2EE Project
Escogemos el nombre para el proyecto.
Seleccionamos las librerias que van a ser necesarias para el proyecto y la ruta donde vamos a dejar
las clases generadas y pulsamos Next.
Nos aparece la pantalla para crear un módulo J2EE.
Con la pestaña seleccionada de Web Modules pulsamos el botón Add... e introducimos el nombre
del modulo web.
Si nuestro proyecto utiliza EJBs desde la pestaña EJB Modules escogeríamos los nombres de los
EJBs.
Y en la pestaña Targeted Servers escogemos el servidor sobre el que vamos a trabajar, en nuestro
caso Tomcat 5.0 y pulsamos sobre el botón Add.. para añadirlo y luego finalmente sobre el botón
Finish para finalizar de crear el proyecto.
Y vemos el resultado.
VI. Integración de Eclipse y CVS
CVS (Concurrent Versions System) es uno de los controladores de versiones open source más
famoso, ya viene integrado con Eclipse, no hace falta instalar ningún plugin adicional.
Se puede empezar utilizando CVS de dos formas:


Creando un repositorio nuevo
Compartiendo el proyecto y utilizar un repositorio ya existente.
Para crear un nuevo repositorio nos situamos en la perspectiva CVS Repositories
Con el botón derecho escogemos 'New -> Repository Location...' donde seleccionamos el servidor,
la ruta, etc.
Y para compartir un proyecto abrimos la perspectiva java y con el botón derecho seleccionamos
'Team -> Share Project...' y seleccionamos el repositorio que queramos dejar el código.
Damos a continuar y terminamos el wizard. Podemos ver como en la pantalla anterior también
podemos crear un nuevo repositorio.
VII. Eclipse y JUnit
Desde eclipse se pueden crear y ejecutar pruebas unitarias utilizando el framework JUnit, podéis
encontrar nuestro tutorial aquí.
Últimamente se ha hablado mucho de eXtreme Programming y una de las cosas que destaca esta
metodología es el desarrollo dirigido por test. Primero se hace el desarrollo para las pruebas luego
se hace el desarrollo del código que pasen las pruebas y así sucesivamente, pero no nos tenemos
que olvidar que esto requiere un desarrollo adicional con lo que puede aumentar el coste del
proyecto.
Nos descargamos el framework JUnit y lo descomprimimos en un directorio.
Dentro del entorno de Eclipse sobre el menú File -> New -> Project escogemos Java Project y
pulsamos Next.
Escogemos el nombre del proyecto y damos a continuar. En la siguiente pantalla incluimos la librería
junit.jar a nustro proyecto.
Para poder trabajar con JUnit desde el menú nos vamos a Window -> Customize Perspective y
dentro de Java seleccionamos JUnit como podemos ver en la siguiente pantalla:
Ahora nos vamos a New -> JUnit Test Case
Seleccionamos el checkbox de "public static void main (String[] args)" y pulsamos a "Finish".
Y esta es la clase que genera
import junit.framework.TestCase;
/*
* Created on Jul 27, 2004
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author Isaac Gutiérrez
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class PrimeraClaseTest extends TestCase {
/**
* Constructor for PrimeraClaseTest.
* @param arg0
*/
public PrimeraClaseTest(String arg0) {
super(arg0);
}
public static void main(String[] args) {
}
}
Una vez que se ha codificado la funcionalidad para probar el test nos tenemos que ir a Run -> Run
as -> JUnit Test como vemos en la siguiente pantalla:
De esta forma vemos si lo que estamos probando funciona o no.
VIII. Conclusiones
En este tutorial se ha visto como funciona el entorno de desarrollo Eclipse. Es cierto que no nos
debemos encerrar en una herramienta y centrarnos más en la tecnología que estamos utilizando,
pero es fundamental cuando se están desarrollando proyectos utilizar una herramienta de desarrollo,
que conozcan todos los desarrolladores, esto hará que aumente la productividad ya que si es un
entorno de desarrollo como Eclipse viene con wizards que te ayudan en la codificación, tiene
detectores de errores que hace que el código desarrollado sea de mayor calidad o permite
compartir código entre un grupo de desarrolladores. También tiene la ventaja de integrar varios
productos en un único entorno que para la gente que está empezando es mucho más sencillo de
utilizar. Todo esto hace que los tiempos de desarrollo sean menores y por consiguiente los costes
también.
Si os estáis planteando empezar a desarrollar un nuevo proyecto pensar en utilizar una herramienta
de desarrollo, y si ya estáis utilizando una herramienta de desarrollo preguntaros si es la que debéis
utilizar.