Noticias javaHispano.org

martes, 21 de octubre de 2008

10 trucos de Subversion para controlar tu código


1. Usa status para encontrar tu...estado


Con Subversion, si quieres encontrar lo que has modificado ejecutas svn status. Este comando compara los ficheros en tu copia de trabajo (working copy) con aquellos en las areas administradas por Subversion (esos molestos directorios .svn), evitando así la necesidad de un acceso a la red de ida y vuelta:



$ svn status
D fish.c
A shrimp.c
M anemone.c


Ten en cuenta que fish.c está previsto que sea borrado, shrimp.c está previsto que sea añadido, y anemone.c ha sido modificado.


Ahora, por defecto, svn status sólo muestra los ficheros que son interesantes (como aquellos que han sido añadidos, modificados o borrados). Si quieres ver la información de todos los ficheros de tu copia de trabajo, utiliza la opción --verbose


  $ svn status --verbose

44 23 sally README

44 30 sally INSTALL

44 35 harry trout.c

D 44 19 ira fish.c

A 0 ? ? shrimp.c

M 0 ? ? anemone.c

44 36 harry things/rocks.txt


La primera columna representa lo mismo, pero la segunda muestra la revisión de trabajo del elemento. Las tercera y cuarta columnas muestran la revisión del último cambio del elemento y quién la realizó.


Si quieres saber qué ficheros se actualizarán la próxima vez que ejecutes svn update, utiliza la opción --show-updates en el comando svn status


  $ svn status --show-updates --verbose
* 44 23 sally README
44 30 sally INSTALL
* 44 35 harry trout.c
D 44 19 ira fish.c
A 0 ? ? shrimp.c
M * 44 32 sally anemone.c
44 36 harry things/rocks.txt

Puedes ver que los ficheros que serán actualizados son los marcados con un *.


2. Recuerda, puedes mover cosas


He visto personas pasando mucho tiempo en reuniones decidiendo la estructura de directorios y el lugar de los ficheros en un proyecto, pero con Subversion puedes mover ficheros y directorios con total libertad:


  $ svn move foo.c bar.c

A bar.c

D foo.c

Ahora bar.c ha sido marcado para ser añadido y foo.c ha sido marcado para ser borrado. (Así es como Subversion representa un movimiento de ficheros. svn commit Enviará tus cambios al servidor.)

Puedes mover ficheros y directorios directamente en el servidor mediante las URL's:


  $ svn move -m "Move a file" http://svn.red-bean.com/repos/foo.c \
http://svn.red-bean.com/repos/bar.c



Esto realiza el movimiento de foo.c a bar.c en el servidor directamente.


3. Etiquetar y crear ramas mediante copia


En Subversion, las operaciones de rama (branch) y etiquetado (tag) se hacen como copias:


  $ svn copy -m "Tag rc1 rel." http://svn.red-bean.com/repos/trunk \
http://svn.red-bean.com/repos/tags/1.0rc1



Has creado una etiqueta de tu línea principal de desarrollo o troncal (indicada como trunk en términos de Subversion). Si en realidad quieres crear una rama, copia la linea troncal de desarrollo en el directorio branches (ramas), es así de sencillo. Y en Subversion, etiquetar y crear ramas es así de rápido.


En Subversion, etiquetas y ramas son sólo rutas copiadas en el árbol del repositorio. Por convención, las etiquetas se encuentran bajo la ruta /tags y las ramas bajo /branches.


Subversion necesita solo copiar un unico nodo directorio para hacer una copia, lo cual no es realmente rápido, pero ocupa muy poco espacio en el repositorio--no importa el número de ficheros incluidos en la rama o etiqueta. ¡La comunidad de Subversion los llama "cheap copies" ("copia barata") por una buena razón!


No estás limitado a etiquetar todos los ficheros en la misma revision en Subversion: Si necesitas hacer una etiqueta o rama "revision-mezclada", siempre puedes copiar una copia de trabajo en una URL:



