martes, 30 de septiembre de 2008

scm: Instalacion de Subclipse

Subclipse es la extension para Eclipse que permite interactuar con el sistema de control de codigo fuente Subversion (SVN).

Para instalar la extension en Eclipse:














Una vez que Eclipse reinicia podra conectar su proyecto a Subversion.

Vinculos:

scm: Subversion gratuito en Google Code

Google Code ofrece un servicio de hosting para proyectos de software que incluye control de codigo fuente mediante subversion.

Para crear un nuevo proyecto en Google Code, acceda a la seccion Project Hosting y siga el vinculo "Create a new project":



En la siguiente pagina debera ingresar algunos datos relativos al proyecto:


Finalmente presione el boton "Create project" y podra acceder al nuevo sitio de su proyecto.

Vinculos:

aspect: Instalacion de AspectJ

Descargar AspectJ desde











Vinculos:
  • AspectJ

lunes, 15 de septiembre de 2008

eclipse: Configuracion de editores de texto

Luego de instalar Eclipse, una de las primeras tareas que es importante completar es la configuracion personalizacion del IDE. Para modificar la configuracion por defecto de los editores de texto en general, acceda al menu de preferencias mediante Window -> Preferencies y expanda el item "General". Podra encontrar alli el item "Editors", que debera expandir tambien para finalmente seleccionar el item "Text Editors". En la siguiente figura se muestra la ventana de preferencias:


Para simular tab con espacios en blanco debera chequear la casilla "Insert spaces for tabs" y especifique la cantidad de espacios en el campo "Displayed tab width".

Para visualizar en pantalla el ancho en caracteres del archivo, chequee la casilla "Show print margin" y especifique la cantidad de caracteres donde debera aparecer esta marca en el campo "Print margin column".

Tambien podra observar el numero de linea a la izquierda del espacio de edicion chequeando la casilla "Show line numbers".

Vinculos:
  • Eclipse

miércoles, 10 de septiembre de 2008

scm: Eliminar una vista en Clearcase

Para eliminar una vista de clearcase es necesario asegurar que no existen referencias al contenido de la vista. En caso que existan referencias, es necesario eliminarlas. Ejecute los siguientes 4 pasos para completar la eliminacion de una vista:

1) Obtener el uuid
$> cleartool lsview -long [view_tag]
Como respuesta a la ejecucion de este comando debera observar algo muy similar a lo siguiente:
Tag: [view_tag]
Global path:
Server host: [hostname]
Region: [region]
Active: NO
View tag uuid:c91b0a8d.79da11dd.9a18.00:01:84:54:66:35
View on host: [hostname]
View server access path: /viewstg/ccweb/[username]/[view_name]/.view.stg
View uuid: c91b0a8d.79da11dd.9a18.00:01:84:54:66:35
View attributes: snapshot,webview
View owner: [hostname]/[username]
Debera emplear el uuid en los siguientes pasos, por lo que se recomienda que lo escriba.

2) Remover referencias a la vista
$> cleartool rmview -all -f -uuid [uuid]
Podra observar como respuesta mensajes similares al siguiente:

Removed references to view "c91b0a8d.79da11dd.9a18.00:01:84:54:66:35" from VOB "/vobs/...".

3) Eliminar la vista del registro de Clearcase
$> cleartool unregister -view -uuid [uuid]
No habra ningun mensaje si la ejecucion del comando es exitosa

4) Remover la vista
$> cleartool rmtag -view [view_tag]
No habra ningun mensaje si la ejecucion del comando es exitosa. Ejecute el siguiente comando para asegurarse que la vista fue removida:
$> ct lsview -long [view_tag]
Si la vista fue removida exitosamente, podra observar el siguiente mensaje:

cleartool: Error: No matching entries found for view tag "

Vinculos:

sábado, 6 de septiembre de 2008

j2ee: Ejecutar Glassfish desde Eclipse

Requerimientos

Para poder crear un servidor Glassfish en Eclipse es necesario disponer de:
  • Eclipse 3.2 o superior con WTP 2.0 o superior
  • Eclipse Ganymede

Existen otras opciones, como crear un servidor J2EE generico y practicar las personalizaciones necesarias, pero aqui se hace con Ganymede.

Descargue Eclipse Ganymede del siguiente vinculo.

Descargar adaptadores adicionales a Eclipse

Inicie Ganymede y acceda al menu File -> New -> Other y seleccione de la lista la opcion "Server". Aparecera la siguiente ventana:


Al presionar el boton "Next", accedera a la siguiente ventana para seleccionar el tipo de servidor y la version:

La configuracion correspondiente a un servidor Glassfish no se incluye en la distribucion de Ganymede, por lo cual es necesario descargarla. Para hacerlo, presione el vinculo "Download additional server adapters". Luego de unos instantes, los adaptadores adicionales estaran descargados y podra seleccionar de la lista el correspondiente a Glassfish:


