Лучшее решение для использования EJBS из Excel
Вопрос
Мы хотели бы предоставить доступ к некоторым нашим 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.
Она состоит из:
- Надстройка Excel (XLL), которая взаимодействует по протоколу TCP с:
- 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.