March 17 2012

Montar una carpeta compartida en VirtualBox

Saturday, March 17, 2012 11:18
Posted in category Informática

Hoy he estado trasteando desde Windows 7 con una máquina virtual con Red Hat 5 Enterprise instalado. Necesitaba ver desde la máquina virtual una carpeta de mi ordenador local por lo que utilicé las herramientas gráficas de VirtualBox para crear la carpeta compartida tal y como se muestra en las siguientes imágenes pero no veía la carpeta compartida no aparecía por ningún sitio:


Para solucionarlo nada tan fácil como crear un punto de montaje, por ejemplo en /media/vboxshared y montar nuestra carpeta en ese directorio con el siguiente comando:

mount -t vboxsf <<carpeta_compartida>> /media/vboxshared

En mi caso:

mount -t vboxsf portal /media/vboxshared
March 16 2012

Arrancar ODI Studio en Linux

Friday, March 16, 2012 13:11
Posted in category Oracle

Los desarrolladores y administradores utilizan Oracle Data Integrator (ODI) Studi para acceder a los Repositorios ODI (Master y Work Repository).
Siempre que he utilizado ODI ha sido bajo una instalación en Windows. Hoy he realizado la instalación en una máquina Linux y no encontraba el ejecutable.

Para lanzar el ODI Studio en Linux, simplemente tendremos que ejecutar el siguiente comando:

./ORACLE_HOME/oracledi/client/odi.sh

El cual abrirá la interfaz visual siempre que estén corriendo las X Windows.

March 11 2012

Vuelve SimCity!

Sunday, March 11, 2012 14:22
Posted in category Informática, Otros

March 8 2012

Variables $_SERVER en PHP

Thursday, March 8, 2012 15:37
Posted in category Programación
GATEWAY_INTERFACE = <?php echo $_SERVER['GATEWAY_INTERFACE']; ?> <br>
SERVER_ADDR = <?php echo $_SERVER['SERVER_ADDR']; ?> <br>
SERVER_NAME = <?php echo $_SERVER['SERVER_NAME']; ?> <br>
SERVER_SOFTWARE = <?php echo $_SERVER['SERVER_SOFTWARE']; ?> <br>
SERVER_PROTOCOL = <?php echo $_SERVER['SERVER_PROTOCOL']; ?> <br>
REQUEST_METHOD = <?php echo $_SERVER['REQUEST_METHOD']; ?> <br>
REQUEST_TIME = <?php echo $_SERVER['REQUEST_TIME']; ?> <br>
QUERY_STRING = <?php echo $_SERVER['QUERY_STRING']; ?> <br>
DOCUMENT_ROOT = <?php echo $_SERVER['DOCUMENT_ROOT']; ?> <br>
HTTP_ACCEPT = <?php echo $_SERVER['HTTP_ACCEPT']; ?> <br>
HTTP_ACCEPT_CHARSET = <?php echo $_SERVER['HTTP_ACCEPT_CHARSET']; ?> <br>
HTTP_ACCEPT_ENCODING = <?php echo $_SERVER['HTTP_ACCEPT_ENCODING']; ?> <br>
HTTP_ACCEPT_LANGUAGE = <?php echo $_SERVER['HTTP_ACCEPT_LANGUAGE']; ?> <br>
HTTP_CONNECTION = <?php echo $_SERVER['HTTP_CONNECTION']; ?> <br>
HTTP_HOST = <?php echo $_SERVER['HTTP_HOST']; ?> <br>
HTTP_REFERER = <?php echo $_SERVER['HTTP_REFERER']; ?> <br>
HTTP_USER_AGENT = <?php echo $_SERVER['HTTP_USER_AGENT']; ?> <br>
HTTPS = <?php echo $_SERVER['HTTPS']; ?> <br>
REMOTE_ADDR = <?php echo $_SERVER['REMOTE_ADDR']; ?> <br>
REMOTE_HOST = <?php echo $_SERVER['REMOTE_HOST']; ?> <br>
REMOTE_PORT = <?php echo $_SERVER['REMOTE_PORT']; ?> <br>
SCRIPT_FILENAME = <?php echo $_SERVER['SCRIPT_FILENAME']; ?> <br>
SERVER_ADMIN = <?php echo $_SERVER['SERVER_ADMIN']; ?> <br>
SERVER_PORT = <?php echo $_SERVER['SERVER_PORT']; ?> <br>
SERVER_SIGNATURE = <?php echo $_SERVER['SERVER_SIGNATURE']; ?> <br>
PATH_TRANSLATED = <?php echo $_SERVER['PATH_TRANSLATED']; ?> <br>
SCRIPT_NAME = <?php echo $_SERVER['SCRIPT_NAME']; ?> <br>
REQUEST_URI = <?php echo $_SERVER['REQUEST_URI']; ?> <br>
PHP_AUTH_DIGEST = <?php echo $_SERVER['PHP_AUTH_DIGEST']; ?> <br>
PHP_AUTH_USER = <?php echo $_SERVER['PHP_AUTH_USER']; ?> <br>
PHP_AUTH_PW = <?php echo $_SERVER['PHP_AUTH_PW']; ?> <br>
AUTH_TYPE = <?php echo $_SERVER['AUTH_TYPE']; ?> <br>
March 4 2012

Web Services con Axis2 y Netbeans II, Creación de un cliente

Sunday, March 4, 2012 17:40

En el artículo anterior explicabamos paso a paso cómo crear nuestro primer Web Service. En este artículo os enseñaré como realizar un cliente que invoque a nuestro primer servicio web, es decir un cliente que hable con nuestro servidor.

Si recordais, el servicio web que habíamos desarrollado era capaz de realizar la suma de 2 números.  Si queremos conocer qué funcionalidad nos ofrece el servicio y cómo comunicarnos con él, nos valdremos de un fichero WSDL (Web Services Description Language) que no es más que un descriptor de los servicios en formato XML.

Para acceder al fichero WSDL accederemos a la siguiente dirección: http://localhost:8080/axis2/services/Calculadora?wsdl .

Axis permite generar a partir de un fichero WSDL toda una serie de clases cliente que resuelven la comunicación con el servicio web y que utilizaremos para comunicarnos con él. Para tal tarea, una vez que  hemos accedido a la anterior dirección, procederemos a guardar el resultado en un fichero con el nombre calculadora.wsdl. Para la generación de las clases utilizaremos la utilidad wsdl2java ,  que viene dentro de la distribución binaria de axis2

Abrimos un terminal en nuestro ordenador y ejecutamos el siguiente comando para obtener las clases necesarias: (recordad los pasos que seguimos al actualizar el PATH en el artículo anterior)

C:\calculadora\wsdl2java -uri C:\calculadora\Calculadora.wsdl

Este comando nos generará una serie de fuentes java en la misma carpeta donde lo ejecutemos dentro de una nueva carpeta con el nombre  “src”. En nuestro caso habrá creado los siguientes ficheros:

src/es/calculadora/CalculadoraCallbackHandler.java
src/es/calculadora/CalculadoraStub.java

Con estas clases crearemos un nuevo proyecto Java en Netbeans con el nombre ClienteCalculadora. El proyecto después de haber incluido las clases y haber importado las librerias de axis2 quedará con la siguiente estructura:

Con todo esto ya podemos utilizar las clases que nos ha generado Axis y crearo un programa de prueba que se conecte con nuestro servicio web. Crearemos un programa de prueba como el siguiente:

package es.calculadora;
 
import java.rmi.RemoteException;
 
public class PruebaConexion {
 
	public static void main(String[] args) {
 
		/*
                 * Clases que nos abstraen de la conexión con el web service
                 * generadas a través del fichero wsdl
		 */
		CalculadoraStub calculadora = null;
		CalculadoraStub.Sumar request = null;
		CalculadoraStub.SumarResponse response = null;
 
		try {
 
			calculadora = new CalculadoraStub();
			request = new CalculadoraStub.Sumar();
			// establecemos los parámetros
			request.setSumando1(7);
                        request.setSumando2(2);
			// invocamos al web service
			response = calculadora.sumar(request);
			// mostramos la respuesta
			System.out.println("La suma es: " + response.get_return());
 
		} catch (RemoteException excepcionDeInvocacion) {
			System.err.println(excepcionDeInvocacion.toString());
		}
 
	}
}

El resultado que nos devolverá la ejecución del programa anterior será: “La suma es 9”. Y ya está! ya hemos creado nuestro primer cliente que se conecta a un servicio web.

March 3 2012

Web Services con Axis2 y Netbeans

Saturday, March 3, 2012 13:49

Axis2 es la nueva versión del contenedor de Web Services AXIS, una de las librerias más extendidas para implantar Servicios Web soportando el protocolo SOAP.

Sin duda Axis2 se ha convertido en la solución de referencia para construir Web Services y desplegarlos en entornos de producción exigentes. Soporta los protocolos de Web Services más utilizandos como SOAP y REST.

En este tutorial os voy a explicar los pasos necesarios para publicar un sencillo servicio web utilizando Axis2 y apoyandonos en la herramienta Netbeans.

Requisitos:

Necesitaremos el siguiente software:

  • Servidor web Apache Tomcat 6.x o superior, en su versión Binaria (Core –> zip).
  • Motor de servicios web Apache Axis2:  Necesitaremos:
    •   La distribución Standard Binary Distribution
    •   La distribución WAR (Web Archive Distribution)
  • JDK de Java, en versión JDK 5.x o superior
  • IDE Netbeans 6x o superior

 

Pasos Previos:

  1. Antes de comenzar con nuestro primer servicio web tendremos que tener instalado en nuestro ordenador el JDK de Java y tener establecida la variable de sistema JAVA_HOME.
    En nuestro caso:
    JAVA_HOME=”C:\Program Files\Java\jdk1.6.0_21″
  2. Deberemos tener también el servidor de aplicaciones Apache Tomcat correctamente instalado así como establecida la variable de entorno CATALINA_HOME a la ruta del mismo.
    En nuestro caso:
    CATALINA_HOME=C:\Program Files\Apache Software Foundation\Tomcat 6.0
  3. Descargar la versión binaria de Apache Axis2 y copiar la distribución War al directorio de aplicaciones de Apache Tomcat
    • Descomprimiremos la versión binaria de Axis2 en la carpeta C:\librerias\axis2 y estableremos la variable AXIS2_HOME=C:\librerias\axis2 y añadiremos a la variable PATH del sistema la siguiente rura: C:\librerias\axis2\bin
    • Copiaremos el fichero axis2.war a C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps

 

Si ahora arrancasemos el servidor de aplicaciones Apache Tomcat  (CATALINA_HOME\bin\startup.bat) veriamos como se ha realizado el deploy de la aplicacion axis2.war:

Si accedemos ahora a la dirección URL http://localhost:8080/axis2 veremos que nuestra aplicación se encuentra instalada:

Creación del primer Servicio Web:

Vamos a hacer un servicio web calculadora muy sencillo al que invocaremos con 2 números y del que recibiremos una respuesta con la suma de ambos. Haremos también el programa cliente que realice la petición.

 

El primer paso consistirá en la creación de un proyecto en Netbeans (File –> New Project) al que pondremos de nombre “CalculadoraWS“.  Elegiremos un proyecto de la categoría Java y de tipo “Java Class Library“:

Una vez creado el proyecto, deberemos crear el paquete “es.calculadora” y una clase de nombre Calculadora:

package es.calculadora;
 
public class Calculadora {
 
	public int saludar(int sumando1, int sumando2) {
		return sumando1 + sumando2;
	}
}

Para poder indicar a Axis la existencia de dicho servicio deberemos crearar un fichero de tipo aar (Axis ARrchive, que viene a ser un equivalente a un fichero Jar de Java). Para ayudarnos en la creación y ensamblado de dicho fichero vamos a optar por la instalación de un plugin en Netbeans:

Accederemos a Tools –> Plugins –> Available Plugins donde tendremos que buscar e instalar el plugin “Axis2 Support” .

Una vez instalado tendremos que acceder a Tools –> Options para configurar donde se encuentra el fichero axis2.war y la URL de axis2:

  • Ruta axis2.war: C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\axis2.war
  • Ruta URL web: http://localhost:8080/axis2

En este punto ya tendremos el plugin de axis2 configurado en Netbeans.  Ahora nos queda indicarle a Axis el nuevo servicio creado. Para ello crearemos un nuevo servicio axis2 a partir de la clase Calculadora.java tal y como se muestra en las siguientes imágenes:

La estructura del proyecto debería ser similar a la mostrada en la siguiente:

El siguiente paso es realizar el deploy del servicio :

Y ya tendremos listo nuestro primer servicio web a la espera de que un cliente lo invoque:

Como podemos ver, a la hora de hacer el deploy desde Netbeans se ha generado el fichero Calculadora.aar necesario para que Axis2 reconozca el nuevo servicio:

El último paso será crear un cliente que se comunique con nuestro servicio web.

February 29 2012

Oferta cuenta expansión Banco Sabadell

Wednesday, February 29, 2012 14:32
Posted in category Otros

¿Cuál es el mejor banco para domiciliar la nómina en 2012? Con los tiempos que corren y la crisis que estamos sufriendo mucha gente se está realizando esta pregunta. Para todos aquellos que dispongan de una nómina, Banco Sabadell de España ofrece un gran servicio. Parece ser que ahora los bancos quieren mejorar su imagen y todos quieren ofrecer una cuenta nómina sin comisiones.

Disfrutar de una cuenta sin comisiones al domiciliar la nómina, la pensión o los ingresos periódicos con la Cuenta Expansión no ha sido nunca más sencillo. Con esta cuenta podremos gestionar nuestro dinero con exigencia y eficacia sin que nos cueste nada. Sólo hay  que domiciliar la nómina,  la pensión o los ingresos periódicos para empezar a disfrutar de las ventajas de esta cuenta nómina: sin comisiones, reintegros gratis y mucho más.

Osea con solo domiciliar la nómina,pensión o ingreso regular mensual por un importe mínimo de 700 euros, se accederá a tener una cuenta sin ningún gasto ni comisión ya sea de administración o mantenimiento, ni por realizar transferencias nacionales ni por ingresar cheques de otras entidades nacionales.

Por si fuera poco  por la domiciliación de recibos de luz, gas, teléfono fijo, móvil e Internet, te devuelven el 3% de dichos recibos, hasta un máximo de 20 euros mensuales.

La oferta es válida, a partir de enero de 2012, por la domiciliación de una nómina, pensión o ingreso regular mensual por un importe mínimo de 700 euros.

Si necesitas más información sobre esta cuenta, puedes conseguirla en Internet o en cualquier oficina de Banco Sabadell

February 26 2012

Formatear minutos en HH:MM:SS desde PL/SQL

Sunday, February 26, 2012 18:15
Posted in category Oracle

Imaginemos que queremos mostrar el número de minutos que ha durado una llamada en el formato HH:MM:SS, para ello nada más sencillo que realizar la siguiente query:

SELECT to_char(trunc(sysdate)+N/24/60/60,'HH24:MI:SS') FROM dual;

Donde N es el número de minutos que queremos formatear.

El resultado de una llamada que durase 156 minutos sería el siguiente:

>>SELECT to_char(trunc(sysdate)+156/24/60/60,'HH24:MI:SS') FROM dual;
00:02:36
February 25 2012

Buscar ficheros creados entre 2 fechas en Linux

Saturday, February 25, 2012 9:58

Si necesitas buscar ficheros creados entre 2 fechas el truco consiste en crear 2 ficheros creados entre las fechas que queremos buscar:

touch f2007 -d 01/01/2007
touch f2008 -d 01/01/2008

para posteriormente utilizarlos como parámetros del comando find:

find . -newer f2007 -and -not  -newer f2008

El anterior comando buscará todos los ficheros que se han creado en todo el año 2007.

February 24 2012

Leer y procesar un fichero XML desde Java

Friday, February 24, 2012 19:39
Posted in category Informática

Aquí les dejo un corto pero simple ejemplo de cómo procesar de un String con una cadena XML desde Java:

 
import java.io.StringReader;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import org.xml.sax.InputSource;
 
 
public class Main {
 
 
    public static void main(String[] args) {
 
            String xml = "<agenda>"
                         + "<contacto tipo=\"amigo\">"
                         + "    <nombre>Oscar</nombre>"
                         + "    <apellido>Carrascosa</apellido>"
                         + "    <edad>28</edad>"
                         + "</contacto>"
                         + "<contacto tipo=\"amiga\">"
                         + "    <nombre>Hellen</nombre>"
                         + "    <apellido>McGregor</apellido>"
                         + "    <edad>31</edad>"
                         + "</contacto>"
                         + "</agenda>";
 
 
 try{
      DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
      domFactory.setNamespaceAware(true); 
      DocumentBuilder builder = domFactory.newDocumentBuilder();
      Document doc = builder.parse(new InputSource(new StringReader(xml)));
 
      NodeList todosContactos = doc.getElementsByTagName("contacto");
      Node unContacto             = todosContactos.item(0);
 
      if (unContacto.getNodeType() == Node.ELEMENT_NODE){
          Element elemento = (Element) unContacto;
          System.out.println(elemento.getAttribute("tipo"));
          NodeList lista = elemento.getElementsByTagName("nombre").item(0).getChildNodes();
          Node valor = (Node) lista.item(0);
          System.out.println( valor.getNodeValue());         
      }
    }catch(Exception ex){
          ex.printStackTrace();
    }
 
 
}
 
 
}

Página 4 de 64« Inicio...23456...Fin »