Apareceran varios adaptadores en la lista. Seleccione el correspondiente a Glassfish. Presione el boton "Next" para acceder a la siguiente ventana:


Aqui debera aceptar los terminos y condiciones para poder continuar. Una vez que haga la seleccion, presione el boton "Finish". Observara entonces la siguiente ventana:


Al parecer, Eclipse requiere decargar algo mas y completar su proceso de configuracion, que solo tiene efecto al reiniciiarlo. Solo que presionar el boton "OK" y esperar que Eclipse complete la configuracion y reinicie:


Crear un nuevo servidor para Glassfish en Eclipse

Una vez reiniciado Eclipse, comience el proceso para la creacion de un nuevo servidor como antes. Acceda al menu File -> New -> Other y seleccione la opcion "Server". Aparecera la siguiente ventana:


En la lista, expanda el item "Glassfish" y selecciones de las opciones el adaptador que corresponda con el servidor de Glassfish que desea controlar desde Eclipse. Modifique el nombre del servidor, de ser necesario, y presione el boton "Next" para continuar a la siguiente ventana:


El adaptador seleccionado permite detectar ciertas artefactos del servidor como el script de inicio, el de parada, etc. Para esto es necesario indicar al adaptador la ruta donde el servidor Glassfish se encuentra instalado. Presione el boton "Browse..." y busque esa ubicacion en el sistema, luego presione el boton "Next" para acceder a la siguiente ventana:


Podra observar los datos de configuracion del servidor. No es necesario que practique cambios, por lo que puede presionar el boton "Finish" para completar la creacion del servidor.

Iniciar el servidor Glassfish

En la solapa "Servers" podra observar que el nuevo servidor agregado es listado. Seleccionelo y presione el boton de ejecucion (play) que se encuentra en el menu principal Run -> Run o en el menu contextual.


Podra observar en la solapa "Console" la salida generada por el inicio de Glassfish:

Starting Domain domain1, please wait.
Sep 7, 2008 5:07:45 PM com.sun.enterprise.admin.servermgmt.launch.ASLauncher buildCommand
INFO: C:/Dev/Java/jre/..\bin\java
-Dcom.sun.aas.instanceRoot=C:/glassfish/domains/domain1
...
Con el navegador de su preferencia, acceda a la siguiente URL: http://localhost:4848/asadmin
Podra verificar que el servidor Glassfish responde con la pagina de autenticacion.

Vinculos:

miércoles, 3 de septiembre de 2008

j2ee: Instalacion de Glassfish

Instalar Glassfish

Ejecuter el instalador de Glassfish en consola, ejecutando el siguiente comando:
$> java -jar glassfish-installer-v2ur2-b04-windows.jar
Si ocurre el siguiente error:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Sera necesario ejecutar el instalador dando al runtime de Java mayor memoria de heap. Hagalo de la siguiente manera:
$> java -Mmx256M -jar glassfish-installer-v2ur2-b04-windows.jar
Aparecera entonces la ventana mostrando la licencia de distribucion que debera leer (o al menos mover la barra de desplazamiento hasta abajo) para poder continuar:


Presione entonces el boton "Accept" para continuar con la instalacion.
En la consola se mostrara el largo listado de archivos contenidos en el jar, siendo la ultima linea, la leyenda "Installation complete". Estos archivos son copiados el directorio glassfish. La ruta completa de acceso a este directorio dependera de donde ejecuto el instalador.

Para completar la ejecucion debera ejecutar, empleando Ant, el archivo setup.xml. Para hacerlo realice los siguientes pasos:
$> cd glassfish
$> ant -f setup.xml
Este proceso completara la configuracion basica y generica requerida por Glassfish. Las ultimas lineas generadas por este proceso que observara en la consola son las siguientes:
...
create.domain:
[exec] Using port 4848 for Admin.
[exec] Using port 8080 for HTTP Instance.
[exec] Using port 7676 for JMS.
[exec] Using port 3700 for IIOP.
[exec] Using port 8181 for HTTP_SSL.
[exec] Using default port 3820 for IIOP_SSL.
[exec] Using default port 3920 for IIOP_MUTUALAUTH.
[exec] Using default port 8686 for JMX_ADMIN.
[exec] Domain being created with profile:developer, as specified by variable AS_ADMIN_PROFILE in configuration file.
[exec] Security Store uses: JKS
[exec] Domain domain1 created.
[exec] Admin login information for host [localhost] and port [4848] is being overwritten with credentials provided. This is because the --savelog
in option was used during create-domain command.
[exec] Login information relevant to admin user name [admin] for this domain [domain1] stored at
[C:\Documents and Settings\sg0203921\.asadminpass] successfully.
[exec] Make sure that this file remains protected.
Information stored in this file will be used by asadmin commands to manage
this domain.
[delete] Deleting: C:\glassfish\passfile