$ svn copy -m "Mixed branch." . http://svn.red-bean.com/repos/branch/1.2-mixed

Vete a Branching and Merging para una descripción más extensa de cómo hacer ramas y etiquetar.



4. "Revert" en vez de "delete and update"



Subversion almacena una copia original de cada fichero en el directorio .svn de tu copia de trabajo, de manera que puedes hacer esto:


  $ svn revert I-made-a-boo-boo.txt
Reverted 'I-made-a-boo-boo.txt'


Esto viene bien si no tienes una conexión de red en un momento dado.



5. No temas a tu sistema de control de versiones



Por defecto, ciertos sistemas de control de versiones que no mencionaré (como CVS) traducen los finales de línea (de CR [Unix] a CRLF [Windows] y viceversa) y expanden palabras reservadas (como $Id$) en tus ficheros. Esto es muy útil hasta que subes al repositorio un fichero binario y CVS, en un alarde de generosidad, convierte tu fichero en algo incomprensible.


Subversion nunca hará nada sobre tus datos salvo que tú se lo pidas explícitamente.

Repitamos de nuevo:



SUBVERSION NUNCA HARÁ NADA SOBRE TUS DATOS A MENOS QUE SE LO PIDAS.

Puedes añadir cualquier fichero binario a tu repositorio de Subversion y no tener que hacer nada especial para que Subversion no destruya tu fichero. Sin embrago, si añades un fichero de texto (un fichero .java o .c, por ejemplo), podrías querer que Subversion controle la transformación del fin de linea automáticamente por ti. Esto se hace usando las propiedades de Subversion.



En este caso, tendrás que asignar a la propiedad svn:eol-style el valor native:



  $ svn propset svn:eol-style native halibut.c


y subir tu cambio al repositorio.



Puedes aprender de tu cliente de Subversion para añadir ciertas propiedades a tus ficheros automáticamente--lee la sección de Automatic Properties y su configuración para más información.




6. Log, log, log tu log



El comando log de Subversion proporciona datos útiles y compactos basado en un commit atómico de Subversion. Por ejemplo:


$ svn log
------------------------------------------------------------------------
r3 | sally | Mon, 15 Jul 2002 18:03:46 -0500 | 1 line

Added include lines and corrected # of cheese slices.
------------------------------------------------------------------------
r2 | harry | Mon, 15 Jul 2002 17:47:57 -0500 | 1 line

Outline sandwich fixins.
------------------------------------------------------------------------
r1 | sally | Mon, 15 Jul 2002 17:40:08 -0500 | 1 line

Initial import
------------------------------------------------------------------------


Cada entrada del log muestra el número de revisión de la entrada, el autor, la fecha, el número de líneas en la entrada de log (para ayudar en el análisis de la salida de svn log), y el mensaje de log en sí mismo. Si quieres ver las rutas que cambiaron en la salida de tu log, pasa la opción --verbose:

$ svn log --verbose ------------------------------------------------------------------------ r3 | sally | Mon, 15 Jul 2002 18:03:46 -0500 | 1 line Changed paths: M /trunk/sandwich.txt

Added include lines and corrected # of cheese slices.
------------------------------------------------------------------------
r2 | harry | Mon, 15 Jul 2002 17:47:57 -0500 | 1 line
Changed paths:
M /trunk/sandwich.txt

Outline sandwich fixins.
------------------------------------------------------------------------
r1 | sally | Mon, 15 Jul 2002 17:40:08 -0500 | 1 line
Changed paths:
A /trunk/sandwich.txt

Initial import
--------------------------------------------------------------------



En los ejemplos anteriores, habrás notado que no hemos pasado ningún fichero o directorio específico (llamados targets) al comando de log. Si ejecutas svn log sin especificar targets (objetivos), Subversion presupone que te refieres al directorio de trabajo actual. Subversion usa una revision de incio de 1, y la revision de trabajo de tu directorio de trabajo actual como la revision final. (Puedes saber cuál es esta revision de trabajo usando svn status -v, como mencionamos anteriormente.)



