Как разработать клиент-серверную систему с OSGi? - PullRequest
0 голосов
/ 10 апреля 2011

В последние дни я учусь разрабатывать с OSGi, но сталкиваюсь с множеством проблем.

Я не знаю, как спроектировать мой OSGi на базе клиент-серверной системы с Equinox в качестве фреймворка. Должен ли я использовать сокетные соединения для реализации этого или использовать распределенную модель?

Меня также смущает, нужно ли мне импортировать некоторые сторонние пакеты для поддержки моего программирования на сокетах, jdbc, swing и т. Д., Или существуют существующие пакеты, предлагаемые Equinox или другими проектами с открытым исходным кодом OSGi?

Впервые здесь можно задать вопросы, кто-нибудь может мне помочь?

Ответы [ 3 ]

1 голос
/ 10 апреля 2011

просто взгляните на реализации OSGi Remote Services (подробнее в спецификации OSGi):

Приветствия

Dmytro

0 голосов
/ 11 апреля 2011

Модель HTTP, вероятно, является самой простой в реализации, в отличие от протоколов, основанных на низкоуровневой обработке сокетов и двоичных протоколов.

Первый вопрос, который я хотел бы задать, - какую информацию должны обмениваться ваши клиенты и сервер. Если вы можете жить с HTTP (а во многих случаях можете), вы можете просто использовать сервлеты на стороне сервера, клиентские библиотеки http на стороне клиента и модель связи RESTful.

Сервлеты легко внедрить в OSGi с помощью HttpService, см., Например, http://www.osgilook.com/2009/09/08/osgi-http-service-registering-servlets-on-the-fly/

0 голосов
/ 11 апреля 2011

Работа с сокетами не более или менее сложна в OSGi, чем в «простой» Java. Вы разрабатываете свое приложение практически так же, как обычно, но получаете преимущества модульности и сервисов с помощью OSGi.

Вы можете, например, отделить принятие соединения и обработку запроса, введя что-то вроде WorkerFactory, или, возможно, повторно использовать службы как на клиенте, так и на сервере; это то, в чем хороша OSGi.

OSGi как «технология» (поскольку это понятие содержит воду) не требует какого-либо конкретного метода взаимодействия. В спецификации сборника упоминаются удаленные службы (a.k.a. Distributed OSGi), но в нем также содержится спецификация службы HTTP: сервлеты - это ваша вещь.

Короче говоря, просто выберите решение для взаимодействия, которое наилучшим образом соответствует вашему сценарию, и позвольте OSGi помочь вам с услугами и модульностью.

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