BUILD SUCCESSFUL
Total time: 1 minute 20 seconds
Iniciar el servidor de aplicaciones

Una vez completada la instalacion de Glassfish, sera conveniente verificar que inicia correctamente. Para ejecutarlo debera hacer lo siguiente:
$> cd bin
$> asadmin.bat start-domain
Podra observar en consola la siguiente salida que indica el resultado de la ejecucion del servidor:
Starting Domain domain1, please wait.
Log redirected to C:\glassfish\domains\domain1\logs\server.log.
Redirecting output to C:/glassfish/domains/domain1/logs/server.log
Domain domain1 is ready to receive client requests.
Additional services are being started in background.
Domain [domain1] is running [Sun Java System Application Server 9.1_02 (build b04-fcs)] with its configuration and logs at: [C:\glassfish\domains].
Admin Console is available at [http://localhost:4848].
Use the same port [4848] for "asadmin" commands.
User web applications are available at these URLs:
[http://localhost:8080 https://localhost:8181 ].
Following web-contexts are available:
[/web1 /__wstx-services ].
Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
[service:jmx:rmi:///jndi/rmi://SGNARBA20392101:8686/jmxrmi]
for domain management purposes.
Domain listens on at least following ports for connections:
[8080 8181 4848 3700 3820 3920 8686 ].
Domain does not support application server clusters and other
standalone instances.
Mediante un navegador, acceda a la siguiente URL:
http://localhost:4848/asadmin
La pantalla de autenticacion debera aparecer:


Los datos de autentificacion definidos por defectos son:
  • User name: admin
  • Password: adminadmin
Una vez ingresados podra observar la siguiente pantalla:


Finalmente para detener el servidor Glassfish, ejecute los siguiente comandos:
$> asadmin.bat stop-domain
Podra observar en la consola, luego de unos instantes, la siguiente respuesta:
Domain domain1 stopped.
Vinculos:

lunes, 1 de septiembre de 2008

axis2: Ejemplos de la guia de usuario en Eclipse

Preparar los ejemplos

Ver Ejemplos de la guia de usuario

Compilar y ejecutar los ejemplos desde Eclipse

Crear un nuevo proyecto en Eclipse accediendo al menu File -> New -> Java Project. El nombre del proyecto puede ser cualquiera, pero la ruta del codigo fuente a importar es la correspondiente a los ejemplos de la guia de usuario:


Al presionar el boton "Next" accedera a la ventana de "Java Settings". Observe la estructura del proyecto en la siguiente figura:


Seleccione la solapa "Libraries" para agregar las dependencias necesarias para poder compilar los ejemplos. Las librerias requeridas son las que aparecen en la siguiente figura:


Presione el boton "Finish" para concluir con la creacion del proyecto. Ahora es momento de compilar los ejemplos.
En la perspectiva Java, podra encontrar el archivo build.xml en la solapa "Package Explorer". Seleccione este archivo y acceda al menu Run -> Run As. Aparecera la siguiente ventana donde se debe seleccionar la opcion "Ant Build":


En la solapa "Console" podra observar el resultado de la compilacion:
Buildfile: C:\axis2-1.3-samples\samples\userguide\build.xml
compile:
[javac] Compiling 17 source files to
C:\axis2-1.3-samples\samples\userguide\build\classes
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[jar] Building jar:
C:\axis2-1.3-samples\samples\userguide\build\userguide.jar

generate.service:
[jar] Building jar: C:\axis2-1.3-samples\samples\userguide\build\MyService.aar
[copy] Copying 1 file to C:\axis2-1.3-samples\repository\services
[jar] Building jar:
C:\axis2-1.3-samples\samples\userguide\build\MyServiceWithModule.aar
[copy] Copying 1 file to C:\axis2-1.3-samples\repository\services
[jar] Building jar:
C:\axis2-1.3-samples\samples\userguide\build\WsaMappingService.aar
[copy] Copying 1 file to C:\axis2-1.3-samples\repository\services

BUILD SUCCESSFUL
Total time: 1 second
El codigo es empaquetado y almecenado en el directory "Repository". En la siguiente figura se muestran los nuevos paquetes generados:


Ejecutar Axis2 server

Es posible ejecutar el servidor de Axis2 incluido en la distribucion desde Eclipse. Para esto es necesario utilizar la facilidad de Eclipse para ejecutar aplicaciones externas. Acceda al menu Run -> External Tools -> Open External Tools Dialog... y observara la ventana que se muestra en la figura:


En el marco izquierdo, seleccione la opcion "Program" y luego presione el icono "New Launch Configuration". Modifique el nombre de la configuracion y la ubicacion de la aplicacion a ejecutar, en este caso, axis2server. Aparecera un nuevo item bajo la opcion "Program"; seleccionelo y modifique sus datos. Mediante el boton "Browse File System", busque el archivo con el cual se inicia el servidor de Axis2.:


Luego seleccione la solapa "Environment", para agregar una nueva variable de entorno. Presione el boton "New" y agregue la variable AXIS2_HOME, como se muestra en la figura:


Presione el boton "OK" en la ventana "Edit Environment Variable":


Luego presione el boton "Run" en la ventana "External Tools". El resultado sera un error debido a que faltan agregar dependencias para ejecutar el servidor de Axis2 y los ejemplos:

Las siguiente librerias son necesarias:
  • annogen-0.1.0.jar
  • axis2-adb-1.3.jar
  • backport-util-concurrent-2.2.jar
  • commons-codec-1.3.jar
  • commons-fileupload-1.1.1.jar
  • commons-httpclient-3.0.1.jar
  • httpcore-4.0-alpha5.jar
  • mex-impl-1.3.jar
  • wstx-asl-3.2.1.jar
  • XmlSchema-1.3.2.jar
Luego de agregar estar librerias al classpath del proyecto, ejecute nuevamente el servidor de Axis2. En la solapa "Console" podra observar la salida generada:
Using JAVA_HOME    c:\dev\jdk1.5.0_11
Using AXIS2_HOME C:\axis2-1.3-samples
[INFO] [SimpleAxisServer] Starting
[INFO] [SimpleAxisServer] Using the Axis2 RepositoryC:\axis2-1.3-samples\repository
[SimpleAxisServer] Using the Axis2 RepositoryC:\axis2-1.3-samples\repository
[SimpleAxisServer] Using the Axis2 Configuration FileC:\axis2-1.3-samples\conf\axis2.xml
[INFO] Deploying module: addressing-1.3
[INFO] Deploying module: metadataExchange-1.3
[INFO] Deploying module: ping-1.3
[INFO] Deploying module: script-1.3
[INFO] Deploying module: soapmonitor-1.3
[INFO] script module activated
[INFO] Deploying Web service: sample-MyService.aar
[INFO] Deploying Web service: sample-WsaMappingService.aar
[INFO] Deploying Web service: version.aar
[INFO] [SimpleAxisServer] Started
[SimpleAxisServer] Started
[INFO] Listening on port 8080
Acceda mediante un navegador a la URL http://localhost:8080/axis2/services/ para ver los web services desplegados:


Vinculos:
  • Axis2

axis2: Ejemplos de la guia de usuario

Preparar los ejemplos

Descargar la distribucion binaria de Axis2 del siguiente vinculo.

Para ejecutar los ejemplos correspondientes a la guia de usuario, se utilizara la mayor parte de la distribucion de Axis2. A continuacion se muestra el contenido de la misma:


Para comenzar, es posible crear un directorio llamado axis2-samples donde se alojaran los siguientes elementos de la distribucion:
  • repository
  • conf
  • bin
  • log4j.properties
  • commons-logging.properties
Puede ver que en la figura anterior estos elementos estan seleccionados.

Del directorio lib solo se agregaran las librerias necesarias para poder compilar y ejecutar los ejemplos correspondientes a la guia de usuario de Axis2, que son:


En el directorio samples es necesario agregar los ejemplos en el sub-directorio userguide. Observe el contenido final del directorio axis2-samples:


Compilacion de los ejemplos

Para compilar los ejemplos inicie una consola, acceda al directorio con los ejemplos y ejecute Ant:
$> cd axis2-samples/samples/userguide
$> ant
A continuacion puede observar el resultado de una compilacion exitosa:


Una vez compilados los servicios y los clientes que los consumen correspondientes a la guia de usuario, es necesario iniciar el servidor de Axis2 incluido en la distribucion, y luego invocar al cliente correspondiente.
Para iniciar el servidor de Axis2, inicie una nueva consola y ejecute el archivo axis2server.bat:
$> cd axis2-samples/bin
$> axis2server.bat
En el caso de un sistema Linux, sera necesario ejecutar el archivo axis2server.sh.
La siguiente figura muestra la salida por consola correspondiente a la ejecucion del servidor:


Ahora es necesario ejecutar alguno de los clientes de web services incluidos en los ejemplos para verificar el funcionamiento de Axis2.
Para ejecutar un cliente es necesario hacer uso de Ant, ya que el archivo build.xml correspondiente a los ejemplos incluye los targets necesarios para compilar y ejecutar los diversos clientes disponibles.

Para ejecutar el cliente ..., inicie una nueva consola, acceda el sub-directorio con los ejemplos y ejecute Ant empleando el target apropiado:
$> cd axis2-samples/samples/userguide
$> ant run.client.blocking
La siguiente figura muestra la salida por consola correspondiente a la ejecucion del cliente:


Este es el mensaje SOAP que se muestra por consola:

Vinculos: