модульная разработка - PullRequest
       16

модульная разработка

0 голосов
/ 09 июля 2009

Что бы вы порекомендовали для модульной разработки на Java. OSGI великолепен, но поддержка JPA жалка. Мне бы очень не хотелось писать еще одну структуру, но это кажется неизбежным.

Ответы [ 5 ]

5 голосов
/ 09 июля 2009

Лучший подход к модульной разработке: сначала подумайте, потом код, часто рефакторинг . В мире нет фреймворка / библиотеки, которая могла бы заменить мышление.

1 голос
/ 09 июля 2009

Подумайте о том, чего вы хотите достичь, и держите концепцию как можно дальше от технологий. Затем попытайтесь найти технологии, которые могут вписаться в то, что вы пытаетесь достичь. Если не существует набора технологий / инструментов / сред, отвечающих вашим потребностям, сделайте некоторое переосмысление и найдите место где-то посередине для удовлетворения концепции и реализации.

0 голосов
/ 09 июля 2009

Я полагаю, OSGi является основной в современной Java EE. И это правильный выбор для создания модульных приложений. Да, есть некоторые проблемы со зрелостью и принятием платформы, но взгляните на усилия сообщества и постарайтесь (SpringSource, Eclipse, например) сделать это лучше. Реализации являются открытыми, и многие IDE поддерживают разработку OSGi. Я бы предложил принять одну из реализаций OSGi вместо разработки собственной инфраструктуры даже с теми ограничениями, которые существуют сегодня.

0 голосов
/ 09 июля 2009

Ответ на ваш вопрос очень зависит от приложений, которые вы создаете. Java EE, ESB и OSGi - это подходящие модульные стратегии развертывания для определенных проблем.

Построение корпоративного сервис-ориентированного программного обеспечения по сравнению с подключаемым клиентским приложением - это очень разные приложения с разными решениями.

В настоящее время я работаю над проектом, в котором используются развернутые службы Java EE для бэкэнда и расширенный клиент на основе Eclipse / OSGi, который использует эти службы. Проектирование и развертывание является довольно модульным между бэкэнд-сервисами (Java EE), клиентскими сервисами (чистый OSGi) и компонентами пользовательского интерфейса (плагины Eclipse).

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

Использование таких фреймворков, как Spring, в значительной степени способствует написанию кода, который сократит зависимость от базовой технологии, но при этом сможет использовать ее уникальные возможности.

0 голосов
/ 09 июля 2009

Я не думаю, что проблема заключается в отсутствии поддержки в OSGI для JPA, но в недостаточной поддержке в реализациях JPA для загрузчика классов OSGI. Во всяком случае, я отвлекся.

Вы можете успешно использовать OpenJPA с OSGI. Последние версии уже упакованы в пакеты OSGI. Я оставляю также эту ссылку , которая объясняет, как заставить OpenJPA работать в Apache Felix.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...