Лучшее решение для использования EJB из Excel - PullRequest
1 голос
/ 18 сентября 2008

Мы хотели бы предоставить доступ к некоторым нашим EJB-компонентам из Excel. Цель состоит в том, чтобы предоставить API, пригодный для использования в VBA.

Наши EJB-компоненты в основном являются сеансными компонентами без сохранения состояния, которые выполняют простые операции CRUD с POJO.

Некоторые возможные решения:

  • Предоставление EJB-компонентов в качестве веб-сервисов и создание библиотеки VB / C #, обертывающей их,
  • Использование Corba для доступа к EJB из C #,
  • Создание библиотеки COM, которая использует Java для доступа к EJB,

Приветствуются указатели на платформы для этих решений или других идей.

Ответы [ 6 ]

2 голосов
/ 10 мая 2009

Я работаю над проектом с открытым исходным кодом под названием XLLoop - эта структура позволяет вам представлять функции POJO как функции Excel.

Состоит из:

  1. Надстройка Excel (XLL), которая связывается по TCP с:
  2. Java-сервер / библиотека, которая вызывает методы Java.

Вы можете встроить этот сервер функций Java в EJB и развернуть его как часть вашего сервера приложений.

2 голосов
/ 18 сентября 2008

Если у вас довольно свежий ejb-контейнер, самый дешевый и простой способ - представить ваши компоненты как веб-сервисы и вызвать их из VB / C #. Для этого не требуется никакого дополнительного инструмента или библиотеки.

2 голосов
/ 18 сентября 2008

Вы можете взглянуть на IIOP.NET , который решает эту проблему.

0 голосов
/ 26 февраля 2010

Вы можете попробовать Obba (я работаю над этим проектом):

Obba - обработчик объектов Java для приложений электронных таблиц.

Он обеспечивает мост между электронными таблицами и классами Java, так что электронные таблицы могут использоваться в качестве графического интерфейса пользователя для библиотек Java. Для доступа к библиотеке Java из электронной таблицы не требуется склеивания кода (не требуется VBA, не требуется специальный код Java). Объекты создаются их оригинальным конструктором. Конструкторы и методы вызываются с помощью отражения «по имени». Фабричный метод для работы с электронными таблицами не требуется. Obba предоставляет функции для работы с объектами в электронных таблицах.

Виртуальная машина Java, предоставляющая надстройку, может работать на том же компьютере или на удаленном компьютере - без каких-либо изменений в электронной таблице, т. Е. Объект, указанный в электронной таблице, может находиться на удаленной виртуальной машине Java. *

0 голосов
/ 05 января 2009

Очень рекомендую ИКВМ . Это Java-байт-код для компилятора сборок .NET (то есть JAR -> DLL), и я использовал его для создания живых JMX-ссылок и прослушивателей на сервере автоматизации Excel. Вам не должно быть сложно создать сборку .NET из ваших заглушек EJB-клиента и вспомогательных библиотек.

// Николай

0 голосов
/ 18 сентября 2008

Во времена VB6 / COM / DCOM мы использовали комплект J-Integra для выполнения этой задачи. У меня нет опыта работы с версией .NET.

...