Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

Другие советы

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

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

Она состоит из:

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

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

Еще во времена VB6 / COM / DCOM мы использовали этот пакет J-Интегра для выполнения этой задачи.У меня нет опыта работы с .Однако сетевая версия.

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

//Николас

Ты мог бы попробовать Obba (Я работаю над этим проектом):

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top