Могут ли приложения Java интегрироваться с приложениями VB? - PullRequest
5 голосов
/ 11 июня 2009

Я не уверен, что именно я спрашиваю .... Ребята, которые занимаются разработкой программного обеспечения для компании, в которой я работаю, пишут все на VB. В настоящее время я являюсь веб-разработчиком этой компании и специализируюсь на приложениях Flex. Я думаю о расширении в их области. Но я не хочу делать VB, я не хочу использовать BB, но синтаксис кодирования не для меня. Поэтому мне интересно, может ли Java интегрироваться с VB? Также не уверен, имеет ли это значение, но я думаю, что все, что они делают, является процедурным, и я буду заниматься ООП.

Спасибо.

Ответы [ 5 ]

6 голосов
/ 11 июня 2009

Существует множество возможностей для интеграции, но перед тем, как их изучить, на вашем месте я бы пересмотрел сам вопрос.

Следует добавить новый язык в уже существующий проект. Желания, эстетические предпочтения или навыки одного разработчика не являются достаточным основанием для этого. Введение нового языка в проект должно быть стратегическим решением для проекта, а не второстепенным.

Если вы решите расширить основные языки, используемые для разработки системы,

  • COM-взаимодействие
    возможно с JACOB . Я считаю, что у IBM тоже есть мост. (Проверьте alphaworks)
  • Соединение Java- .NET
    возможно через JNBridge и другие мосты. Это имеет смысл, только если VB.NET используется.
  • SOAP, обмен документами XML, REST
    подходит за границы услуг. Требуется TCP или HTTP или некоторый сетевой протокол.
  • общие хранилища данных
    может служить местом встречи. И Java, и VB могут читать и обновлять данные в SQL Server, Oracle, MSMQ, MQSeries и т. Д. Даже файловая система может быть точкой интеграции.

Представьте, что формат данных связан с механизмом интеграции, но в идеале не зависит от него. Я имею в виду следующее: вы можете использовать XML-документ для интеграции, независимо от того, хранится ли он в базе данных, или отправляется через интерфейс REST, или хранится в файловой системе, или помещается / попадает в очередь. Вы можете использовать файл через запятую над любым из этих механизмов.

2 голосов
/ 11 июня 2009

Потенциально они могут выставить служебный слой через мыло или что-то попроще? Также вы всегда можете работать с одной и той же базой данных с разными языками, однако, если большая часть логики не находится в хранимых процедурах (не обязательно рекомендует этот подход), то вы в конечном итоге получите повторный код.

0 голосов
/ 11 июня 2009

Я не сделал этого, я думаю, у вас есть следующие варианты:

  • Используйте Java-COM bridge , так как VB использует COM. Эта библиотека уже упоминалась здесь несколько раз
  • Если вы используете VB.net, вы, вероятно, используете гессиан , поскольку он имеет реализации на Java и C #.
0 голосов
/ 11 июня 2009

Вы можете связать их с помощью адаптера C / C ++ для сопоставления вызовов JNI с COM. Но это было бы ужасно . Я надеюсь, что есть лучшее решение, но я понимаю, что довольно сложно интегрировать код .NET и Java, поскольку у обоих поставщиков (Sun и Microsoft) нет стимулов для оптимизации такого рода разработки.

0 голосов
/ 11 июня 2009

Не совсем. Java использует CORBA для взаимодействия, а VB использует COM для взаимодействия. Возможно, вам удастся построить мост, используя JNI , но я понимаю, что это может быть довольно болезненно.

...