CoffMan Weblog Volver a la web actual
   Victor Fariña Infante , info about my own projects and thoughts.
 
web actual



.:¿?-_-¿?:.
Anton tiene


Powered by

 



Technology, Java, thoughts and projects of Coffman, host of wickle dot com. feel free to make comments.
[Feb 25, 2006]

Ultimamente no hago mas que leer articulos que hablan de lo mismo, es la pregunta que está en el ambiente, ¿Por qué las empresas de software no funcionan ?.

Pues mi opinion, al igual que en la mayoria de los blogs que he leido, es que la empresas de desarrollo no fijan su objetivo en el Cliente, sino en el software mismo.

El director de Black & Decker durante una exposicion del departamente de marketing, interrumpió diciendo:
" Señores, han confundido el objetivo: Nuestros clientes no quieren taladros…. Nuestros clientes quieren agujeros”. Simplemente impresionante

La Objetivo habitual de las empresas es "ganar dinero", sin embargo se puede ganar dinero de muchos modos, se puede  ganar mucho dinero, se puede ganar el dinero suficiente, todo depende del verdadero objetivo de los dirigentes de la empresa.

Lo cual me lleva a una pregunta "Que esperas que te proporcione tu trabajo? "
Tanto si eres programador como si eres directivo de la misma, en la mayoria de los casos persigues unos objetivos minimos:

  • Vivir bien (no vale querer vivir en la casa de Bill Gates)

  • Trabajar haciendo lo que te gusta (sin contar con que lo que te guste es joder a los compañeros de trabajo, eso no cuenta)

Basado en los objetivos personales minimos, te importa en algo que la empresa gane dinero ? NO.
La empresa debe preocuparse por que los trabajadores "vivan bien" y por que "trabajen a gusto", es sencillo.

Al igual que los trabajadores, los clientes tambien quieren vivir bien (ellos que trabajen como quieran ;) y para que los clientes vivan bien necesitan que se les solucionen todos sus problemas . Y ahí es donde entran las empresas de desarrollo de software, ese si que podria ser un objetivo valido de empresa _"Hacer que los clientes mejoren su calidad de vida"._Para conseguirlo no hay que focalizar el objetivo de una empresa en el "desarrollo de un software" sino mas bien en "solucionar el problema del cliente".

Aplicando esta simple logica obtendremos resultados ;)
Recuerda "Un cliente feliz es un buen cliente".



by coffman

[Feb 21, 2006]

On the process of learning new technologies, I started with JSF. To test it i try to develop an easy application with some modern IDE that implement this technology. The choosed was Sun Java Studio Creator 2 . Starting a new application with JSC 2 is easy, just install the IDE, create a new JSF project, and start dragging components into the web page, you can manage the events just clicked on a button and typing the java code associated to the button.

The problems comes when you need to import an external generated code, for example we use appfuse to generate the skel of our apps. At the moment we import it on eclipse without problems. but JSC2 DON'T HAVE an import button ¿??¿¿? ... Wow impressive , i can't believe it. Well ... Them i try to import the code from the CVS repository, but oh oh, it doesn't work, the interface to connect to a repository is a lot of strange, it asks unnecesary questions and, well, we have spent 45 minutes. Trying to configure CVS was a time comsuption task.

Finally

1 hour and we can't start a project using JSC 2, two of the main features of an IDE was import and CVS access , and JSC 2 lacks of them. I hope JSC 2 include this features in the future because starting a new project is easy and fun, writing web applications fast was a grat thing, and doing it visually was great.



by coffman

[Jan 24, 2006]

Logo de QueresBueno, pues aqui empieza mi andadura con una nueva empresa del Sector de las tecnologías, completamente entusiasmado y con más ganas que nunca, empiezo a trabajar  en la empresa Queres Tecnologias , empresa de desarrollo de Software joven, donde lo importante es hacer bien el trabajo, donde se trabaja con metodologías ágiles, obteniendo un desarrollo de calidad .

Como cualquier cambio, será dificil y paulatino, pero estoy seguro que poco a poco se van a ir asentando en este sector tan complicado y competitivo. Ademas estoy seguro que hay hueco para empresas que se centren en desarrollar Software de Calidad.



by coffman

[Dec 19, 2005]

Pasos basicos para poner a andar DWR en una aplicacion basada en APPFUSE (1.8.2)

1. Añadir DWR jar en /lib/dwr-1.0 2. Añadir a /lib/lib.properties:

# # DWR - https://dwr.dev.java.net/ (Direct Web Remoting) # dwr.version=1.0 dwr.dir=lib.dir/dwr−{lib.dir}/dwr-{dwr.version} dwr.jar=${dwr.dir}/dwr.jar

 

3. Añadir al /properties.xml:

...

 

4. Añadir al /build.xml:

...>

<war destfile="webapp.dist/{webapp.dist}/{webapp.war}"