Y ahora una pequeña nota: Si subes un cambio de un fichero e inmediatamente ejecutas svn log, no verás el mensaje de log de tu commit reciente. Esto es debido a que la "revision de trabajo" de tu directorio de trabajo no ha sido actualizado (subir un fichero no actualiza inmediatamente tu directorio de trabajo o cualquier otro fichero). Si ejecutas svn update y a continuación svn log, verás el mensaje de log "perdido".



Lee http://svnbook.red-bean.com/en/1.5/svn.tour.history.html y http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.log.html para más información sobre el uso de svn log.




7. Deshacer rápidamente un commit erróneo



Supón que tienes una copia de trabajo de /trunk y descubres que el cambio que hiciste en la revisión 303, que modificó oyster.c, es erróneo por completo--nunca debería haberse subido al repositorio. Puedes usar svn merge para "deshacer" el cambio en tu copia de trabajo*, y entonces subir la modificación local al repositorio. Todo lo que necesitas hacer es especificar una diferencia inversa usando svn merge:


  $ svn merge -r 303:302 http://svn.example.com/repos/calc/trunk
U oyster.c

Usa svn diff para verificar que el cambio es correcto, y entonces súbelo al repositorio.



Para más información, lee Undoing Changes


* Es decir, restaura la última versión de tu repositorio a su estado anterior; Subversion todavía tendrá el commit "malo" en el repositorio. Siendo un sistema de control de versiones, el trabajo de Subversion es recordar todo lo que le hayas enviado.




8. Recuperar elementos eliminados



Si borras un fichero de tu repositorio y quieres "resucitarlo" a la última versión del respositorio, la forma más fácil es con svn copy desde una revisión anterior a su eliminación a tu copia de trabajo. Usa svn log -v para encontrar la revisión donde fue borrado, y entonces haz tu copia:


 $ svn copy --revision 807 \
http://svn.red-bean.com/repos/trunk/perch.c ./perch.c

Para más detalles, mira Resurrecting deleted items.




9. Cambia a una rama sin crear una nueva copia de trabajo



Como Subversion trata las etiquetas y las ramas como rutas normales en el repositorio, puedes ejecutar svn update para actualizar tu copia de trabajo al nombre de la rama con la que quieres comenzar a trabajar. Introduce el comando svn switch.


svn switch actualiza tu copia de trabajo para apuntar a un nuevo árbol en el repositorio--es decir, el árbol de una rama en vez del árbol troncal.


Esta es la manera que Subversion tiene para mover una copia de trabajo a una nueva rama.


  $ svn switch http://svn.red-bean.com/repos/branches/vendors-with-fix .
U myproj/foo.txt
U myproj/bar.txt
U myproj/baz.c
U myproj/qux.c
Updated to revision 31.

Para más detalles, ver Traversing branches.



10. Visualizar o montar tu repositorio



Si tu repositorio Subversion está instalado a través del servidor Apache HTTP Server (es decir, accedes a él mediante una URL que comienza con http), Subversion te da un par de regalos muy sabrosos:



Primero, puedes acceder desde cualquier navegador web al repositorio de Subversion y navegar como quieras através de la última revisión del repositorio.



tips1-top10-browse.jpg



Segundo, si usas un sistema operativo que conozca el protocolo DAV, puedes montar tu repositorio de Subversion en tu escritorio (sólo lectura):



tips2.jpg



tips3-top10-mount.jpg



Además de ser conveniente para ver el contenido de tu repositorio, es útil para compartir ficheros con usuarios distintos a Subversion.

martes, 30 de septiembre de 2008

EL GRUPO ACOTEL CONSTRUYE SU NUEVA LÍNEA DE SERVICIOS SWIFT CON TECNOLOGÍA SUN MICROSYSTEMS

Ahora un poco de autobombo:

El Grupo Acotel ha anunciado el lanzamiento de nuevos servicios
SWIFT para ayudar a las empresas y entidades financieras de España a
gestionar mejor las comunicaciones financieras a través de la
plataforma SWIFT (Society for Worldwide Interbank Financial
Telecommunications). El anuncio se ha realizado en la conferencia Sibos
2008,celebrada en Viena, marco en el que Sun Microsystems ha presentado
también la nueva gama de productos Sun Open Suite para SWIFT.

Basada en esta línea de productos Sun Open Suite para SWIFT,
la solución de Acotel consiste en un servicio totalmente gestionado que
permite a los clientes procesar pagos y facilitar las comunicaciones
SWIFT de manera rentable, incluyendo extractos de cuenta, abonos,
transferencias y servicios de crédito sin necesidad de instalar,
integrar y soportar una compleja infraestructura tecnológica.



“Nuestros clientes buscan una forma fácil de conectarse a la red
SWIFT. Aunque es importante automatizar y estandarizar los procesos
financieros, muchas empresas no pueden afrontar programas con un alto
coste inicial y elevados gastos de mantenimiento”, comenta Carlos Pastor, CEO Red Financiera del departamento de Servicios SWIFT del Grupo Acotel.
“Hemos seleccionado la solución Sun Open Suite para SWIFT porque es la
más rentable e innovadora disponible hoy en el mercado”.



Con la solución de Sun, los clientes pagan a Acotel una cuota fija
mensual por utilizar los servicios SWIFT. De esta manera, pueden
ordenar pagos a través de un portal seguro sin necesidad de integrar
numerosos sistemas de pago, conectarse a diversos servicios financieros
propietarios o esperar a los informes de final de mes. Asimismo, pueden
visualizar diariamente informes actualizados y acceder de manera
inmediata a toda la información contable y de pagos de las sucursales.



“Gracias a la solución de Acotel-Sun podemos reducir los costes visibles y ocultos asociados a los procesos de pago”, señala Ambreesh Khanna, Global Hed, Financial Servicies Industry de Sun Microsystems.
“Este servicio resulta ideal para cualquier compañía o institución, así
como para bancos de pequeña evergadura que quieran mejorar la
rentabilidad de sus comunicaciones SWIFT o incorporarse a la red SWIFT
con una mínima inversión”.



La gama de productos Sun Open Suite para SWIFT ha sido diseñada para
impulsar los proyectos de integración SWIFTnet, y construida sobre la
plataforma EAI Financiera de Sun, Java CAPS, así como distintas
opciones de hardware, sistemas operativos y de alta disponibilidad,
según las necesidades particulares de las entidades que participan en
SWIFT. La plataforma SWIFT ha otorgado a Sun por décimo año consecutivo
el premio SWIFTReady Label en la categoría de Integración de
Aplicaciones Empresariales (EAI), en reconocimiento al producto
insignia de Sun en SOA, Java CAPS.



Sobre Grupo Acotel

Acotel comprende un grupo de empresas especializadas en el entorno de
las Tecnologías de la Información (Gestión de Comunicaciones, Gestión
de TI, Ingeniería de Sistemas y Suministro de Software). Además de
SWIFT Service Bureau, SWIFT brinda a Acotel la oportunidad de ofrecer
una completa gama de servicios a compañías e instituciones financieras,
que engloban el despliegue, integración, desarrollo y soporte de
operaciones relacionadas con la conexción SWIFTNet. Acotel es el
integrador de soluciones líder en áreas específicas como: Pagos,
Unificación, Anti-Blanqueo de Dinero, Tesorería... para el mercado
español y latinoamericano. Para más información visite: www.acotelsa.com


jueves, 10 de julio de 2008

Ha muerto Sergio Algora, fundador de 'El niño gusano'


El cantante y poeta zaragozano Sergio Algora , de 39
años y fundador de grupos como "La costa brava" o "El niño Gusano", ha
fallecido esta madrugada en su domicilio, mientras dormía, al parecer
por un fallo cardiaco.



Según informa en su página web Fran Fernández, compañero
del grupo "La Costa Brava", Sergio Algora ya estaba "delicado del
corazón", del que hace unos años había sido operado, y durante la
madrugada "éste le ha fallado".

