2009-06-11 8 views
5

No estoy seguro exactamente de lo que estoy preguntando .... Los chicos que hacen el desarrollo de software para la empresa para la que trabajo escriben todo en VB. Actualmente soy el desarrollador web de esta empresa y me especializo en aplicaciones Flex. Estoy pensando en expandirme a su área. Pero no quiero hacer VB, no pretendo criticar a VB, pero la sintaxis de codificación no es para mí. Entonces, me pregunto si Java se puede integrar con VB. También no estoy seguro de si importa, pero creo que todo lo que hacen es de procedimiento, y voy a hacer POO.¿Pueden las aplicaciones de Java integrarse con las aplicaciones de VB?

Gracias.

+0

Visual Basic 6 o .NET? –

+0

La distinción VB6 o .Net es muy importante. Usted tiene muchas más opciones si VB.Net –

+0

Están usando VB6 ... Intenté convencerlos de actualizar pero dicen que están bloqueados en vb6 ... no estoy seguro de cómo funciona, así que no estoy seguro si eso puede ser cierto o no. –

Respuesta

6

Existen muchas oportunidades de integración, pero antes de examinarlas, si fuera usted volvería a examinar la pregunta.

Debe ser excepcional introducir un nuevo idioma en un proyecto establecido. Los deseos o las preferencias estéticas o habilidades de un solo desarrollador no son una justificación suficientemente buena para hacerlo. Introducir un nuevo idioma en un proyecto debe ser una decisión estratégica para el proyecto, no una decisión reñida.

Si usted elige para ampliar los idiomas principales utilizados para desarrollar el sistema,

  • interoperabilidad COM
    es posible con JACOB. Creo que IBM tiene un puente también. (Marque alphaWorks)
  • Java-.NET Bridging
    es posible a través de JNBridge y otros puentes. Esto tiene sentido solo si VB.NET está en uso.
  • SOAP, intercambio de documentos XML, RESTO
    adecuado sobre un límite de servicios. Requiere TCP o HTTP o algún protocolo de red.
  • almacenes de datos comunes
    puede servir como un punto de encuentro. Tanto Java como VB pueden leer y actualizar datos en SQL Server, Oracle, MSMQ, MQSeries, etc. Incluso un sistema de archivos puede ser un punto de integración.

Piense en el formato de datos como relacionado, pero idealmente independiente del mecanismo de integración. Lo que quiero decir es: puede usar un documento XML para la integración, ya sea que esté almacenado en una base de datos, o enviado a través de una interfaz REST, o almacenado en un sistema de archivos, o puesto/puesto en una cola. También puede usar un archivo separado por comas en cualquiera de esos mecanismos.

0

No realmente. Java usa CORBA para la interoperabilidad, y VB usa COM para la interoperabilidad. Puede hacer un puente usando JNI, pero entiendo que puede ser bastante doloroso.

+1

Por favor comente para decirme lo que está mal. –

2

Potencialmente podrían exponer una capa de servicio a través de jabón o algo más simple? También siempre se puede trabajar contra la misma base de datos con diferentes idiomas, sin embargo, a menos que la mayor parte de la lógica esté en procedimientos almacenados (no necesariamente se recomienda este enfoque), entonces se termina con código repetido.

-1

Puede unir los dos usando un adaptador C/C++ para mapear llamadas JNI con COM. Pero eso sería horrible. Espero que haya una solución mejor, pero entiendo que es bastante difícil integrar el código .NET y Java ya que ambos proveedores (Sun y Microsoft) no tienen ningún incentivo para optimizar ese tipo de desarrollo.

+0

Sun y Microsoft han tenido una iniciativa conjunta de larga duración trabajando en Java + .NET interoperabilidad. Hay personas trabajando a tiempo completo en esto en ambas compañías. Como parte de la cooperación interoperativa, Microsoft pronunció el discurso principal en J1 en 2009. – Cheeso

+0

No sabía nada de eso. Lo siento. –

0

no he hecho esto creo que usted tiene las siguientes opciones:

  • Use la Java-COM bridge, como VB utiliza COM. Esta biblioteca ya fue mencionada aquí varias veces
  • Si está usando VB.net, probablemente use hessian, ya que tiene implementaciones Java y C#.
+0

La página web de Hessian lo describe como un protocolo; es más/diferente. Hessian implica un formato de serialización de datos, así como una biblioteca y un conjunto de API. No parece tener un enlace VB6. Hessian me parece una respuesta muy específica a un problema que ya ha sido respondido de manera más general y accesible. Servicios web o REST, por ejemplo. – Cheeso

+0

Acepto, pero tiene la ventaja de la simplicidad, en relación con los servicios web. Usamos en una aplicación PHP/Java combinada –

+0

Con respecto a VB6, esta es la razón por la que mencioné a JACOB –

Cuestiones relacionadas