webxml="${webapp.target}/WEB-INF/web.xml" compress="true">

...

 

5. Añadir servlet para DWR en /metadata/web/servlets.xml:

dwr-invoker DWR Servlet uk.ltd.getahead.dwr.DWRServlet debug true

 

6. Añadir DWR servlet mapping en /metadata/web/servlet-mappings.xml:

dwr-invoker /dwr/\*

 

 

7(Opcional). Excluir DWR del sitemesh en /web/WEB-INF/classes/decorators.xml:

/dwr/*

 

 

8. Añadir la configuracion de DWR,  /WEB-INF/dwr.xml:

 

Si estas usando APPFUSE con la configuracion por defecto, tendras un error al intentar acceder a esta pagina, para arerglarlo tienes asegurarte que spring deja acceder al metodo getUser, en el archivo applicationContext-security.xml: com.queres.sgei.service.UserManager.getUsers=ADM com.queres.sgei.service.UserManager.removeUser=ADM o bien las pruebas las puedes realizar con otros metodos que no sean getUser/getUsers.

Traducido y adaptado de : http://lifeasastruct.blogspot.com/



by coffman

[Nov 30, 2005]

Problema Recientemente tuvimos la necesidad de acceder a un servicio web que nos daba la autenticacion a una cantidad de servicios de un cliente. Este tenia todo centralizado en LDAP y no se permitia el acceso directo al servidor LDAP, solo a traves de un SW que te respondia OK o KO en funcion de si la combinacion login/password era correcta o no. Lo unico que nos dieron es un wsdl que describe el Servicio Web.

Solución
Para empezar con todo esto empezamos a buscar informacion sobre acceder a servicios web via java, y la verdad es que encontramos bastante poco, bastante menos de lo que a mi me gustaría (lo que encontré está en la zona de referencias) Para poder reproducir todo esto, vamos a hacer un ejemplo.

Implementación Como ejemplo nos vale el Servicio Web de Google al cual accederemos para que nos corriga las palabras que le introducimos. El WSDL lo tenemos aqui : Google WSDL PASO 1: Lo que debemos hacer primero es obtener todas las librerias necesarias para el acceso a un servicio web remoto, estas son por lo menos:

  • axis-ant.jar
  • commons-discovery.jar
  • commons-logging.jar
  • jaxrpc.jar
  • log4j-1.2.4.jar
  • saaj.jar
  • wsdl4j.jar
  • axis.jar

Os las podeis bajar todas juntas de aqui.PASO 2: Ahora que tenemos todas las librerias, vamos a generar el proxy de la conexion al servicio web, para ello, usaremos el fantastico WSDL2Java, que viene con axis, y requiere como parametro la ruta al servicio WEB o su URL:

java -classpath "axis-ant.jar:commons-discovery-0.2.jar:commons-logging-1.0.4.jar:jaxrpc. jar:log4j-1.2.8.jar:saaj.jar:wsdl4j-1.5.1.jar:axis.jar" org.apache.axis.wsdl.WSDL2Java http://api.google.com/GoogleSearch.wsdl

Recordad, que si usais Windows, debeis de Cambiar de Sistema Operativo o Sustituir los ":" por ";" punto y coma. Este comando nos genera una estructura de archivos a partir de donde estemos con 6 o 7 archivos que usaremos para realizar la conexion.

PASO 3: Ahora que ya tenemos el proxy de conexion vamos a escribir un simple cliente java que lo use: package GoogleSearch;

public class GoogleSearchClient {

        public static void main(String[] args) throws Exception {
                // Crea el servicio
                GoogleSearchService service = new GoogleSearchServiceLocator();

                // Ahora usamos el servicio para crear un proxy hacia el Service Definition Interface (SDI)
                GoogleSearchPort google = service.getGoogleSearchPort();

                // Hacer la llamada
                String key = "KEY OBTENIDA DE GOOGLE API en www.google.com/api";
                String query = "wickle";
                int start = 0;
                int maxResults = 10;
                boolean filter = true;
                String restrict = "";
                boolean safeSearch = true;
                String languageRestrict = "lang_en";
                String inputEncoding = "UTF-8";
                String outputEncoding = "UTF-8";

                GoogleSearchResult gsr =
                        google.doGoogleSearch(key,query,start,maxResults,filter,restrict,safeSearch,i                                 languageRestrict,inputEncoding,outputEncoding);

                ResultElement[] re = gsr.getResultElements();

                for (int i = 0; i < re.length; i++) {
                        System.out.println(re[i].getURL());
                }
        }
}

PASO 4: Compilamos Todo : javac -classpath "axis-ant.jar:commons-discovery-0.2.jar:commons-logging-1.0.4.jar: jaxrpc.jar:log4j-1.2.8.jar:saaj.jar:wsdl4j-1.5.1.jar:axis.jar" GoogleSearch/*

PASO 5: Ejecutamos ahora el cliente creado : java -classpath "axis-ant.jar:commons-discovery-0.2.jar:commons-logging-1.0.4.jar:
jaxrpc.jar:log4j-1.2.8.jar:saaj.jar:wsdl4j-1.5.1.jar:axis.jar:." GoogleSearch/GoogleSearchClient
- Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
http://www.wickle.com/wiki/index.php/Main_Page
http://www.wickle.com/wikis/index.php/Graphviz_extension
....

et voila ;) ... Ya tenemos creado un cliente de un Servicio Web.

REFERENCIAS http://www.bawsug.org/archives/000008.html http://www.myspotter.com/webservices1.shtml



by coffman

[Oct 02, 2005]

Tras un largo tiempo sin postear nada, aunque igual es que no tenia nada interesante que decir ;) ... Por fin tengo una noticia interesante que contar, aunque sea a nivel personal.

Somos tios !!!! Ya tenemos nuevo miembro en la familia, pesa 3,5 Kg. y mide 51 cm todo un gigante del basket segun los rumores ... posteo una foto en la que se aprecia su parecido a mi hermano.

Para que conste aquí, yo propuse que le pusieran "Tao", un gran nombre ... ;)

Por cierto la porra se queda sin acertantes , nadie puso el dia 1 como dia de nacimiento de la criatura.



by macame

[May 16, 2005]

Este es mi postre preferido, y  de todas las que he probado esta receta es la mas rica ... aunque tambien es la que mas hay que vigilar mientras se hace.

Ingredientes (6 personas):

    • 1 ltr Leche
    • 150 gr. de arroz
    • 100 gr. de azucar
    • 2 ramas de canela
    • 1 corteza de medio limón

Preparación :

Poner la leche a hervir (a fuego muy lento 2 o 3 en vitro) con las 2 ramas de canela y con la corteza de medio limon . Cuendo empieze a hervir, echamos el arroz y bajamos el fuego (al 2 o 3 en la vitro está bien) Se deja unos 20 minutos a fuego muy lento yremoviendo mucho ... Se añade el azucar y se le dá un pequeño herbor (1 o 2 minutos nada mas). Quitamos del fuego el arroz , le quitamos el limon y la canela  y lo servimos frio .



by coffman

[May 16, 2005]

Esta receta es de Arguiñano, la reproduzco aquí, por su facilidad de preparación y por su exquisited, pues está riquisima ;) ... Solo necesitas los siguientes ingredientes :

  • 30 ajos verdes
  • 250 gr. de panceta ahomada
  • 5 huevos
  • 1/2 litro de nata liquida
  • Pan rallado
  • Mantequilla

Preparación : Por un lado pasamos por la sarten la panceta y los ajos , un poco, solamente par adarles color. Por otro lado hacemos la mezcla de 5 huevos y la nata liquida. Esta mezcla es la que usaremos despues. En un molde de Pyrex o cristal lo untamos con mantequilla y pan rallado el fondo. Recubrimos con papel de horno, luego cubrimos con panceta y otra capa de ajetes. Vertemos poco a poco casi toda la mezcla de huevo y nata , despues ponemos otras 2 capas de panceta y ajetes y vaciamos la mezcla de nata y huevos.

Con todo esto ya preparado , precalentamos el horno a 170º . Ponemos el recipiente dentro de otro con agua ( baño maria) y lo metemos todo en el horno a 170 º durante 30 minutos ... Lo quitamos y lo servimos frio o caliente (esta bueno de las 2 maneras)



by coffman

[Mar 07, 2005]

fckeditor is a cool WYSIWYG interface to write formatted HTML . It runs embebbed on a web page and allows users with little technic knowledge to write text like on he was in Openoffice. b2evolution is a blog software maden in php , it allows a user to have a diary online with a little install and a lot of skins to choose with. This are a little notes on how to integrate fckeditor with b2evolution . The page is written on the wiki to allow easy update : fck editor wiki



by coffman

[Feb 28, 2005]

Me acabo de encontrar un framework que puede dar mucho juego, DualRpcServer es un framework para realizar llamadas RPC entre un cliente y un servidor. Estas llamadas pueden ser bidireccionales, un cliente puede acceder a metodos en el servidor y viceversa el servidor puede acceder a metodos en el cliente. Puesto que se establece una  conexion TCP/IP la sesion persiste entre las distintas llamadas RPC. La utilidad de la libreria es basicamente para poder crear clientes extremadamente ligeros (solo interface grafica) que realicen llamadas remotas para todo tipo de operaciones. El mantenimiento de los clientes es minimo (se puede usar Java Webstart) Mas info en la web del DualRpcServer.



by coffman

<< Previous Page :: :: Next Page >>


CoffMan Site


Since July 2002
Victor Fariña Infante (aka CoffMan) creator of wIckle.com