Eclipse te permite extender la funcionalildad añadiendo plugins. Si quieres hacer una solucion (terminología de .NET), producto en Eclipse, es muy fácil.
Primero debes tener correctamente resueltas las dependencias de los plugins. Es muy posible que tu plugin use otros plugins. Si te falta alguna dependencia el producto no se generará.
Pulsamos botón derecho sobre nuestra plugin de eclipse New->Product configuration
Insertamos un nombre de fichero de configuracion y
seleccionamos en el wizard * use a launch configuration
En el apartado de Testing pulsamos el link de Synchronize y correguimos los posibles errores. Si nos da un error de "The plug-in 'org.eclipse.platform' is not in the workspace and cannot therefore be modified. Please import it into your workspace and retry."
Para correguir este error simplemente se importa el plugin en el workspace con la opcion de import -> Plug-in Development -> plug-ins and fragments. Se muesta una lista de plugins, de la cual seleccionamos 'org.eclipse.platform'
Wednesday, December 22, 2010
GlassFish V3 Linux:
Para instalar GlassFish en Linux es muy fácil. Existe un manual aqui http://dlc.sun.com/pdf/821-1756/821-1756.pdf
Existen diversos ficheros de instalación. Multiidioma o Inglés y compresión zip o auto-instalador
Instalar la última versión de JDK correspondiente.
Autoinstalador
Descargarte la version de Oracle GlassFish Server 3.0.1.sh
Si no tienes un sistema de x-windows, da error al no encontrar las fuentes tipográficas. Puedes usar la instalación en silent mode junto con un fichero de respuestas para la configuración.
Descargarte la version de Oracle GlassFish Server 3.0.1.sh estableces los permisos de ejecución y sigues los pasos.
No he conseguido instalarlo con el auto-instalador. Así que he optado por el formato zip
Multiidioma
En la versión multiidioma al desplegar un War, me muestra un error. premature end of file. Es un error relacionado con el analizador lexico de XML. No he conseguido solucionarlo.
http://www.oracle.com/us/products/middleware/application-server/oracle-glassfish-server/index.html
Así que la única opción que me ha funcionado ha sido Ingles en formato zip.
ogs-3.0.1.zip
Existen diversos ficheros de instalación. Multiidioma o Inglés y compresión zip o auto-instalador
Autoinstalador
Descargarte la version de Oracle GlassFish Server 3.0.1.sh
Si no tienes un sistema de x-windows, da error al no encontrar las fuentes tipográficas. Puedes usar la instalación en silent mode junto con un fichero de respuestas para la configuración.
Descargarte la version de Oracle GlassFish Server 3.0.1.sh estableces los permisos de ejecución y sigues los pasos.
No he conseguido instalarlo con el auto-instalador. Así que he optado por el formato zip
Multiidioma
En la versión multiidioma al desplegar un War, me muestra un error. premature end of file. Es un error relacionado con el analizador lexico de XML. No he conseguido solucionarlo.
http://www.oracle.com/us/products/middleware/application-server/oracle-glassfish-server/index.html
Así que la única opción que me ha funcionado ha sido Ingles en formato zip.
ogs-3.0.1.zip
Tuesday, December 21, 2010
GlassFish V3 Linux: process already using the admin port 4848
-- In English
when I run glassfishv3 in linux trhow this error
glassfishv3/glassfish/bin# ./asadmin start-domain domain1
There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server.
I havent any port open try -> netstat -tlunp
I thought, is this a problem IPV6? no
the problem that the file /etc/host havent PC name with IP
add this line in the file.
ip_PC name_PC
192.144.168.2 miserver
This works
--In spanish.
Al lanzar glassfishv3 en linux recibo este error
glassfishv3/glassfish/bin# ./asadmin start-domain domain1
There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server.
Evidentemente no tengo ningún puerto en uso netstat -tlunp
Pensaba que era problema del soporte de IPV6, pero tampoco.
Así, ¿que cual es el problema?
El problema es que en el fichero /etc/host no esta definido en nombre del equipo con su ip
así que simplemente hay que añadir
ip_del_equipo nombre_del_equipo
192.144.168.2 servidor
Ya está funcionando.
when I run glassfishv3 in linux trhow this error
glassfishv3/glassfish/bin# ./asadmin start-domain domain1
There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server.
I havent any port open try -> netstat -tlunp
I thought, is this a problem IPV6? no
the problem that the file /etc/host havent PC name with IP
add this line in the file.
ip_PC name_PC
192.144.168.2 miserver
This works
--In spanish.
Al lanzar glassfishv3 en linux recibo este error
glassfishv3/glassfish/bin# ./asadmin start-domain domain1
There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server.
Evidentemente no tengo ningún puerto en uso netstat -tlunp
Pensaba que era problema del soporte de IPV6, pero tampoco.
Así, ¿que cual es el problema?
El problema es que en el fichero /etc/host no esta definido en nombre del equipo con su ip
así que simplemente hay que añadir
ip_del_equipo nombre_del_equipo
192.144.168.2 servidor
Ya está funcionando.
Friday, December 17, 2010
eclipse jet
El JET es la creacion de unas plantillas para la generacion de clases fuentes java, para la creacion de ficheros de texto, parecido al velocity, en el ejemplo creamos XML.
A partir de un formato similar al JSP, se generar los ficheros fuentes java.
El fichero plantilla de JET es parecido a esto con la extension xmljet
. Esto genera un fichero .java para la creacion de ficheros XML
<%@ jet
package="pais.empresa.proyecto.modulo"
class="NombreClaseGenerada"
skeleton="generator.skeleton" %>
<% String variable = (String) parametro1; %>
//fichero XML a generar
<xml><dato><%= variable%>"</dato></xml>
Para pasar parametros hay que incluir otra plantilla de ficheros generator.skeleton (en formato java) que se agregará como cabecera a cada uno de nuestras plantillas JET para generar los ficheros fuentes.
public class CLASS {
public String generate(String parametro1) {
return "";
}
}
Donde CLASS es sustituido por el JET por el parametro que hemos puesto en la plantilla JET en el apartado de class="NombreClaseGenerada"
A partir de un formato similar al JSP, se generar los ficheros fuentes java.
El fichero plantilla de JET es parecido a esto con la extension xmljet
. Esto genera un fichero .java para la creacion de ficheros XML
<%@ jet
package="pais.empresa.proyecto.modulo"
class="NombreClaseGenerada"
skeleton="generator.skeleton" %>
<% String variable = (String) parametro1; %>
//fichero XML a generar
<xml><dato><%= variable%>"</dato></xml>
Para pasar parametros hay que incluir otra plantilla de ficheros generator.skeleton (en formato java) que se agregará como cabecera a cada uno de nuestras plantillas JET para generar los ficheros fuentes.
public class CLASS {
public String generate(String parametro1) {
return "";
}
}
Donde CLASS es sustituido por el JET por el parametro que hemos puesto en la plantilla JET en el apartado de class="NombreClaseGenerada"
Wednesday, December 15, 2010
Creacion de Web Service con GlassFish
Para la creación de Web Service dentro de GlassFish V3 es mucho mas fácil si cabe que con JBoss.
Para tal propósito he usado NetBeans 6.8. Si no tenemos configurado el servidor de GlassFish en NetBeans, lo añadimios
Primer paso crear un proyecto Web Aplication. Dentro de él se crean una serie de carpetas y ficheros de configuración por defecto. Creamos nuestro Pojo al cual le añadimos la annotation @WebService en la definición del nombre de la clase.
Para desplegar el Web Service pulsamos deploy encima del proyecto y ya esta.
Si queremos ver el War, solo tenemos que ir a la vista de ficheros ir al fichero build.xml y pulsar sobre el la acción de dist
Para tal propósito he usado NetBeans 6.8. Si no tenemos configurado el servidor de GlassFish en NetBeans, lo añadimios
Primer paso crear un proyecto Web Aplication. Dentro de él se crean una serie de carpetas y ficheros de configuración por defecto. Creamos nuestro Pojo al cual le añadimos la annotation @WebService en la definición del nombre de la clase.
Para desplegar el Web Service pulsamos deploy encima del proyecto y ya esta.
Si queremos ver el War, solo tenemos que ir a la vista de ficheros ir al fichero build.xml y pulsar sobre el la acción de dist
Tuesday, December 14, 2010
diferencia entre orquestacion y coreografía
Leyendo y leyendo, todavía no he encontrado ningún artículo que ponga claramente cual es la diferencia entre estos conceptos. Al final, creo que hemos sacado una conculsión que cualquiera que crea que es erronea que lo diga.
Un Web service debe ser un servicio de negocio. Este servicio (de negocio) tiene un conjunto de operaciones (operaciones informáticas) que hay que ejecutarlas para llevarlas a buen termino de este servicio de negocio. Por ejemplo, para hacer una compra en una Web, tienes un WS con un conjunto de operaciones (informáticas). Para realizar la compra tienes que llamar a las operaciones de buscar libro, seleccionar libro, introducir usuario, y validar compra. Todas las operaciones son un servicio de negocio definidas dentra de un WS.
Para llevar a cabo la ejecucion de un WS y no de una sola de las operaciones, temenos que coordinar las llamadas entre cada una de las operaciones de los Web Services. La coordinacion de estas operaciones es la orquestación. Hay un director que regula cada una de las llamadas. Estas llamadas se pueden realizar con BPEL para dirigir el flujo, aunque existe un estandar de Oasis para tal fin http://docs.oasis-open.org/ws-tx/wstx-wscoor-1.2-spec-os.pdf
Si queremos realizar una composicion de WS distintos, por ejemplo, comprar un libro y enviarlo para regalo, debemos coordinar las distintas llamadas de los WS de negocio, el WS de compra, empresa A y el WS de la empresa de envío del regalo, empresa B.
Cuando queremos llamar a varios WS (distintos negocios) para hacer algun tipo de servicio compuesto, estas llamadas se realizan una detras de otras a través de un BPEL, por ejemplo. Esto es una coreografia. Cada uno de los servicios sabe como actuar, bailan de manera autónoma ( ya que se ha definido en la orquestación), colaboran para dar un servicio compuesto.
Un Web service debe ser un servicio de negocio. Este servicio (de negocio) tiene un conjunto de operaciones (operaciones informáticas) que hay que ejecutarlas para llevarlas a buen termino de este servicio de negocio. Por ejemplo, para hacer una compra en una Web, tienes un WS con un conjunto de operaciones (informáticas). Para realizar la compra tienes que llamar a las operaciones de buscar libro, seleccionar libro, introducir usuario, y validar compra. Todas las operaciones son un servicio de negocio definidas dentra de un WS.
Para llevar a cabo la ejecucion de un WS y no de una sola de las operaciones, temenos que coordinar las llamadas entre cada una de las operaciones de los Web Services. La coordinacion de estas operaciones es la orquestación. Hay un director que regula cada una de las llamadas. Estas llamadas se pueden realizar con BPEL para dirigir el flujo, aunque existe un estandar de Oasis para tal fin http://docs.oasis-open.org/ws-tx/wstx-wscoor-1.2-spec-os.pdf
Si queremos realizar una composicion de WS distintos, por ejemplo, comprar un libro y enviarlo para regalo, debemos coordinar las distintas llamadas de los WS de negocio, el WS de compra, empresa A y el WS de la empresa de envío del regalo, empresa B.
Cuando queremos llamar a varios WS (distintos negocios) para hacer algun tipo de servicio compuesto, estas llamadas se realizan una detras de otras a través de un BPEL, por ejemplo. Esto es una coreografia. Cada uno de los servicios sabe como actuar, bailan de manera autónoma ( ya que se ha definido en la orquestación), colaboran para dar un servicio compuesto.
Friday, December 3, 2010
junit java eclipse bundle
Estoy realizando un bundle que incluye un conjunto de test con la configuracion de carpetas de maven
src/main/java -> codigo java del bundle
src/test/java -> codigo java de test del bundle
a la hora de compilar y publicar el bundle hay que hacer ciertas modificaciones en el fichero de build.properties
source.. = src/
source.miBundle.jar = src/main/java/,src/test/java
bin.includes = META-INF/,\
lib/dependencias.jar,\
miBundle.jar
Ahora entonces solo hace falta ejecutar desde eclipse "junit para bundles" y ya esta
src/main/java -> codigo java del bundle
src/test/java -> codigo java de test del bundle
a la hora de compilar y publicar el bundle hay que hacer ciertas modificaciones en el fichero de build.properties
source.. = src/
source.miBundle.jar = src/main/java/,src/test/java
bin.includes = META-INF/,\
lib/dependencias.jar,\
miBundle.jar
Ahora entonces solo hace falta ejecutar desde eclipse "junit para bundles" y ya esta
Subscribe to:
Posts (Atom)