Нуждаюсь в небольшой помощи. EE server & desctop client

 
 
 
Сообщения:6
Доброго времени суток!
Программирую на java SE, но понадобилось изучить и EE технологии.
В данный момент хочу разобрать как происходит связывание Glassfish сервера с декстопным приложением (на свинге, к примеру) .
Немного почитал, поучил и в итоге - в голове каша) но как я понял обмен сообщениями (JMS) и есть тот самый мост. Или ошибаюсь?

Подскажите, знающие, куда капать..

На данный момент имеется Glassfish 5.0.x сервер, на котором настроен JDBС-Realm и десктопное приложение на свинге.
Переписывать из свинга в веб не получится...
Как мне их связать? Еще интересуют такие моменты как авторизация и сессии.

Буду рад любым ссылочкам по теме!
Изменен:10 авг 2018 16:13
 
 
Сообщения:50
Вебсервисы помогут. Почитайте https://netbeans.org/kb/docs/websvc/intro-ws_ru.html
На этом сайте и по безопасности что-то было. Давно как-то изучал, но ушёл на spring...
Изменен:11 авг 2018 16:55
 
 
Сообщения:6
Sergan:
Вебсервисы помогут. Почитайте https://netbeans.org/kb/docs/websvc/intro-ws_ru.html
На этом сайте и по безопасности что-то было. Давно как-то изучал, но ушёл на spring...


Спасибо, попытался вникнуть, но как понял мне не помогут сервисы.

Задача у меня следующая:
Есть клиент, написанный на java(частично на с\с++), этот клиент не может быть развернут на сервере приложений, но должен авторизоваться и работать с EJB компонентами.
В качестве сервера приложений Glassfish5 - JDBC-Realm настроен, EJB развернуты.

Как организовать авторизацию и доступ к EJB с постороннего(не в контейнере приложений) клиента - я не знаю...
Изменен:15 авг 2018 22:38
 
 
Сообщения:850
Привет!
Решилась задача? Я такое делал, могу кое-что вспомнить
 
 
Сообщения:6
gidravlic:
Привет!
Решилась задача? Я такое делал, могу кое-что вспомнить


Доброго!
Нет, не решилась. Я в Java EE спецификациях еще совсем зеленый. Если есть возможность помочь - буду благодарен!
 
 
Сообщения:850
Вот набросал быстренько, по памяти, так как исходников старых нет. Архив

1. Я использовал Payara последний вместо Glassfish
2. Я использовал payara-embedded-all вместо необходимых библиотек, не хочется копаться в зависимостях. По сути если повозиться, можно сильно сократить размер клиента.
3. ServiceModule domains/<mydomain>/lib
4. Deploy EJBModule
5. Запуск клиента к серверу приложений(захардкодил на локалхост)

Всё минимально и прозрачно.
Удачи!
 
 
Сообщения:6
gidravlic:
Вот набросал быстренько, по памяти, так как исходников старых нет. Архив

1. Я использовал Payara последний вместо Glassfish
2. Я использовал payara-embedded-all вместо необходимых библиотек, не хочется копаться в зависимостях. По сути если повозиться, можно сильно сократить размер клиента.
3. ServiceModule domains/<mydomain>/lib
4. Deploy EJBModule
5. Запуск клиента к серверу приложений(захардкодил на локалхост)

Всё минимально и прозрачно.
Удачи!


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

Если в файле бина заменить @Stateless на @Stateless(name = "HelloBean", mappedName = "mytestbean")
то в клиенте можно заменить
context.lookup("java:global/EJBModule-1.0-SNAPSHOT/HelloBean!org.mycompany.service.HelloService");

на
ctx.lookup("mytestbean");


Клиент должен как-то авторизоваться и желательно чтобы это происходило через JDBC-Realm. Нашел класс com.sun.enterprise.security.ee.auth.login.ProgrammaticLogin но как он работает еще не понял...
Изменен:17 авг 2018 18:53
 
 
Сообщения:6
Ну вот и все ( 3х дневный запор решила одна строчка (https://docs.oracle.com/cd/B14099_19/web.1012/b15505/access.htm#sthref260):

JAAS Support for EJBs
If you invoke any EJB from an application client outside the EJB container, then Java Authentication and Authorization Service (JAAS) is not supported for the EJB. However, if you call the EJB from a servlet within the OC4J instance, then JAAS is supported.


Вопрос в том, как авторизоваться в EJB, вызванном вне контейнера?
 
 
Сообщения:850
Насколько я понял, в EJB используются роли. Так ли это необходимо?
 
 
Сообщения:6
gidravlic:
Насколько я понял, в EJB используются роли. Так ли это необходимо?

В том то и дело, хочется чтобы удаленный клиент и Web приложение имели одинаковые настройки разграничения доступа.

Какой-то подход быть должен, просто с JavaEE знаком я плохо и о нем еще не знаю...
Изменен:18 авг 2018 11:53
 
 
Сообщения:850
С ролями не приходилось работать в таком контексте. Самый быстрый способ, который приходитна ум - аннотировать ejb аннотацией @Webservice и его методы @WebMethod, которые можно дёргать по http/https
 
Модераторы:wedens
Сейчас эту тему просматривают:Нет