2009-06-11 5 views
5

Non sono sicuro di quello che sto chiedendo ... I ragazzi che sviluppano il software per la società per cui lavoro scrivono tutto in VB. Attualmente sono lo sviluppatore web di questa azienda e sono specializzato in app Flex. Sto pensando di espandermi nella loro area. Ma non voglio fare VB, non intendo bash su VB ma la sintassi di codifica non fa per me. Quindi mi chiedo se Java possa integrarsi con VB? Inoltre non sono sicuro se è importante, ma penso che tutto ciò che fanno è procedurale, e farò OOP.Le app Java possono essere integrate con le app VB?

Grazie.

+0

Visual Basic 6 o .NET? –

+0

La distinzione VB6 o .Net è molto importante. Avete molte più opzioni se VB.Net –

+0

Stanno usando VB6 ... Ho provato a convincerli ad aggiornare ma dichiarano di essere bloccati in vb6 ... non sono sicuro di come funzioni quindi non sono sicuro se questo può essere vero o non. –

risposta

6

Ci sono molte opportunità di integrazione, ma prima di esaminarle, se fossi in te, vorrei riesaminare la domanda stessa.

Dovrebbe essere eccezionale introdurre una nuova lingua in un progetto stabilito. I desideri o le preferenze estetiche o competenze di un singolo sviluppatore non sono una giustificazione sufficiente per farlo. L'introduzione di una nuova lingua in un progetto dovrebbe essere una decisione strategica per il progetto, non un rovescio.

Se si sceglie di ampliare le lingue principali utilizzate per sviluppare il sistema,

  • interoperabilità COM
    è possibile con JACOB. Credo IBM ha un ponte pure. (Vedi AlphaWorks)
  • Java-.NET colmare
    è possibile tramite JNBridge e altri ponti. Questo ha senso solo se VB.NET è in uso.
  • SOAP, scambio documenti XML, REST
    adatto oltre un limite di servizi. Richiede TCP o HTTP o qualche protocollo di rete.
  • archivio dati comune
    può servire come punto di incontro. Sia Java che VB possono leggere e aggiornare i dati in SQL Server, Oracle, MSMQ, MQSeries e così via. Anche un filesystem può essere un punto di integrazione.

Pensare al formato dati correlato, ma idealmente indipendente, al meccanismo di integrazione. Quello che voglio dire è: puoi usare un documento XML per l'integrazione, sia che sia archiviato in un database, sia inviato tramite un'interfaccia REST, o archiviato in un filesystem, o messo/ottenuto su una coda. Puoi anche usare un file separato da virgola su uno qualsiasi di questi meccanismi.

0

Non proprio. Java utilizza CORBA per interoperabilità e VB utilizza COM per l'interoperabilità. Potresti essere in grado di creare un ponte usando JNI, ma capisco che può essere abbastanza doloroso.

+1

Si prega di commentare per dirmi cosa c'è che non va. –

2

Potenzialmente potrebbero esporre un livello di servizio tramite sapone o qualcosa di più semplice? Inoltre, si potrebbe sempre lavorare sullo stesso database con lingue diverse, ma a meno che la maggior parte della logica non sia nelle stored procedure (non necessariamente raccomandando questo approccio), si finisce con codice ripetuto.

-1

È possibile collegare i due utilizzando un adattatore C/C++ per mappare le chiamate JNI con COM. Ma sarebbe orribile. Spero che ci sia una soluzione migliore, ma la mia comprensione è che è piuttosto difficile integrare il codice .NET e Java in quanto entrambi i fornitori (Sun e Microsoft) non hanno alcun incentivo a semplificare questo tipo di sviluppo.

+0

Sun e Microsoft hanno avuto un'iniziativa congiunta di lunga data che funziona su interoperabilità Java + .NET. Ci sono persone che lavorano a tempo pieno su questo in entrambe le società. Nell'ambito della cooperazione in materia di interoperabilità, Microsoft ha consegnato il keynote al J1 nel 2009. – Cheeso

+0

Non lo sapevo. Scusate. –

0

non ho fatto questo credo che si hanno le seguenti opzioni:

  • Utilizzare i Java-COM bridge, come VB utilizza COM. Questa libreria è già stata citata più volte
  • Se si utilizza VB.net, probabilmente si utilizza hessian, poiché ha implementazioni sia Java che C#.
+0

La pagina web per Hessian lo descrive come un protocollo; è più/diverso. Hessian implica un formato di serializzazione dei dati, nonché una libreria e un set di API. Non sembra avere un binding VB6. Hessian mi sembra una risposta molto di nicchia a un problema a cui è già stata data una risposta in modi più generali e accessibili. Servizi Web o REST, ad esempio. – Cheeso

+0

Sono d'accordo, ma ha il vantaggio della semplicità, relativamente ai servizi Web. Usiamo in un'applicazione PHP/Java combinata –

+0

Per quanto riguarda VB6, questo è il motivo per cui ho citato JACOB –