Должен ли Front-end делать звонки в базу данных напрямую или через микро-сервис? - PullRequest
0 голосов
/ 10 января 2019

У меня есть интерфейс, написанный на JSP, и база данных на DyanmoDB. Напишите сейчас, у меня есть два варианта создания приложения.

1.Either to make a call directly from JSP to DynamoDB.

2.Call a MicroService from JSP and then call the DB from that service.

Мне нужно получать данные из DynamoDB, а не записывать в них данные.

Какой подход будет лучше и рекомендуется для этого и почему?

Ответы [ 3 ]

0 голосов
/ 10 января 2019

Ответ зависит от вашего приложения, но в целом вы должны предпочесть иметь некоторый уровень обслуживания между внешним интерфейсом (страницы JSP) и базой данных. Это позволяет изменять детали реализации базы данных (например, какая база данных используется и какие запросы используются для извлечения и изменения данных) без изменения страниц JSP.

Пользовательский интерфейс (ваши страницы JSP) должен быть связан с отображением информации и должен быть изолирован от деталей базы данных. Например, в идеальной ситуации, если вы решите изменить базу данных с DynamoDB на MongoDB, страницы JSP не должны изменяться. Вместо этого часть уровня обслуживания, которая напрямую взаимодействует с базой данных, должна измениться, но часть уровня обслуживания, которая взаимодействует со страницами JSP, должна остаться прежней.

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

0 голосов
/ 10 января 2019

Введение уровня обслуживания требуется при планировании повторного использования функциональности между несколькими приложениями уровня предприятия. В противном случае вы можете интегрировать службы непосредственно в свое приложение в виде библиотеки классов и при необходимости изменить ее в будущем.

0 голосов
/ 10 января 2019

Ответственность за выборку / обновление базы данных лежит на модели. Чтобы быть совместимым с MVC, вы должны пройти через свой сервлет jsp, чтобы обновить базу данных и вызвать нужный микросервис. Ура, Hichem

...