Java EE 6 с GlassFish v3 и MyEclipse 8.5: лучший способ структурировать проекты?

давний слушатель, первый раз звонивший сюда.

Мы находимся в процессе перехода с BEA WebLogic 10 на GlassFish v3. Мы успешно перенесли крупный проект на GlassFish, и все работает, но теперь мы строим планы на будущее.

В частности, мы используем MyEclipse 8.5 с одним проектом корпоративного приложения (DCMHub), который создает файл EAR, и одним проектом веб-приложения (DCMWeb), который входит в EAR.

Однако на самом деле DCMWeb — это целая куча связанных приложений, собранных в один огромный беспорядок из jsps, class-файлов и jar-файлов. Что мы хотели бы сделать, так это разбить их на логические единицы. Например, вместо одного веб-приложения (DCMWeb) мы хотели бы иметь несколько, скажем, DCMWeb_A, DCMWeb_B и DCMWeb_C, а также несколько веб-служб (DCMWebService_A, DCMWebService_B) и так далее. (Очевидно, что мы не будем использовать эти конкретные имена; я просто называю их так, чтобы было легче задать вопрос.)

А теперь самое сложное. Все эти веб-приложения и веб-службы будут иметь некоторые общие функции. Например, нам нужен единый вход, поэтому концепции пользователя, аутентификации и разрешений должны быть одинаковыми. Точно так же мы хотим поделиться определенными классами, например, в каком отделе находится пользователь, в каком офисе он работает и т. д.

Если бы это было просто старое приложение Java, я мог бы создать кучу jar-файлов для презентации, например, DCMWeb_A, DCMWeb_B, DCMWeb_C, DCMWebService_A, DCMWebService_B, и несколько дополнительных jar-файлов для общих классов и бизнес-логики, например, CommonClasses.jar , UserAndDeskLogic.jar и т. д.

Но это не простое старое Java-приложение. Это корпоративное приложение, и я хотел бы структурировать его таким образом, чтобы а) нам было легко перейти от уродливого проекта к красивому проекту простыми шагами, не нарушая ничего серьезного на этом пути, и б) что-то, что в конечном итоге приводит к мы полностью соблюдаем «правильный» способ ведения дел в Java EE 6, чтобы мы могли воспользоваться всеми последними преимуществами Java, GlassFish и MyEclipse по мере их появления.

Прямо сейчас, вот примерная структура того, что у нас есть в MyEclpse 8.5:

DCMHub (корпоративное приложение)
META-INF
application.xml
MANIFEST.MF

DCMWeb (веб-приложение)
src (все исходные файлы Java)
WebContent
css (все наши файлы стилей)
изображения (все наши .jpg, .gif и т. д.)
включают (все наши фрагменты jsp)
javascript (все файлы .js)
META-INF
MANIFEST.MF
безопасный (все jsps, для просмотра которых требуется аутентификация)
WEB-INF
классы
lib
tlds
applicationContext.xml
dcmweb-servlet.xml
Faces-config.xml
log4j.properties
log4j.xml
oscache.properties< br> sun-jaxws.xml
sun-web.xml
web.xml
xmlhttp
login.jsp (наша страница входа пользователя, не прошедшего проверку подлинности)

Теперь, очевидно, одна из вещей, которую мы думаем использовать для инкапсуляции некоторой бизнес-логики, — это использование EJB 3. Но как мне их представить? Все мои предыдущие попытки потерпели неудачу. Либо я не могу заставить MyEclipse развернуть их как часть EAR, либо, чаще, я не могу заставить проект веб-приложения «видеть» классы в проекте EJB. (Хотя я могу Goto-Definition на них, как ни странно, но MyEclipse все равно помечает это как ошибку.)

Извините за действительно многословный вопрос, но как является лучшим способом организовать это приложение, чтобы мы могли двигаться вперед, но не ломать то, что у нас сейчас работает, когда мы это делаем?

Большое спасибо!

 Jeff G

P.S. Я смог загрузить свой EJB и мой проект MyEclipse, чтобы ссылаться на него, так что эта часть решена. Но я все еще за большим вопросом: а именно, как лучше всего двигаться вперед?


person Jeffrey Getzin    schedule 27.07.2010    source источник


Ответы (1)


Обычная Java EE Eclipse может выполнять служебные проекты в ушах с общей функциональностью. Есть ли у MyEclipse аналогичная концепция?

person Thorbjørn Ravn Andersen    schedule 27.07.2010