С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
2 / 2 / 2
Регистрация: 15.11.2013
Сообщений: 28

JavaEE структура приложения корпоративного уровня

16.02.2016, 11:09. Показов 1320. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как обычно делают если приложение состоит из нескольких частей.
Например есть EJB модуль где находятся основные классы сущностей для манипуляции данными в базе данных.
Есть другие ejb модули в которых те же используются те же сущности для работы с данными.
Есть веб модуль который тоже делает некоторые манипуляции с данными.

Вот интересует вопрос. Не хочется все проекты объединить в один как модульное приложение.
В связи с этим хотелось бы избежать повторного описание классов сущностей. Неужели придеться в каждое приложение описывать все эти сущности.
Хочу сущности вынести в какую нибудь отдельную библиотеку чтобы не дублировать код везде для работы с этими таблицами.
Но интересует как обычно правильно делают такого рода приложений.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.02.2016, 11:09
Ответы с готовыми решениями:

Деплой JavaEE приложения на OpenShift
Здравствуйте. Есть такие, кто практиковал вышесказанное? Хотел бы задать пару вопросов, если можно.

Одна база для JavaEE и PHP приложения
Всем доброго дня! Подскажите пожалуйста, можно ли использовать одну и ту-же базу данных (MySQL) для JavaEE(Spring, Hibernate)...

MVC ASP.Net или WinForms для корпоративного приложения в сети
Господа, прошу совета. Задача: 1) Написать приложение, в котором будут вестись акты приема-передачи: -сами акты -копии...

10
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
16.02.2016, 11:13
Цитата Сообщение от nPaul Посмотреть сообщение
В связи с этим хотелось бы избежать повторного описание классов сущностей
все что подлежит повторному использованию, вынесите в отельный проект и приносите как зависимость в остальные проекты.
1
2 / 2 / 2
Регистрация: 15.11.2013
Сообщений: 28
18.02.2016, 08:55  [ТС]
Например делаю вот так
XML
1
2
3
4
5
6
7
<dependency>
            <groupId>local.testproject1</groupId>
            <artifactId>project1</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>provided</scope>
            <type>war</type>
</dependency>
Но нигде в проекте не могу импортировать классы из этого проекта, по крайней мере Eclipse не видит.
Maven->Update Project делал, не помогает.

Видать отдельный проект вообще придется сделать новый, но как быть там с PersistencContext и прочими инжектами.
Да и хотелось бы еще и фасадами из другого проекта пользоваться, не плодить копии в другом проекте.
Но эти фасады возвращают сущности которые везде в любых проектах выглядят одинаково.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
18.02.2016, 09:23
Цитата Сообщение от nPaul Посмотреть сообщение
Например делаю вот так
Если вы создали проект с группой local.testproject1 и именем project1, все должно работать нормально. Почему scope provided?

Цитата Сообщение от nPaul Посмотреть сообщение
Видать отдельный проект вообще придется сделать новый
а сейчас вы как сделали? Должен быть отдельный проект.
1
2 / 2 / 2
Регистрация: 15.11.2013
Сообщений: 28
18.02.2016, 10:40  [ТС]
В данное время все 1 одном проекте WAR даже не ear, хочу вот разделить на более логичные отдельные проекты, или модули т.п.
Поэтому возник такой вопрос, как правильно обычно делают профи .
Если что сервер приложений Wildfly 10.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
18.02.2016, 11:30
Цитата Сообщение от nPaul Посмотреть сообщение
В данное время все 1 одном проекте
тогда непонятно откуда вы взяли это

Цитата Сообщение от nPaul Посмотреть сообщение
<dependency>
* * * * * * <groupId>local.testproject1</groupId>
* * * * * * <artifactId>project1</artifactId>
* * * * * * <version>1.0-SNAPSHOT</version>
* * * * * * <scope>provided</scope>
* * * * * * <type>war</type>
</dependency>
Ещё раз. Общий код должен быть отдельным проектом и собираться в jar
1
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
19.02.2016, 09:13
не стал создать и прям тут задую свой вопрос, если конечно ТС резрешит
можете сказать что даст такая архитектура, и на сколько это правильно:

Entities - Session Beans - Bussiness - Precedents

тут что даст Бизнес слой и слой Прецедентов?
0
 Аватар для Kostyanych77
173 / 12 / 4
Регистрация: 21.12.2010
Сообщений: 66
25.02.2016, 01:07
Цитата Сообщение от nPaul Посмотреть сообщение
Но нигде в проекте не могу импортировать классы из этого проекта, по крайней мере Eclipse не видит.
вроде
Bash
1
mvn install
должно установить его в локальный репозиторий
а потом подключаем как обычную библиотеку

XML
1
2
3
4
5
            <dependency>
                <groupId>blabla</groupId>
                <artifactId>module_name</artifactId>
                <version>your_version</version>
            </dependency>
1
2 / 2 / 2
Регистрация: 15.11.2013
Сообщений: 28
26.02.2016, 07:32  [ТС]
так сделал
вроде бы как будто что-то получается
проекты компилируются, собираются
но на самом сервере Wildfly, другой зависимый модуль, вызывающий метод другого EJB модуля при деплойте возникает ошибка ClassNotFound
Caused by: java.lang.ClassNotFoundException: local.project1.p1.facade from [Module "deployment.module123.jar:main" from Service Module Loader]"}}
<dependency>
<groupId>ru.project1 </groupId>
<artifactId>p1</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
Ссылка внедрена через @EJB
Определил @Local интерфейс, все равно не помог, такая же ошибка
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
26.02.2016, 12:00
Цитата Сообщение от nPaul Посмотреть сообщение
<scope>provided</scope>
ещё раз спрашиваю, зачем вам эта строка? Вы знаете что это означает?
1
2 / 2 / 2
Регистрация: 15.11.2013
Сообщений: 28
10.03.2016, 10:56  [ТС]
Вобщем разобрался
почти
сейчас возник другой вопрос, о чем создам новую тему наверно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.03.2016, 10:56
Помогаю со студенческими работами здесь

Ошибка allowDefinition='MachineToApplication' вне уровня приложения
Ошибка 1 Эта ошибка использования раздела, зарегистрированного как allowDefinition='MachineToApplication' вне уровня приложения. Эта...

Счетчик уровней. Сохранение уровня при выходе из приложения
Всем привет. Такая ситуация: в скрипте счета уровней и очков в void Start() прописано +1 к значению уровня. При достижении игроком финиша...

Структура приложения
Обращаюсь к опытным разработчикам как новичок. Хочу написать маленькое несложное приложение, но возникла проблема с проектированием...

Структура приложения
У меня есть класс user и post. Есть контроллер. Насчет классов понятно - на каждый объект свой класс. А вот насчет контроллеров -...

Структура приложения
Меня уже давно интересует как правильно организовать структуру приложения(набор каталогов, файлов etc). Куда класть сторонние библиотеки и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru