Файл: Ознакомление с прикладными протоколами и серверами приложений.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.06.2023

Просмотров: 50

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Свойства CustomConstraint, ConstraintErrorMessage и ImportedConstraint объектов типа TField позволяют задать ограничения для отдельных полей набора данных. Эти свойства аналогичны свойствам CustomConstraint, ErrorMessage и ImportedConstraint объекта типа TcheckConstraints.

2.2 Обзор серверов приложений

Мы хотим сделать небольшой обзор той части серверов приложений, которые заслуживают внимания хотя бы тем, что являются бесплатными и доступен их исходный код. Мы будем исходить из того, что ваша система сходна с нашей. У нас стоит Windows 7 64 бита, кроме того стоит JDK 1.7 и JDK 1.8, а переменная окружения JAVA_HOME ссылается на последний из них. В нашем случае это значит, что в JAVA_HOME прописан путь C:\Program Files\Java\jdk1.8.0_31.

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

Для начала нужно отобрать сервера приложений для нашего обзора[5].

  1. Glassfish (не проприетарный, а тот, что от сообщества glassfish.java.net, но который поддерживается корпорацией Oracle до такой степени, что если нужен javaEE SDK с сайта Oracle, то тебе впиндюрят и этот сервер приложений, иначе никак)
  2. (Red Hat) WildFly (бывший JBoss)
  3. (Apache) Geronimo
  4. (Apache) Tomcat (это лишь контейнер сервлетов, а не сервер приложений, но он является таким эталоном, на котором, если программа написана правильно, то она точно заработает. На других серверах программа может быть написана правильно с точки зрения JavaEE, но работать все равно будет не корректно или вообще не будет. Это я о Geronimo, о глюках которого можно говорить долго)

Итак, установка.

В плане установки все просто и для каждого из выбранных серверов установка – это просто распаковка архива. Мы, например, создали папку AppServers на рабочем столе, куда и стали всё распаковывать.

Настройка

Настройку серверов начнем с настройки порта HTTP, на котором он будет работать. Потом пропишем себя как админа сервера. Для каждого из серверов есть свои особенности настройки.

Для Tomcat. Заходим в папку с распакованным tomcat, далее папка conf, файл server.xml. Находим в этом файле число 8080 (http порт по умолчанию) и меняем его на что захотим. Я поставил 9713.

Чтобы прописать себя как админа сервера нужно, находясь в этой же папке, открыть файл tomcat-users.xml. В нем перед закрывающим тегом </tomcat-users> прописать следующий тег:

<user username="egarmin" password="1" roles="manager-gui,manager-script,manager-status,manager-jmx"/>

где в своей роли я прописал максимальное количество всяких админских прав (ролей). Это позволит на деплоить приложения и через gui, и через удаленное подключение.


Теперь запустим tomcat. Заходим в папку с распакованным tomcat, далее папка bin и запускаем файлstartup.bat. Переходим в браузере по адресу http://localhost:9713/. Должно все заработать и мы увидим тигру.


Теперь давайте проверим наличие доступа в админку. Для этого переходим по адресу http://localhost:9713/manager, вводим выбранные логин и пароль и получаем доступ.


УРА! Можно временно отключить Tomcat, для этого достаточно закрыть консоль, в которой он работает.

Для Glassfish. Заходим в папку с распакованным glassfish, далее в подпапку glassfish, далее подпапка domains, потом в папку domain1. Заходим в папку config и находим файл domain.xml. Там также ищем число 8080 (это число вообще характерно в качестве http-порта по умолчанию для серверов приложений и контейнеров сервлетов) и меняем его на что захотим. Мы поставили 9813.

Запустим glassfish. Заходим в папку с распакованным glassfish, далее в подпапку glassfish, потом в папку bin. Запускаем файл startserv.bat. В браузере вводим адрес http://localhost:9813/. На появившейся некрасивой странице с заголовком GlassFish Server находим ссылку go to the Administration Console и жмем на нее.


Далее, попав на красивую построенную на JSF страницу административной консоли, жмем пунктChange Administrator Password



и вводим нужный нам пароль для пользователя admin, потом подтверждаем его и жмем кнопку Save.


При последующих входах в административную консоль нужно будет указывать логин admin и заданный пароль.


Теперь можно временно отключить Glassfish, для этого достаточно закрыть консоль, в которой он работает.

Для WildFly. Заходим в папку с распакованным wildfly. Далее заходим в папку standalone, потом папка configuration, а в ней файл standalone.xml. Далее действуем по отлаженной схеме. Я поставил порт 9913.

Запустим сервер. Для этого перейдем в папку с распакованным wildfly. Далее заходим в папку bin и запускаем файл standalone.bat. Открываем браузер и вводим адрес http://localhost:9913/.


Жмем ссылку Administration Console для входа в админскую консоль (проще говоря, админку сервера приложений). Но не тут-то было, т.к. всплывает экран:

Этот экран сообщает нам, что админ не создан, и чтобы его создать нужно воспользоваться консольной утилитой add-user.bat. Ну, раз надо так надо. Возвращаемся в папку bin и запускаем эту утилиту. Вначале предложат выбрать тип пользователя, которого мы хотим создать. Надо выбрать пункт (a), что будет означать, что нам нужен админ. Потом запрашивается имя этого пользователяUsername и пароль Password. Пустым пароль быть не может, но односимвольным – пожалуйста. Утилита конечно поругается, но проглотит, если ей ответить yes на вопрос «Вы уверены?». Далее подтверждаем пароль повторным вводом на запрос Re-enter Password. Потом будут еще вопросы, но на них все просто отвечаем утвердительно и выходим из утилиты.


Вернувшись на страницу выше, находим ссылку Try Again и жмем на нее. Теперь, введя данные только что созданного админа, можно попасть в админку.

Гасим сервер, закрыв окно консоли, через которую он был запущен.

Для Geronimo. Заходим в папку с распакованным geronimo. Далее в подпапку var, потом в папкуconfig, а в ней файл config-substitutions.properties. В этом файле описаны все используемые сервером приложений порты в удобном формате, но схема замены порта та же. Я поставил порт10013.

Запустим сервер geronimo. Перейдем в папку с распакованным geronimo, потом в подпапку bin и запустим там файл startup.bat. Переходим на страницу http://localhost:10013/. Чтобы вы думали? Скорее всего, страницы там не будет. Почему? Все дело в том, последняя версия Geronimo (3.0) не может работать с последней версией JDK (1.8), поэтому если у вас стоит только она или пусть даже есть, скажем, 7-ая версия, но переменная окружения JAVA_HOME все равно ссылается именно на 8-ую, как у меня, то запуск сервера приложений не произойдет. Таким образом, для работы Geronimo нужно обязательно скачать JDK 1.7.

Теперь допустим вы поставили 7-ой JDK, но не хотите менять значение переменной JAVA_HOME (в конце-то концов, другие программы на нее не жалуются, а значит пусть и работают с последней версией JDK). Что делать? Я советую открыть файл setjavaenv.bat, расположенный в той же папкеbin, и найти в нем строку с меткой :okJdkFileCheck. После чего на следующей же строке добавьте переопределение переменной окружения. Например, так:

set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75

Этой строки там нет, так что будьте добры прописать ее самостоятельно.

Если у вас 32-битная система, то больше проблем быть не должно. Более того, если у вас 64-битная система и вы поставили JDK 1.7 именно в 64-битной комплектации, то у вас тоже все в шоколаде. А теперь представим, что мы решили извратиться и поставить на 64-х битную систему (у меня, например, Windows 7 64) JDK 1.7 из линейки в 32-ва бита. Что тогда? Тогда придется еще повозиться, потому как в 64-битной системе есть две папки для установки программ: Program Files и Program Files (x86) и если ничего не менять, то 32-хбитный JDK встанет именно в последнюю. Что в этом страшного? Да вроде ничего, однако, если переменная JAVA_HOME будет иметь в своем пути скобки(x86), то у Geronimo случается несварение. Почему? Черт его знает, особенно если учесть, что согласно данным с форумов, эту ошибку в 3-ей версии Geronimo должны были исправить. Но ни фига подобного. Главное в этом деле не делать пи-пи, если индейцы не исправили, то мы поправим. Для этого есть два способа, которые я предпочитаю комбинировать, чтобы уж наверняка. Во-первых, опять идем а файл setjavaenv.bat и находим уже упомянутую метку :okJdkFileCheck. Под этой меткой есть строка:


if "%JRE_HOME%" == "" if exist "%JAVA_HOME%\bin\javac.exe" (set JRE_HOME=%JAVA_HOME%\jre) else set JRE_HOME=%JAVA_HOME%

в которой для излечения Geronimo достаточно будет взять подстроку JRE_HOME=%JAVA_HOME%\jre в кавычки, т.е. заменить всю строку на

if "%JRE_HOME%" == "" if exist "%JAVA_HOME%\bin\javac.exe" (set "JRE_HOME=%JAVA_HOME%\jre") else set JRE_HOME=%JAVA_HOME%

Кроме того, помните или знайте, что у папок типа Program Files в системе Windows 7 есть синонимы (например, для папки C:\Program Files (x86) синонимом будет папка C:\Progra~2). Поэтому если вы в файле setjavaenv.bat после метки :okJdkFileCheck установите следующее значение переменнойJAVA_HOME

set JAVA_HOME=C:\Progra~2\Java\jdk1.7.0_75

то у вас тоже заработает сервер Geronimo под управление 32-х битного JDK в 64-х битной операционной системе.

Ну, наконец-то, можно и запускать Geronimo, вызвав startup.bat. Теперь проблем быть не должно. Переходим в браузере на страницу http://localhost:10013/. Слева вверху находим ссылку Console и жмем на нее.


Надо ввести админские логин и пароль. Сразу подскажу, что это пользователь system с паролемmanager (значения по умолчанию).


Пройдя в саму консоль и проследовав по пунктам меню как на картинке ниже (выбрать Advanced, потом выбрать Security > Users and Groups), можно как сменить пароль для пользователя system, так и создать другого пользователя, а этого удалить.


Остановить сервер Geronimo можно также простым закрытием окна консоли, в котором сервер был запущен[6].

Заключение

Итак, подведя итог вышесказанному, можно сделать следующие выводы.

Протоколы прикладного уровня направлены на определенные прикладные задачи. Серверы приложений в основном на практике имеют заранее известные номера портов.

Главная отличительная особенность Internet по сравнению с другими сетями заключается в ее протоколах, TCP/IP. Под термином TCP/IP принято понимать все то, что может быть связано с различными протоколами взаимодействия между ЭВМ - персональными сетями в Internet. Данный протокол объединяет большой комплекс протоколов, различных прикладных программ, даже саму сеть. TCP/IP является технологией межсетевого взаимодействия, технологией Internet. Сеть, где применяют технологию Internet, принято называть "Internet". Когда говорят о глобальной сети, которая имеет свойство объединять множество сетей с технологией Internet, - данную сеть принято называть Internet.