Вопрос об архитектуре Java EE 6 - PullRequest
7 голосов
/ 16 ноября 2010

alt text

  1. Из рисунка выше я бы пришел к выводу, что архитектура Java EE 6 - это трехуровневая архитектура. То, что я не понимаю, это что такое клиентский уровень? Разве код пользовательского интерфейса не должен быть клиентским уровнем? JSF обрабатывает пользовательский интерфейс приложения, не должен ли JSF находиться на уровне клиента?

  2. Java EE 6 использует трехуровневую архитектуру, а JSF - это модель MVC, может кто-нибудь сказать мне, что я собираюсь сказать, правильно или нет? Трехуровневая архитектура представляет собой линейную модель, в которой входные данные клиента не могут перейти непосредственно к уровню данных. Все должно проходить через средний уровень. Тогда у нас есть JSF - это модель MVC. Ну, мы все знаем, что контроллером является FacesServlet, а представление - Page. Что такое модель?

а. Это не может быть сама база данных, так как 3 уровня говорят, что все должно проходить через средний уровень. Является ли Модель управляемым компонентом, служащим в качестве шлюза к базе данных?

ИЛИ

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

Ответы [ 2 ]

6 голосов
/ 16 ноября 2010

Уровень клиента - это все, что работает на клиентском компьютере.В случае веб-приложения (Java EE) это обычно веб-браузер.Все, что он запускает, это HTML / CSS / JS и связывается со стороной сервера по HTTP.Код пользовательского интерфейса (код JSF) покрыт веб-уровнем на рисунке.Он генерирует и отправляет HTML / CSS / JS на клиентскую сторону.

На самом деле, вся вещь JSF полностью вписывается в веб-уровень.Часть JSF в веб-уровне сама по себе может быть разделена на модель (управляемые компоненты), представление (страницы JSP / Facelets) и контроллер (FacesServlet).Бизнес-уровень охватывает EJB.Кроме того, существуют персистентные объекты (также называемые объектами передачи данных), которые могут проходить через все уровни от базы данных до бизнеса, через Интернет и обратно.

1 голос
/ 29 мая 2014

В дополнение к тому, что хорошо объяснил М. @BalusC, вот хорошая схема, которая иллюстрирует (первый вопрос) положение JSF внутри уровня представления (который включает в себя сторону клиента):

JavaEE Architecture with EJB and JSF

Где два прямоугольника слева представляют уровень представления, а два прямоугольника справа предназначены для бизнес-уровня. В то время как широкий пунктирный прямоугольник представляет сервер приложений Java EE, который включает в себя как веб-, так и EJB-контейнеры.

...