Algora fue la voz de "El niño gusano" hasta su
disolución en 1999, un grupo que alcanzó cierto éxito en la escena
independiente española de los años noventa y que grabó discos como
"Circo luso", "El efecto lupa", "El escarabajo más grande de Europa" o
"Fantástico entre los pinos".


Con "La Costa Brava" grabó discos como "Futuros padres",
"Se hacen los interesantes" o "Los días más largos", trabajos que
presentó en directo en las más importantes ciudades españolas.

Además de destacar en la música, Sergio Algora también
escribió libros de poesía, como "Paulus e Irene", "Otro rey, la misma
reina", "Cielo ha muerto" y "Los versos dictados"; la colección de
relatos "A los hombres de buena voluntad", y la obra de teatro "La
lengua del bosque".

miércoles, 2 de julio de 2008

MÁS DE LA MITAD DE LAS GRANDES EMPRESAS ESPAÑOLAS INTEGRARÁN SOA EN 2012

Según un estudio elaborado por IDC, del cual también se desprende que SOA pasará de un modelo centrado en la integración a un modelo centrado en los procesos de negocio.


Hasta ahora, el mercado SOA ha estado centrado en modelos de integración en donde las empresas aprovechaban la centralización y estandarización de los recursos tecnológicos. Pero SOA, como afirmó Fernando Maldonado, analista de IDC, “es un concepto que evoluciona”. Y por ello, las Arquitecturas Orientadas a Servicios van a experimentar durante los próximos meses un cambio de paradigma, pasando de ese modelo de integración, a los procesos de negocio. Así lo reflejan los datos recogidos en el informe realizado por IDC España durante los meses de enero y febrero de 2008, en el que se desprende que, además, este cambio favorecerá la adopción inexorable de esta plataforma por parte de las grandes empresas tanto con aquellas que tiene más de 1.000 empleados como las que superan los 5.000 trabajadores.

Asimismo, y como consecuencia de este cambio, la consultora afirma que nacerá una nueva tipología de empresa con un enfoque centrado en el negocio, que invertirá en SOA y lo hará de forma secuencial y con mayor pragmatismo, buscando “un valor demostrable, que tenga impacto en sus negocios, que existan mejores prácticas en el mercado y que haya una tecnología probada y unos proveedores experimentados”, explicó Maldonado.

A día de hoy, las compañías de más de 5.000 empleados son las que han liderado las inversiones en SOA (con un 36 por ciento) y según predice IDC, seguirán haciéndolo. Además, en 2012 más del 50 por ciento de las grandes empresas estarán involucradas en proyectos SOA, frente al 10 por ciento que lo hace en la actualidad (donde el tres por ciento lo hace a escala departamental mientras que el siete por ciento lo hace en toda la empresa).

Y es que, según la consultora, “el futuro de las empresas para ineludiblemente por SOA”. Para Maldonado, a pesar de la existencia de una serie de inhibidores que pueden afectar a este mercado como son la crisis económica y la falta de trabajadores especializados en este campo, las previsiones son optimistas. “El problema de SOA es que ha estado muy vinculado con el departamento de tecnología por lo que ha provocado poca visibilidad en la dirección y los procesos de negocio”, por ello, en los próximos años, la adopción de SOA será necesario involucrar a las unidades de negocio con la tecnología.

jueves, 12 de junio de 2008

Sun libera JCAPS 6 con la suite MDM

Debido a mi actual trabajo necesito esta herramienta para trabajar y la verdad es que mi opinión sobre ella deja un poco que desear. El problema no es lo potente o no que es...sino lo complicado que es desarrollar con calidad y rapidez sobre ella.

Partiendo de que su editor es un NetBeans 4, y que no hay ayuda sobre el desarrollo, ni te permite moverte entre métodos de una manera fácil ni da demasiadas ayudas...ni siquiera coloca los imports necesarios cuando necesitas una clase en concreto...por no hablar de otro tema importante: el repositorio...es de lo antiguo, es decir yo bloqueo el fichero con el que trabajo, me permite sacar las diferencias entre versiones en un fichero que crea nuevo y que nadie entiende (yo no al menos) y finalmente excepciones que saltan porque sí, lentitud en la compilacion porque realiza verificaciones de todo los elementos del repositorio...vamos que realmente trabajas sobre ello el 60% de la jornada laboral, el resto a esperar que termine con las compilaciones, builds de la aplicacion y carga de fuentes en el editor...una maravilla.

Tras unos cuantos años en esta profesion me encuentro con que he vuelto a trabajar como hace 4 años.

Pero no todo es malo, Sun compró esta herramienta y tras un tiempo y un par de versiones por fin saca una version, la 6 que está ya integrada con los productos de Sun...por fin ha llegado el momento.

Aqui dejo la noticia que me ha llegado de esta version...tan esperada y que no sé cuánto tiempo tardaré aún en poder usar (de momento parece que dejo la version 5.1.2 y paso a la 5.1.3, que ya contaré qué tal funciona.

On Tuesday Sun Microsystems released the latest version of its
business integration and service-oriented architecture package. Version
6 of the Java Composite Application Platform Suite (JCAPS) bundles
several technologies designed to provide "an open and extensible
platform" for developing software infrastructures using an SOA
approach.


JCAPS 6 is built on a modular enterprise service bus (ESB) based on
the Java Business Integration (JBI) standard in Sun's Open ESB project.
ESBs often serve as foundation for a service-oriented architecture
(SOA), enabling different components to connect with each other through
messaging, mediation, routing, etc. The suite also bundles an
intelligent event processor with the ability to identify trends and
pattern in real time, plus new business process management features
that support BPEL 2, support for the latest version of the Sun's
GlassFish enterprise server and support for the NetBeans integrated
development environment (IDE).


"This is the next evolution of our platform and one of the only open
source offerings of its kind," said Ashesh Badani, director of Sun's
SOA group.


Also available in this release as an optional part of the JCAPS 6
bundle is Sun's first master data management (MDM) offering. The MDM
suite, also available as a stand-alone product, is designed to provide
a 360-degree view of an organization's "master data," the data that
define a business entity (customer, subscriber, citizen, etc.). MDM
refers to a series of processes designed to ensure that master data is
kept up to date and coordinated across an enterprise. As Sun puts it,
"With the ability to create single views of their master data and
support for various industry models, organizations can benefit by
identifying their most valuable customers and implementing
opportunities to cross-sell and up-sell their products and services."

The MDM suite is based on Mural, an open source project based on
technology Sun acquired three years ago with its purchase of
application integration company SeeBeyond. In JCAPS 6, Sun updates
SeeBeyond's Integrated Composite Application Network (ICAN) technology.


"MDM is something that had existed in SeeBeyond software since the
mid-'90s," observed Dan Sholler, vice president of research at Gartner.
"We just didn't call it that back then."


This version of JCAPS is the first to fully exploit that
acquisition, Sholler added. In fact, he sees JCAPS 6 as Sun's first
true application infrastructure suite. "The original version of JCAPS
wasn't really a suite," he said. "They just sort of put a whole bunch
of stuff in a bag. This version is made of things that were designed to
work together."


Sun claims that JCAPS is the first software suite of its kind with
true open source credentials, and that's a fair claim, Sholler said.
"We've seen a growing interest when it comes to SOA-style
infrastructure in open source," Sholler commented. "The attitude toward
open source has definitely changed in the recent past. More companies
are taking open source solutions seriously for mission critical
situations. Sun might be poised to take advantage of that change."


"Open source is core to our strategy of increasing our market
penetration," said Mark Herring, Sun's vice president of software
infrastructure marketing. "It allows us to reach developers and
companies that would never have thought of it before. It's about
acquiring new customers while providing the same advantages to our
existing customers. It's one of the big reasons we went down the
open-source path."