Monografias.com > Computación > Software
Descargar Imprimir Comentar Ver trabajos relacionados

Invocación de Servidor DCOM desde Java



    Hace ya unos pocos años que disponemos de la
    tecnología
    de componentes de Microsoft,
    bien la llamemos COM, DCOM, ActiveX, CDOM+ (ya que realmente poca
    gente sabe la diferencia entre estos términos)

    Hoy en día mal se concibe el desarrollo
    Windows sin el
    uso intensivo de estos componentes (sobre todo en VBasic). 
    Ya es de lo mas normal que una aplicación llame a Excel o
    Word o
    arranque el Outlook para mandar un correo.

    Es posible que también nos interese invocar a
    estos componentes desde Java  lo
    cual veréis que no es tan complicado… Para hacerlo,
    hasta ahora había utilizado Microsoft Visual J++ y su
    herramienta JActiveX pero, hay que buscar más opciones por
    dos razones:

    • Incapacidad de encontrar nuevas referencias a
      integración Java en el Web de
      Microsoft (SDK for Java, máquina virtual,
      etc.)
    • Deseo de mucha gente de usar software
      gratuito

    Hoy os voy a comentar como se puede hacer con una
    solución llamada JACOB http://danadler.com/jacob

    Descarga

    Nos vamos al Web y descargamos el producto:
    JAva COM Bridge

    Nos interesan fundamentalmente dos ficheros (jacob.dll y
    jacob.jar) 

    Vamos a instalarlos como una extensión de java
    ( http://danadler.com/jacob/jacobfaq.html
    )

    Verificamos que tenemos una máquina virtual java
    instalada 

    En el directorio %java_home%/jre/bin copiamos la
    dll

      En el directorio
    %java_home%/jre/lib/ext copiamos el jar

      

    Voy a montar el ejemplo con jcreator (para variar un
    poco 😉 )

     El código
    es bastante simple y vamos a atacar al
    servidor de Automatización OLE del tutorial anterior,
    construido en Visual C++

    import com.jacob.com.*;
    import com.jacob.activeX.*;

    public class LlamadaDcom {

    static void depura(String cadena)
    {
        System.out.println("LlamadaDcom " +
    cadena);
    }

    public static void main(String[] args) {

       depura("Arrancamos la
    aplicación");

       ActiveXComponent sC = new
    ActiveXComponent("dcombasico.Application");
       Dispatch sControl =
    (Dispatch)sC.getObject();

       Variant result = Dispatch.call(sControl,
    "retornaHora");
       depura("El resultado " +
    result.toString());

     }
    }

     Y simplemente compilando y ejecutando, ya lo
    tenemos

     Otras soluciones a
    estudiar

    Hay muchas otras opciones … cada una con sus ventajas
    e inconvenientes (escribidme si conocéis alguna
    más)

    BeanXporter

    JCOM

    jacoZoom

    Java2COM

    Bridge2Java

    Weblogic
    COM

    J-Integra

    Microsoft
    Visual J++

    Conclusiones

    Siempre hay muchas opciones para hacer las cosas…. la
    gracia es buscar la más adecuada en cada caso.

    Como complemento os diré utilizando las nuevas
    capacidades de anotaciones de Java
    1.5
    (o también con Xdoclet),
    podríamos ser capaces de construir clases envoltorio Java
    (Wrappers) de nuestros componentes DCOM de un modo bastante
    sencillo

    Cuando mucha gente me pregunta sorprendido que porque
    comparto todas estas cosas … la respuesta es sencilla … que
    es más importante saber como se hace algo puntualmente o
    la visión de saber cuando es apropiado su uso (que solo
    dan los años de experiencia ;-). El
    conocimiento táctico dura meses, el estratégico
    años ….

    Roberto Canales Mora

    www.adictosaltrabajo.com

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter