En eclipse live se puede ver el video que muestra la creacion de una aplicacion sencilla empleando las nuevas prestaciones de WTP 3.0:
Video
Vinculos:
martes, 29 de julio de 2008
domingo, 27 de julio de 2008
cache: Introduccion
El termino Cache
Fue acunado por Lyle R. Johnson, editor que buscaba un termino mas descriptivo al utilizado por sus creadores, "high-speed buffer". Cache es una palabra francesa que significa ocultar.
Funcionamiento
El cache es almacenamiento temporario para aquellos datos que son utilizados con frecuencia. El cache esta compuesto por:
Fue acunado por Lyle R. Johnson, editor que buscaba un termino mas descriptivo al utilizado por sus creadores, "high-speed buffer". Cache es una palabra francesa que significa ocultar.
Funcionamiento
El cache es almacenamiento temporario para aquellos datos que son utilizados con frecuencia. El cache esta compuesto por:
- Un conjunto de datos, que son copia de los datos en algun medio de almacenamiento
- Una forma de identificar la frecuencia de uso de esos datos
- Una politica de reemplazo de los datos en el cache
- Una politica de escritura de los datos en el cache al medio de almacenamiento
- Cache @ Wikipedia
miércoles, 23 de julio de 2008
scm: Diff entre versiones de un archivo
Configuracion del entorno de usuario
Edite el archivo .bashrc en su directorio home:
Es necesario montar a la vista de clearcase en la cual se encuentra el archivo a analizar:
Finalmente debera observar la siguiente ventana:
El circulo azul indica la ultima version del archivo del cual se desea obtener la diferencia con otra. En la imagen se borraron algunos nombres para evitar confusiones.
Podra seleccionar esa ultima version o alguna anterior, solo debe asegurarse que un circulo rojo pinte el borde del circulo correspondiente a la version para la cual desea obtener las diferencias.
Luego acceda al menu principal y efectue la seleccion que se muestra a continuacion:

Al seleccionar la opcion "Selected vs. other...", aparecera una nueva ventana donde podra seleccionar la "otra" version a comparar. Luego de hacer esto, podra observar las diferencias en una ventana con dos marcos, el izquierdo mostrando la "otra" version y el derecho mostrando la version seleccionada.
Vinculos:
Edite el archivo .bashrc en su directorio home:
vi $HOME/.bashrcy agregue la siguiente linea:
alias ct=/usr/atria/bin/cleartoolEjecucion de Diff grafico sobre un archivo
Es necesario montar a la vista de clearcase en la cual se encuentra el archivo a analizar:
ct setview [view-tag]por ejemplo:
ct setview vista_desarrolloVerifique la que vista haya sido montada:
ct pwvy vera como respuesta en la consola:
Working directory view: ** NONE **Acceda al directorio, en la vista, donde se encuentra el archivo a analizar:
Set view: vista_desarrollo
cd /vobs/proyecto/src/main/java/paquete/Luego ejecute la herramienta grafica que muestra el arbol de versiones:
ct lsvtree -g [nombre-archivo]por ejemplo:
ct lsvtree -g Clase.javaSi obtiene el siguiente error:
Error: Can't open display:implica que no ha configurado correctamente su servidor X en su sistema Windows.
Finalmente debera observar la siguiente ventana:
Podra seleccionar esa ultima version o alguna anterior, solo debe asegurarse que un circulo rojo pinte el borde del circulo correspondiente a la version para la cual desea obtener las diferencias.
Luego acceda al menu principal y efectue la seleccion que se muestra a continuacion:
Al seleccionar la opcion "Selected vs. other...", aparecera una nueva ventana donde podra seleccionar la "otra" version a comparar. Luego de hacer esto, podra observar las diferencias en una ventana con dos marcos, el izquierdo mostrando la "otra" version y el derecho mostrando la version seleccionada.
Vinculos:
sábado, 28 de junio de 2008
oo: Programacion Orientada a Objetos
Que es la Programacion Orientada a Objectos?
Es el metodo de implementacion por el cual un programa es organizado a partir de un conjunto de objetos que cooperan entre si, los cuales son instancias de clases, las cuales son miembros de una jerarquia de clases, vinculadas por relaciones jerarquicas.
Es importante destacar:
Vinculos:
Es el metodo de implementacion por el cual un programa es organizado a partir de un conjunto de objetos que cooperan entre si, los cuales son instancias de clases, las cuales son miembros de una jerarquia de clases, vinculadas por relaciones jerarquicas.
Es importante destacar:
- La unidad fundamental en la POO es el objeto, no los algoritmos
- Cada objeto es instancia de alguna clase
- Las clases pueden estar relacionadas unas con otras por relaciones jerarquicas
Vinculos:
martes, 24 de junio de 2008
oo: Unified Modelling Language (UML)
Introduccion e historia
UML es un lenguaje de modelado de proposito general que provee notacion grafica. La especificacion de UML es mantenida por el Object Management Group (OMG) y se basa en el UML Metamodel, que es un Meta-Object Facility Metamodel (MOF).
En 1994, dos de los padres de los metodos mas populares de modelado orientado a objetos, Rumbaugh y Booch, fueron contratados por Rational y comenzaron a trabajar en una metodologia que unificara las existentes:
Debido a la abundancia de lenguajes de modelado orientado a objetos, algunos de ellos propietarios, la tecnologia orientada a objetos no estaba siendo adoptada con rapidez. Rational encargo a The Three Amigos crear un lenguaje de modelado unificado no propietario.
En 1996, el consorcio UML Partners, bajo la direccion tecnica de The Three Amigos, fue creado para completar la especificacion del Unified Modelling Language (UML - Lenguaje de modelado unificado).
El borrador de la especificacion UML 1.0 fue presentado al OMG en Enero de 1997. Finalmente, luego de integrar a la especificacion otros esfuerzos de estandarizacion, la especificacion UML 1.1 fue presentada al OMG en Agosto de 1997 y adoptada meses despues, en Noviembre.
UML se encuentra fuertemente influenciado por OMT. La notacion de casos fue introducida por Objectory (Jacobson) , mientras que la de componentes lo fue por Booch.
Recursos introducidos por otros metodos, como Tarjetas CRC (CRC Cards) y el metodo de Analisis de Roles (OORam) tambien son tenidos en cuenta por UML, de manera de abarcar el mas amplio espectro.
Modelado
Mediante los diversos tipos de diagramas que ofrece UML, es posible representar el modelo de un sistema mediante tres vistas:
En la especificacion UML 2.0, existen 13 tipos de diagramas categorizados en forma jerarquica. Este conjunto de diagramas puede ser agrupado en dos grandes grupos:
Diagramas de estructura: Muestran que compone al sistema
UML es un lenguaje de modelado de proposito general que provee notacion grafica. La especificacion de UML es mantenida por el Object Management Group (OMG) y se basa en el UML Metamodel, que es un Meta-Object Facility Metamodel (MOF).
En 1994, dos de los padres de los metodos mas populares de modelado orientado a objetos, Rumbaugh y Booch, fueron contratados por Rational y comenzaron a trabajar en una metodologia que unificara las existentes:
- OMT, mas propicio para el analisis orientado a objetos (OOA), de Rumbaugh
- Metodo Booch, mas propicio para el diseno orientado a objetos (OOD), de Booch
Debido a la abundancia de lenguajes de modelado orientado a objetos, algunos de ellos propietarios, la tecnologia orientada a objetos no estaba siendo adoptada con rapidez. Rational encargo a The Three Amigos crear un lenguaje de modelado unificado no propietario.
En 1996, el consorcio UML Partners, bajo la direccion tecnica de The Three Amigos, fue creado para completar la especificacion del Unified Modelling Language (UML - Lenguaje de modelado unificado).
El borrador de la especificacion UML 1.0 fue presentado al OMG en Enero de 1997. Finalmente, luego de integrar a la especificacion otros esfuerzos de estandarizacion, la especificacion UML 1.1 fue presentada al OMG en Agosto de 1997 y adoptada meses despues, en Noviembre.
UML se encuentra fuertemente influenciado por OMT. La notacion de casos fue introducida por Objectory (Jacobson) , mientras que la de componentes lo fue por Booch.
Recursos introducidos por otros metodos, como Tarjetas CRC (CRC Cards) y el metodo de Analisis de Roles (OORam) tambien son tenidos en cuenta por UML, de manera de abarcar el mas amplio espectro.
Modelado
Mediante los diversos tipos de diagramas que ofrece UML, es posible representar el modelo de un sistema mediante tres vistas:
- Vista de Requerimientos Funcionales
Diagrama de Casos de Uso son utilizados principalmente - Vista de Estructura Estatica
Diagramas de Clase y de Componentes son utilizados principalmente - Vista de Comportamiento Dinamico
Diagramas de Secuencia, de Colaboracion, de Actividad y de Transicion de Estados son utilizados principalmente
En la especificacion UML 2.0, existen 13 tipos de diagramas categorizados en forma jerarquica. Este conjunto de diagramas puede ser agrupado en dos grandes grupos:
Diagramas de estructura: Muestran que compone al sistema
- de Clases
- de Objetos
- de Componentes
- de Paquetes
- de Despliegue
- de Casos de Uso
- de Actividad
- de Secuencia
- de Colaboracion
- de Transicion de Estados
Etiquetas:
orientacion a objetos,
uml
mock: Comportamiento para metodos void
Para configurar el comportamiento en metodos que retornan algun valor, se emplea el metodo estatico expect correspondiente a la clase org.easymock.EasyMock. Por ejemplo:
Vinculos:
InetAddress addr = createMock(InetAddress.class);Para configurar el comportamiento en metodos void, o sea, metodos que no devuelven valor alguno, es necesario emplear el metodo estatico lastExpectCall justo despues de configurar la invocacion al metodo del objeto mock. Por ejemplo:
expect(addr.getHostAddress()).andReturn("localhost");
byte[] bytes = new byte[8192];Asi como en el ejemplo anterior una excepcion fue configurada, se pueden emplear cualquiera de los metodos asociados al expect.
OutputStream os = createMock(OutputStream.class);
os.write(bytes, 0, bytes.length);
expectLastCall().andThrow(new IOException());
Vinculos:
domingo, 22 de junio de 2008
oo: El Metodo Booch
Es una metodologia ampliamente utilizada en el analisis y diseno de software y fue creada por Booch durante su desempeno en Rational Software Corporation.
El metodo define diferentes modelos para describir un sistema, soportando el desarrollo iterativo e incremental. El metodo tambien incluyo seis(6) tipos de diagramas:
Vinculos:
El metodo define diferentes modelos para describir un sistema, soportando el desarrollo iterativo e incremental. El metodo tambien incluyo seis(6) tipos de diagramas:
- De clases
- De objetos
- De transicion de estados
- De modulos
- De procesos
- De interaccion
Vinculos:
oo: ObjectOry y OOSE
ObjectOry es una metodologia basada en el paradigma de orientacion a objetos, creada por la compania Objectory Systems, fundada en 1987 por Jacobson. Es una extension de lo que se conoce como Metodo Ericsson, un lenguaje de modelado de objetos creado por la compania Ericsson.
Durante 1991, Ericsson adquiere gran parte de Objectory Systems, creando la subsidiaria Objectory AB. En 1995, Rational Software Corporation adquiere dicha subsidiaria.
Object-Oriented Software Engineering (OOSE) es la metodologia para el analisis y diseno de software desarrollada por Jacobson en 1992 durante su participacion en la compania Objectory AB. Es la primera metodologia que emplea Casos de Uso en el analisis de software.
Cuando en 1995 Rational Software Corporation adquiere Objectory AB, OOSE es empleado como parte de la base que funda lo que se conoce como Rational Unified Process (RUP).
Vinculos:
Durante 1991, Ericsson adquiere gran parte de Objectory Systems, creando la subsidiaria Objectory AB. En 1995, Rational Software Corporation adquiere dicha subsidiaria.
Object-Oriented Software Engineering (OOSE) es la metodologia para el analisis y diseno de software desarrollada por Jacobson en 1992 durante su participacion en la compania Objectory AB. Es la primera metodologia que emplea Casos de Uso en el analisis de software.
Cuando en 1995 Rational Software Corporation adquiere Objectory AB, OOSE es empleado como parte de la base que funda lo que se conoce como Rational Unified Process (RUP).
Vinculos:
Etiquetas:
oo,
orientacion a objetos
oo: Object Modelling Technique (OMT)
OMT es un lenguaje de modelado de objetos orientado al analisis y diseno de software. Fue creado durante 1991 por Rumbaugh, entre otros, como una herramienta para el desarrollo de sistema basados en el paradigma de orientacion a objetos.
OMT es el predecesor de Unified Modelling Language (UML) y muchos elementos introducidos por OMT fueron heredados por UML.
Vinculos:
OMT es el predecesor de Unified Modelling Language (UML) y muchos elementos introducidos por OMT fueron heredados por UML.
Vinculos:
Etiquetas:
oo,
orientacion a objetos
jueves, 19 de junio de 2008
ws: Mecanismo de invocacion de un Web Service
Invocacion en el servidor
Invocacion en el Cliente
- El mensaje SOAP es recibido desde el transporte (HTTP, JMS).
- Los manejadores de mensajes que se encargan del preprocesamiento de los mismos son invocados (persistir mensajes, analizar el encabezado, etc.).
- Determinar el servicio del mensaje (que operacion del WSDL invoca el mensaje).
- Para la operacion del WSDL, determinar el metodo a invocar en la clase Java apropiada. A esta clase se la llama Java target y a este proceso se lo conoce como dispatching.
- Entregar el mensaje SOAP al sub-sistema encargado de la serializacion para que lo deserialice en objetos Java que seran pasados como parametros al Java target.
- Invocar el Java target usando los parametros generados por el sub-sistema de serializacion y obtener el objecto Java retornado.
- Entregar el objeto Java retornado al sub-sistema de serializacion para ser serializado en XML segun lo especificado por el WSDL para el mensaje de retorno.
- Encapsular en un mensaje SOAP el XML generado a partir del objeto Java retornado, segun lo especificado por el WSDL para el mensaje de retorno.
- Entregar el mensaje SOAP al transporte para ser enviado al cliente.
Invocacion en el Cliente
- Se crea una instancia de la clase que implementa la interfaz Java para el endpoint del Web Service (SEI). El sub-sistema de invocacion emplea algun factory para crear instancias de SEI (Service Endpoint Interface). Las instancias se crean en el momento de ejecucion o se obtienen mediante JNDI. Las instancias SEI son implementadas usando proxies Java y manejadores de invocacion (invocation handler).
jax-ws: Que es y que mejora sobre JAX-RPC
Que es JAX-WS?
JAX-WS no es un entorno para el desarrollo de aplicaciones SOA sino que es un conjunto de herramientas que facilitan las tareas requeridas para consumir y desarrollar Web Services, los componentes de un entorno distribuido basado en SOA.
Mejoras introducidas por JAX-WS
Algunas de las mejoras introducidas por JAX-WS sobre su predecesor JAX-RPC son las siguientes:
JAX-WS no es un entorno para el desarrollo de aplicaciones SOA sino que es un conjunto de herramientas que facilitan las tareas requeridas para consumir y desarrollar Web Services, los componentes de un entorno distribuido basado en SOA.
Mejoras introducidas por JAX-WS
Algunas de las mejoras introducidas por JAX-WS sobre su predecesor JAX-RPC son las siguientes:
- Especificacion simplificada
- Mejoras en el mapeo WSDL a Java
- Soporte para endpoints REST
- Reemplazo del data binding de XML Schema a Java por JAXB 2.0
- Uso de annotations para controlar la creacion del WSDL a partir de la interfaz Java
- Deployment descriptors eliminados por el uso de annotations
- Introduccion de las interfaces Dispatch y Provider para manejo directo de XML salteando el data binding de JAXB
Etiquetas:
java,
jax-rpc,
jax-ws,
web services
viernes, 6 de junio de 2008
agile: Introduccion a metodologias agiles
Los comienzos de lo que hoy son las metodologias agiles se fundan en XP (Extremme Programming) a fines de la decada del 90.
XP pone enfasis en:
XP fue gratamente recibido por:
XP pone enfasis en:
- Pruebas de unidad (Unit testing)
- Programacion de a pares (Pair programming)
- Simplificacion de la recopilacion de requerimientos
XP fue gratamente recibido por:
- Programadores/Desarrolladores: Menos demoras, productos utilizables y cercanos a las necesidades de los usuarios
- Marketing/Duenos del Producto: Menor tiempo de desarrollo, aumento en la calidad del producto
- Incrementar la frecuencia de las iteraciones
- Permitir que el equipo de trabajo defina las fechas de entrega
- Producir software utilizable
- Incorporar requerimientos en forma paulatina
Suscribirse a:
Entradas (Atom)