Home | О проекте | Новости | Рекламные статейки

Разработка серверных приложений
 
Архитектура Приложений JavaScript

Как уже говорилось, приложения JavaScript имею части, работающие на стороне клиента и на сервере. Кроме того, многие приложения JavaScript используют LiveWire Database Service для соединения приложения с реляционной базой данных. Исходя из этого, Вы можете представить приложения JavaScript как имеющие трёхслойную клиент-серверную архитектуру:

  1. WWW-клиенты (такие как Netscape Navigator-клиенты): Этот слой предоставляет приложению межплатформенный интерфейс конечного пользователя. Этот слой может также содержать некоторую логику приложения, такую как правила проверки данных, реализованные в клиентском JavaScript. Клиенты могут находиться внутри или за пределами прокси-сервера корпоративной сети.
  2. · Netscape WWW-сервер/БД клиент: Этот слой состоит из Netscape-сервера с включённым JavaScript. Он содержит логику приложения, обслуживает безопасность и контролирует доступ к приложению нескольких пользователей, используя серверный JavaScript. Этот слой позволяет клиентам как в пределах действия, так и за пределами прокси-сервера иметь доступ к приложению. WWW -сервер также работает как клиент с любым установленным сервером БД.
  3. · Серверы баз данных: Этот слой состоит из SQL-серверов БД, работающих обычно на высокопроизводительных рабочих станциях. Он содержит все данные БД, метаданные и правила ссылочной целостности/referential integrity, необходимые для работы приложения. Этот слой обычно находится в зоне действия прокси-сервера корпоративной сети и может предоставлять слой безопасности дополнительно к слою безопасности WWW -сервера. Netscape Enterprise Server поддерживает использование серверов БД: ODBC, DB2, Informix, Oracle и Sybase. Netscape FastTrack Server поддерживает только ODBC.
1.Рекламка: s |

Клиентская среда JavaScript работает как часть WWW -клиентов, а серверная среда JavaScript работает как часть Netscape web-сервера с доступом к одному или более серверов БД.

2.Рекламка: s | Смотрите здесь cloud providers. ;
x |   

Внутри web-сервера среда работы серверного JavaScript состоит из трёх основных компонентов, перечисленных ниже. JavaScript Application Manager работает поверх серверного JavaScript, как это делается в образце приложения, предоставленном Netscape (таком как приложение videoapp), и в любом приложении, созданном Вами.

Имеются три главных компонента среды работы JavaScript:

  1. Библиотека времени выполнения JavaScript: этот компонент предоставляет базовую функциональность JavaScript. Примером может служить Session Management Service, которая предоставляет предопределённые объекты для помощи в обслуживании Вашего приложения и совместного использования информации клиентом и сервером и несколькими приложениями.
  2. Библиотека LiveWire доступа к БД: Этот компонент расширяет базовую функциональность серверного JavaScript классами и объектами, которые предоставляют аналогичный доступ к внешним серверам БД.
  3. Виртуальная машина Java (ВМ): В отличие от других компонентов, ВМ Java используется не только в JavaScript; любое Java-приложение, запущенное на сервере, использует эту ВМ. ВМ Java была доработана для того, чтобы дать приложениям JavaScript возможность получать доступ к Java-классам через использование LiveConnect -функциональности JavaScript.

В целом приложение на JavaScript может содержать операторы, интерпретируемые клиентом (интерпретатором JavaScript, предоставляемым Netscape Navigator'ом или некоторыми другими web-браузерами) и сервером (машиной выполнения JavaScript, уже рассмотренной).

Когда вы запускаете приложение JavaScript, происходят различные действия: некоторые на сервере, и некоторые - на клиенте. Хотя конечному пользователю не обязательно знать все детали, Вам как разработчику приложения необходимо понимать, что происходит "под капотом."

При создании приложения Вы пишете HTML-страницы, которые могут содержать операторы серверного и клиентского JavaScript. В исходном коде HTML клиентский JavaScript находится в тэгах SCRIPT, а серверный JavaScript - в тэгах SERVER.

Вы можете также писать файлы, содержащие только операторы JavaScript без тэгов HTML. Такой JavaScript-файл может содержать либо клиентский, либо серверный JavaScript; один файл не может содержать и клиентские, и серверные объекты или функции.

JavaScript VM (Виртуальная Машина), используемая в Netscape Enterprise Server 4.0, реализует значительные улучшения для обработки локальных переменных (то есть переменных, которые объявлены внутри функции), по сравнению с NES 3.6. Соответственно, рекомендуется минимизировать использование глобальных переменных (переменных между тэгами <server> и </server>) и переписать приложения для использования функций там, где это возможно. Это значительно повысит производительность приложения.

Если файлы HTML и JavaScript содержат серверный JavaScript, Вы затем компилируете их в единый исполняемый файл приложения JavaScript. Этот файл называется web-файлом и имеет расширение .web. Компилятор приложений JavaScript развёртывает HTML-код в платформонезависимые байт-коды, разбирая и компилируя операторы серверного JavaScript.

Наконец, Вы публикуете Ваше приложение на Вашем web-сервере и используете JavaScript Application Manager для инсталяции и запуска приложения, чтобы пользователи могли получить к нему доступ.

На этапе прогона, когда клиент запрашивает страницу приложения серверного JavaScript, машина выполнения локализует представление этого файла в web-файле приложения. Она запускает весь найденный серверный код и создаёт HTML-страницу для отправки клиенту. Эта страница может содержать как обычные тэги HTML, так и операторы клиентского JavaScript. Весь серверный код запускается на сервере до отправки страницы клиенту и до выполнения любого HTML или клиентского JavaScript. Соответственно, Ваш серверный код не может использовать клиентские объекты, так же как и клиентский код не может использовать серверные объекты

 
Системные требования

Чтобы разрабатывать приложения JavaScript, использующие преимущества и клиентского, и серверного JavaScript, Вам нужна подходящая среда для разработки и публикации. В целом рекомендуется разрабатывать приложения на системе, отделённой от сервера публикации, поскольку разработка потребляет много ресурсов (порты соединений, пропускная способность, время процессора и память). При разработке также может быть нарушена работа уже опубликованных приложений конечного пользователя.

Среда разработки JavaScript состоит из:

  1. Утилит для авторизации и компиляции приложений JavaScript. Эти утилиты обычно находятся на машине разработчика.
  2. Машины разработчика с web-сервером для запуска приложений JavaScript, находящихся в стадии разработки.
  3. Машины публикации с web-сервером для публикации разработанных приложений. Конечные пользователи осуществляют доступ к приложениям, находящимся на этом сервере.

Необходимые утилиты:

  1. Браузер с возможностью выполнения JavaScript, такой как Netscape Navigator, входящий в состав Netscape Communicator.
  2. Компилятор приложений JavaScript, такой как компилятор web-серверов Netscape.
  3. Редактор, такой как Emacs или Notepad.
  4. Публикация и машины публикации требуют наличия следующего программного обеспечения:
  5. Web-сервера;
  6. Машины выполнения JavaScript, такой как машина web-серверов Netscape.
  7. Возможности конфигурирования Вашего сервера для работы приложений JavaScript, как это сделано в JavaScript Application Manager, поставляемом вместе с web-серверами Netscape.

Кроме того, если ваше приложение использует JavaScript-службу LiveWire Database Service, Вам понадобится:

  1. Программа - сервер реляционных БД на Вашей машине-сервере БД. См. документацию вашего сервера БД. В некоторых случаях Вам понадобится установить web-сервер и сервер БД на одной машине.
  2. Клиент БД и сетевое программное обеспечение на машине Вашего web-сервера. Если Вы используете одну машину и как сервер БД, и как web-сервер, типичное клиентское обеспечение БД как правило уже установлено при установке сервера БД. В противном случае Вам нужно удостовериться, что клиент БД установлен на той же машине, что и web-сервер, чтобы можно было иметь доступ к БД как клиент. О требованиях к клиентскому программному обеспечению см. дополнительно документацию поставщика БД.
 
Подключение Серверного JavaScript

Чтобы запускать приложения JavaScript на Вашем сервере, Вы обязаны подключить машину выполнения JavaScript в вашем Server Manager, щёлкнув Programs, а затем выбрав серверный JavaScript. После появления промпта "Activate the JavaScript application environment/Активизировать среду приложений JavaScript ?" выберите Yes и щёлкните OK. У Вас спросят также об ограничении доступа к Application Manager. Если Вы не подключите машину выполнения JavaScript, приложения JavaScript не смогут запускаться на этом сервере.

Чтобы использовать и сервлеты, и LiveWire, Вам необходимо подключить серверный JavaScript до подключения Java. Оба могут быть подключены через использование меню программ Administration Server'а. Если Вы модифицируете путь к классам/classpath в obj.conf, Ваши изменения будут утеряны, если Вы подключите/отключите серверный JavaScript или Java из программного меню Administration Server'а. Альтернативой редактирования директивы classpath в obj.conf является установка переменной окружения CLASSPATH в Unix или установка переменной CLASSPATH в установках System в Windows NT. Если Вам нужно редактировать obj.conf непосредственно, сохраните первоначальный файл на всякий случай. В Enterprise Server 4.0 Вы должны добавить CLASSPATH info в файлы конфигурации JVM (jvm12.conf для Solaris и NT) через интерфейс Enterprise Administration Server.

Как только Вы активируете среду приложений JavaScript, Вы обязаны остановить и рестартовать Ваш web-сервер, чтобы ассоциированные переменные окружения начали действовать. Если этого не сделать, приложения JavaScript, использующие службу LiveWire Database Service, работать не будут.

 
Защита Application Manager'а

Application Manager предоставляет контроль над приложениями JavaScript. В связи с его особыми возможностями Вы должны защитить его от неавторизованного доступа. Если Вы не ограничиваете доступ к Application Manager'у, любой может добавлять, удалять, изменять, стартовать и останавливать приложения на Вашем сервере. Это, естественно, может привести к нежелательным последствиям.

Вы (разработчик приложений на JavaScript) должны иметь права доступа для использования Application Manager'а на сервере разработчика, так как Вы используете его для работы с приложением при разработке. Администратор Вашего web-сервера, однако, может не предоставить Вам таких прав на сервере разработчика.

Если Вы подключите машину выполнения JavaScript в Server Manager'е, промпт спросит Вас, ограничивать ли доступ к Application Manager'у. Выберите Yes и щёлкните OK. (Yes - по умолчанию.) После этого любой, кто попытается получить доступ к Application Manager'у, обязан будет ввести имя пользователя и пароль Server Manager'а, чтобы получить возможность использовать Application Manager и приложение-образец dbadmin. Дополнительно см. руководство администратора для Вашего web-сервера.

Если Ваш сервер не использует Secure Sockets Layer (SSL), имя пользователя и пароль для Application Manager'а передаются по сети в некодированном виде. Перехватив эти данные, можно получить доступ к Application Manager'у. Если Вы используете тот же самый пароль для Вашего сервера администратора, хакер получит также контроль и над этим сервером. Следовательно, можно рекомендовать не использовать Application Manager вне прокси-сервера, если Вы не используете SSL. О том, как подключить SSL к серверу, см. справочник администратора Вашего web-сервера

 
Установки для LiveConnect
Чтобы использовать Java-классы в LiveConnect, Вам нужно установить CLASSPATH сервера. Полное описание этой процедуры дано в Programmer's Guide to Servlets и в Netscape Enterprise Server Administrator's Guide.
 
Локализация Компилятора

Инсталяция Netscape-сервера не изменяет Вашу переменную окружения PATH для включения директории, в которой установлен компилятор приложений JavaScript. Если Вам необходим быстрый доступ к компилятору, Вы обязаны модифицировать эту переменную.

В системах Unix у Вас есть выбор способов изменения переменной окружения PATH. Можно добавить $NSHOME/bin/https/lib, где $NSHOME это директория, в которой установлен Ваш сервер. Поговорите с Вашим системным администратором о том, как это сделать.

Чтобы изменить системный путь NT, запустите Control Panel, найдите диалоговое окно System и установите переменную PATH в разделе Environment settings, включив в неё %NSHOME%\bin\https\bin, где NSHOME это директория, в которой установлен Ваш сервер.

Если вы переместили компилятор JavaScript-приложений в другое место, Вы обязаны добавить эту новую директорию в переменную PATH.

 
Основные Этапы Создания Приложения

Обычно HTML статичен: после того как Вы написали HTML-страницу, её содержимое фиксируется. Фиксированное содержимое пересылается с сервера клиенту, когда клиент выполняет доступ к странице по её URL. С помощью JavaScript Вы можете создавать HTML-страницы, которые могут изменяться вслед за изменением данных или в ответ на действия пользователя.

Для создания приложения JavaScript Вы должны выполнить следующие шаги:

  1. Создать исходные файлы. Исходные файлы могут быть HTML-файлами с внедрённым JavaScript, файлами, содержащими только JavaScript, или исходными файлами на Java. Заметьте, что Виртуальная Машина JavaScript (VM), используемая в Netscape Enterprise Server 4.0, реализует значительные улучшения в процессинге локальных переменных (то есть переменных, объявленных внутри функций), по сравнению с NES 3.6. Отсюда следует, что нужно минимизировать использование глобальных переменных (то есть тех, которые объявлены между тэгами <server> и </server>) и переписать приложения так, чтобы максимально использовать функции. Это значительно увеличит скорость работы приложения.
  2. Построить приложение с использованием компилятора приложений JavaScript для создания исполняемого байт-кода (файла .web). Скомпилировать исходные файлы Java в файлы классов.
  3. Опубликовать web-файл, все необходимые файлы HTML, изображений и клиентского JavaScript и откомпилированные файлы Java-классов в соответствующие директории на сервере. Вы можете использовать Netscape Web Publisher для публикации Ваших файлов, как описано в книге Web Publisher User's Guide.
    4. Установить приложение в первый раз с помощью Менеджера Приложений JavaScript. Вы можете также использовать Менеджер Приложений для рестарта приложения после его перестроения/rebuilding. Инсталяция или рестарт приложения заставляют машину выполнения JavaScript запустить это приложение на выполнение. После инсталяции приложения Вам может потребоваться защитить его. Вам не нужно рестартовать приложение после его начальной инсталяции.
  4. Запустить приложение, щёлкнув Run в Менеджере Приложений или загрузив URL приложения в браузер. Например, чтобы запустить Hello World, загрузите в браузер http://server.domain/world/. Вы можете выполнить также отладку приложения, щёлкнув Debug в Менеджере Приложений.
  5. После того как Вы завершили разработку и тестирование Вашего приложения, Вам нужно будет опубликовать его, чтобы сделать доступным для пользователей. Процесс публикации обычно включает в себя инсталяцию приложения на конечном сервере и изменение прав доступа.

Прежде чем Вы сможете разрабатывать приложения на JavaScript, Вам нужно будет запустить машину выполнения на сервере и, возможно, защитить Менеджер Приложений JavaScript от неавторизованного доступа.

 
Менеджер Приложений JavaScript.

Прежде учиться создавать приложения JavaScript, Вы должны ознакомиться с Менеджером Приложений JavaScript. Вы можете использовать Application Manager для выполнения следующих задач:

  • Добавления нового JavaScript-приложения.
  • Модификации любых атрибутов уже установленного приложения.
  • Останова, старта и рестарта установленного приложения.
  • Запуска и отладки активного приложения.
  • Удаления установленного приложения.

Application Manager сам является приложением на JavaScript, демонстрирующим мощь и гибкость JavaScript. Вы запускаете JavaScript Application Manager по следующему URL в Navigator'е:

http://server.domain/appmgr

Application Manager отображает в прокручиваемом левом фрэйме (кадре/окне) все приложения JavaScript, установленные в данный момент на сервере. Выберите нужное приложение, щёлкнув на его имени в прокручиваемом списке. Правый фрэйм отображает для выбранного приложения следующую информацию:

  • название приложения в верхней части фрэйма
  • путь к web-файлу приложения на сервере
  • начальную страницу и страницу по умолчанию
  • максимальное количество соединений с БД, допустимых для предопределённого объекта database
  • внешние библиотеки (если имеются)
  • технику обслуживания объекта client
  • статус приложения: active или stopped (Пользователи могут запускать только активные приложения. Остановленные приложения недоступны.)

Для добавления нового приложения щёлкните вверху кнопку Add Application. Щёлкните Configure (в Enteprise Server 3.x) или Preferences (в Enterprise Server 4.0) для конфигурирования установок по умолчанию для Application Manager. Щёлкните Documentation, чтобы перейти на страницу технической поддержки Netscape JavaScript, где имеются ссылки на разнообразную документацию. Щёлкните Help для получения дополнительных инструкций об использовании Application Manager.

 
Создание Исходных Файлов Приложения

Первым шагом на пути создания приложения JavaScript будет создание и редактирование исходных файлов с кодом. Файл с расширением web для приложения JavaScript может быть исходным файлом одного из двух видов:

  • Файлом со стандартным HTML или с JavaScript, внедрённым в HTML. Эти файлы имеют расширение .html или .htm.
  • Файлом только с функциями JavaScript. эти файлы имеют расширение .js.

Если Вы используете JavaScript в HTML-файле, Вы обязаны следовать правилам, указанным в разделе "Внедрение JavaScript в HTML". Не используйте никаких специальных тэгов в файлах .js; компилятор приложений JavaScript на сервере и интерпретатор JavaScript на стороне клиента считают такие файлы написанными на JavaScript. Поскольку HTML-файл используется и на клиенте, и на сервере, один файл JavaScript обязан использоваться либо на сервере, либо на клиенте; он не может использоваться и там, и там. Следовательно, файл JavaScript может содержать либо клиентский, либо серверный JavaScript, но один файл не может содержать и клиентские, и серверные объекты или функции. Компилятор приложений JavaScript компилирует и связывает HTML- и JavaScript-файлы, содержащие серверный JavaScript, в единый платформонезависимый байт-код web-файла (имеющего расширение .web). Вы инсталируете web-файл, запускаемый машиной выполнения JavaScript.

 
Компиляция Приложения

Вы компилируете приложение JavaScript, используя компилятор приложений JavaScript, jsac. Компилятор создаёт web-файл из исходных файлов на языках HTML и JavaScript.

Netscape Enterprise Server 4.0 поддерживает компилятор JavaScript Application Compiler версии 24.13. Заметьте, что приложение, скомпилированное с использованием "=" в качестве операции Equal, не сможет использовать новый компилятор. Вы обязаны использовать "==" в качестве операции Equal (==).

Для облегчения доступа к компилятору Вам может понадобиться добавить директорию, в которой он установлен, в переменную окружения PATH. От том, как это сделать, см. раздел "Локализация Компилятора" в Главе 3, "Технология Разработки Приложений JavaScript." Вам нужно также добавить директорию <server_root>/bin/httpd/lib в LD_LIBRARY_PATH (или LIBPATH, или SHLIB_PATH на Unix-платформах), либо <server_root>/bin/https/bin в PATH на Windows NT-платформах.

Вам нужно компилировать только те страницы, которые содержат серверный JavaScript или оба - клиентский и серверный JavaScript. Вам не нужно компилировать страницы, содержащие только клиентский JavaScript. Вы, конечно, можете сделать это, но скорость работы будет выше, если Вы оставите страницы с клиентским JavaScript без компиляции. Компилятор доступен из командной строки. Используйте следующий синтаксис командной строки для компиляции и компоновки приложений JavaScript на сервере:

jsac [-h] [-c] [-v] [-d] [-l]
[-o outfile.web]
[-i inputFile]
[-p pathName]
[-f includeFile]
[-r errorFile]
[-a 1.2]
script1.html [...scriptN.html]
[funct1.js ... functN.js]

Элементы в квадратных скобках не обязательны. Синтаксис дан на нескольких строках для большей ясности. Файлы scriptN.html и functN.js это входные файлы для компилятора. Должен быть как минимум один HTML-файл. По умолчанию файлы HTML и JavaScript ищутся в текущей директории. Специфицируемые Вами файлы обязаны быть JavaScript- или HTML-файлы; Вы не можете специфицировать другие файлы, такие, например, как .GIF.

На всех платформах Вы можете использовать тире (-) или слэш (/) для обозначения опций командной строки. То есть, следующие строки эквивалентны:

jsac -h
jsac /h

Заметьте, что, поскольку слэш обозначает опции командной строки, входной файл не может начинаться с символа / (слэш) для обозначения абсолютного пути (в Unix). Таким образом, следующий вызов неверен:

jsac -o myapp.web /usr/vpg/myapp.html

Это ограничение не распространяется на путь, который Вы предоставляете как аргумент командной строки; только на входные файлы. В NT Вы можете использовать обратный слэш (\) для указания абсолютного пути во входном файле, как в следующем вызове:

jsac -o myapp.web \usr\vpg\myapp.html

В Unix Вы обязаны использовать опцию командной строки -i для специфицирования абсолютного пути, как описано ниже.
Доступны следующие опции командной строки:

  • -h: Помощь по синтаксису компилятора. Если Вы используете эту опцию, не указывайте никаких других.
  • -c: Синтаксис только проверяется; web-файл не генерируется. Если эта опция указана, опцию -o указывать не нужно.
  • -v: (Verbose) Выводит информацию о работе компилятора.
  • -d: Выводит генерируемое JavaScript-содержимое.
  • -l: Специфицирует набор символов, используемый при компиляции (такой как iso-8859-1, x-sjis или euc-kr).
  • -o outfile: Создаёт web-файл в формате байт-кода с именем outfile.web. Если эта опция не указана, компилятор не генерирует web-файл. (Опускайте эту опцию только тогда, когда используете опцию -c для проверки синтаксиса или -h для получения помощи.)
  • -i inputFile: Позволяет специфицировать входной файл с полным путём, а не с относительным путём. Для этой опции может быть задано только имя файла. Если Вам нужно специфицировать несколько файлов с полным путём, используйте опцию -f.
  • -p pathName: Специфицирует корневую директорию для всех относительных путей, используемых при компиляции. (Используйте перед опцией -f.) Для этой опции можно указать только один путь.
  • -f includeFile: Специфицирует файл, который является списком входных файлов, что позволяет обойти ограничение на количество символов, вводимых в командной строке. Для этой опции можно указать только одно имя файла. Файлы в списке входных файлов в includeFile разделены пробелами. Если имя файла содержит пробел, Вы обязаны заключить имя файла в двойные кавычки.
  • -r errorFile: Перенаправляет стандартный вывод (включая сообщения об ошибках) в специфицированный файл. В этой опции можно указать только одно имя файла.
  • -a 1.2: Устанавливает версию в 1.2 для обеспечения обратной совместимости.

Например, следующая команда компилирует и компонует две HTML -страницы с JavaScript, main.html и hello.html, и файл серверного JavaScript, support.js, создавая двоичный исполняемый файл с именем myapp.web. Кроме того, в процессе компиляции компилятор печатает в командной строке информацию о ходе компиляции.

jsac -v -o myapp.web main.html hello.html support.js

В следующем примере команда компилирует файлы, перечисленные в файле looksee.txt, в бинарный исполняемый файл под названием looksee.web:

jsac -f looksee.txt -o looksee.web

Здесь looksee.txt может содержать:

looksee1.html
looksee2.html
\myapps\jsplace\common.js
looksee3.html

 
Установка Нового Приложения

Вы не можете запустить приложение, и клиенты не могут получить к нему доступ, пока Вы не установите его. Инсталяция приложения идентифицирует его на сервере. После установки Вы можете перестроить/rebuild и запустить приложение любое число раз. Приложение нужно переустановить только тогда, когда Вы его удалили. Вы можете установить до 120 приложений JavaScript на один сервер.

Прежде чем устанавливать, Вы обязаны поместить все файлы, имеющие отношение к приложению, в соответствующую директорию путём публикации файлов. Иначе Вы получите сообщение об ошибке при попытке инсталяции. Из соображений безопасности, Вы можете не захотеть публиковать свои исходные файлы JavaScript на сервер публикации. См. в разделе "URL Приложения" об ограничениях на размещение файлов.

Чтобы установить новое приложение с помощью Application Manager, щёлкните Add Application. В ответ Application Manager выведет в правом фрэйме форму. Заполните поля в форме Add Application следующим образом:

  • Name: имя приложения. Это имя идентифицирует URL приложения. Например, имя приложения Hello World это "world," а URL приложения - это http://server.domain/world. Это необходимое поле, и имя, которое Вы запишете, обязано отличаться от имён других приложений на данном сервере. См. "URL Приложения".
  • Web File Path: полное путевое имя web-файла приложения. Это поле необходимо. Например, если сервер Netscape установлен в директории c:\nshome, путь web-файла для приложения Hello World будет c:\nshome\js\samples\world\hello.web.
  • Default Page: страница по умолчанию, которая загружается машиной выполнения JavaScript, если пользователь не специфицировал конкретную страницу в URL. Эта страница аналогична index.html для стандартного URL.
  • Initial Page: начальная страница, которая выполняется машиной выполнения JavaScript, когда Вы запускаете приложение в Application Manager. Эта страница выполняется точно один раз при запуске приложения. Она обычно используется для инициализации значений, создания блокировок/locks и установления соединения с БД. Любой исходный JavaScript на этой странице не может использовать предопределённые объекты request или client. Это необязательное поле.
  • Built-in Maximum Database Connections: значение по умолчанию - максимальное количество соединений с БД, которое может иметься в данном приложении в один момент времени через использование предопределённого объекта database. Код JavaScript может переопределить это значение путём вызова метода database.connect.
  • External Libraries: пути к внешним библиотекам, используемым в приложении. Если Вы специфицируете несколько библиотек, разделите имена запятыми или точкой с запятой. Это поле по выбору/optional. Библиотеки, установленные для одного приложения, могут использоваться всеми приложениями на данном сервере.
  • Client Object Maintenance: техника, используемая для сохранения свойств объекта client. Это может быть клиентская "кука"/cookie, URL клиента, IP сервера, серверная кука или URL сервера.

После того как Вы предоставили всю требуемую информацию, нажмите Enter для инсталяции приложения, Reset для очистки всех полей или Cancel для отмены операции.

Вы обязаны остановить и рестартовать сервер после добавления или изменения внешних библиотек. Вы можете рестартовать сервер из Server Manager; см. руководство администратора сервера.

 
URL Приложения

При установке приложения Вы обязаны задать ему имя. Это имя определяет базовый URL приложения: тот URL, который клиенты используют для доступа к странице по умолчанию данного приложения JavaScript. Базовый URL приложения имеет форму:

http://server.domain/appName

Здесь server это имя HTTP-сервера, domain это домен Internet (включая субдомены), а appName это имя приложения, которое Вы ему дали при инсталяции. Отдельные страницы приложения достигаются через URL приложения в форме:

http://server.domain/appName/page.html

Здесь page это имя страницы приложения. Например, если Ваш сервер называется coyote, а домен имеет имя royalairways.com, базовый URL для приложения hangman будет:

http://coyote.royalairways.com/hangman

Если клиент запрашивает этот URL, сервер генерирует HTML для страницы по умолчанию приложения и высылает её клиенту. URL приложения страницы winning в этом приложении:

http://coyote.royalairways.com/hangman/youwon.html

Прежде чем инсталировать приложение, убедитесь, что выбранное Вами имя приложения не присвоило существующий URL на Вашем сервере. Машина выполнения JavaScript направляет все клиентские запросы по URL, соответствующим URL приложения, в директорию, специфицированную для web-файла. Таким образом можно "обмануть" нормальную корневую директорию.

Например, предположим, клиент запрашивает URL, который начинается с префикса из предыдущего примера:

http://coyote.royalairways.com/hangman

В этом случае машина выполнения на сервере ищет документ в директории samples\hangman, а не в нормальной корневой директории сервера. Сервер обслуживает в этой директории страницы, которые не компилируются в приложение.

Вы можете поместить Ваши исходные (неоткомпилированные) файлы серверного JavaScript в ту же директорию, что и web-файл; однако Вы должны делать это только для отладки. Если Вы публикуете Ваше приложение для общего пользования, Вы, по соображениям безопасности, не должны публиковать неоткомпилированные файлы серверного JavaScript.

 
Управление Доступом к Приложению

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

Если Вы работаете на рабочем сервере за брандмауэром/firewall, то можете не беспокоиться об ограничении доступа в процессе разработки приложения. Удобно не иметь ограничений доступа в процессе разработки приложения, так как Вы можете быть уверены в защищённости приложения от атак за стеной firewall. Если Вы используете учебные данные на стадии разработки, то риск ещё меньше. Однако, если Вы публикуете Ваше приложение, Вы должны быть уверены, что любой посетитель Вашего приложения может им пользоваться.

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

 
Модификация Приложения

Чтобы модифицировать приложение, выберите имя приложения в списке приложений и щёлкните Modify.

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

Если Вы модифицируете поля остановленного приложения, Application Manager автоматически запускает его. Если Вы модифицируете поля активного приложения, Application Manager автоматически останавливает и запускает его.

 
Удаление Приложения

Чтобы удалить приложение, выберите его в списке приложений и щёлкните Remove. Application Manager удалит приложение, и оно больше не сможет быть запущено на сервере. Клиенты не смогут больше получить доступ к приложению. Если Вы удалите приложение, а после этого захотите запустить его, нужно будет инсталировать его заново.

Хотя клиенты потеряют доступ к приложению, удаление его с помощью Application Manager не удаляет физически файлы приложения с сервера. Если Вы хотите полностью удалить файлы, сделайте это вручную.

 
Старт, Остановка и Рестарт Приложения

После инсталяции приложения его можно запустить на выполнение. Выберите приложение в списке приложений и щёлкните Start. Если приложение запущено успешно, его статус изменяется со Stopped на Active. Вы можете запустить приложение, загрузив его URL:

http://server.domain/appmgr/control.html?name=appName&cmd=start

Здесь appName это имя приложения. Вы не можете изменить этот URL, если не имеете привилегий доступа к Application Manager. Чтобы остановить приложение и сделать его таким образом недоступным для пользователей, выберите имя приложения в списке приложений и щёлкните Stop. Статус приложения изменится на Stopped, и клиенты не смогут запускать его. Вы обязаны остановить приложение, если хотите переместить web-файл или обновить приложение с рабочего сервера на конечном сервере публикаций. Вы можете также остановить приложение, загрузив следующий URL:

http://server.domain/appmgr/control.html?name=appName&cmd=stop

Здесь appName это имя приложения. Вы не можете изменить этот URL, если не имеете привилегий доступа к Application Manager.

Вы обязаны рестартовать приложение каждый раз после его перестроения/rebuild. Чтобы рестартовать активное приложение, выберите его в списке приложений и щёлкните Restart. Фактически рестарт реинсталирует приложение; программа ищет специфицированный web-файл. Если верного web-файла нет, Application Manager генерирует ошибку. Вы можете также рестартовать приложение, загрузив следующий URL:

http://server.domain/appmgr/control.html?name=appName&cmd=restart

Здесь appName это имя приложения. Вы не можете изменить этот URL, если не имеете привилегий доступа к Application Manager.

 
Запуск Приложения

После инсталяции и компиляции приложения Вы можете запустить его двумя способами:

  • Выбрать имя приложения в списке приложений и щёлкнуть Run. Application Manager откроет новое окно Navigator.
  • Загрузить базовый URL приложения в Navigator, напечатав его в поле Location/Адрес.

Сервер сгенерирует HTML для специфицированной страницы и вышлет его клиенту.

 
Отладка Приложения

Для отладки приложения сделайте следующее:

  • Выбрать имя приложения в списке приложений и щёлкнуть Debug, как указано в разделе "Использование Менеджера Приложений для Отладки".
  • Загрузить URL отладки, как указано в разделе "Использование URL Отладки".

Можно использовать функцию debug для вывода отладочной информации, как описано в разделе "Использование Функции debug". После запуска отладки приложения JavaScript Вы не сможете остановить или рестартовать его. В этих случаях Application Manager выдаст сообщение "Trace is active/Трассировка включена". Если это произойдёт, сделайте следующее:

  1. Закройте все окна отладки.
  2. Закройте все окна с данным приложением.
  3. В Application Manager выберите это приложение и щёлкните Run.

Теперь Вы можете остановить и рестартовать это приложение.

Использование Менеджера Приложений/Application Manager для Отладки

Для отладки приложения выберите его в списке приложений и щёлкните Debug. Application Manager откроет новое окно Navigator, в котором будет запущено приложение. Запустится также утилита трассировки в отдельном фрэйме, в окне, содержащем приложение, или вообще в другом окне. (Вы можете определить появление отладочного окна при конфигурировании установок по умолчанию для Application Manager, как описано в разделе "Конфигурирование Установок по Умолчанию"). Утилита трассировки выведет следующую отладочную информацию:

  • значения свойств объектов и аргументов функций отладки, вызываемых приложением
  • значения свойств объектов request и client до и после генерации HTML для страницы
  • значения свойств объектов project и server
  • индикацию присвоения новых значений свойствам
  • индикацию отправки машиной выполнения содержимого клиенту
Использование URL Отладки

Вместо Application Manager вам может больше подойти использование URL отладки приложения. Для отображения утилиты трассировки приложения в отдельном окне введите следующий URL:

http://server.domain/appmgr/trace.html?name=appName

Здесь appName это имя приложения. Для отображения утилиты трассировки в том же самом окне, что и окно приложения (но в отдельном кадре/фрэйме), введите URL в форме:

http://server.domain/appmgr/debug.html?name=appName

Вы не сможете воспользоваться двумя вышеуказанными URL, если не имеете прав для запуска Application Manager. Для удобства можно сделать закладку на URL отладки.

Использование Функции debug

Вы можете использовать функцию debug в Вашем приложении JavaScript для помощи при отслеживании/трассировке проблем в приложении. Функция debug отображает значения для утилиты трассировки. Например, следующий оператор выводит значение свойства guess объекта request в окне трассировки вместе с некоторым идентифицирующим текстом:

debug ("Current Guess is ", request.guess);

 
Публикация Приложения

После завершения разработки и тестирования приложения Вы можете опубликовать его и сделать доступным для предполагаемых пользователей. Это требует выполнения двух шагов:

  • перемещения/копирования приложения с рабочего сервера на сервер публикаций, доступный конечным пользователям;
  • применения или изменения прав доступа к приложению.

Вы должны скопировать web-файл приложения на сервер публикаций вместе с изображениям и неоткомпилированными файлами HTML и JavaScript, которые необходимы для работы приложения. О публикации файлов приложений см. дополнительно Netshare and Web Publisher User's Guide.

В целом, по соображениям безопасности, Вы не должны публиковать файлы с исходным кодом. В зависимости от приложения, Вы можете ограничить доступ для определённых пользователей или групп пользователей. В некоторых случаях любой пользователь может запускать приложение; тогда ограничений можно вообще не применять. Если приложение показывает специальную информацию или даёт доступ к файловой системе сервера, Вы должны предоставить доступ только авторизованным пользователям, имеющим соответствующие имена и пароли для входа. Вы ограничиваете доступ к приложению, применяя стиль конфигурации сервера из Вашего Server Manager. Об использовании Server Manager и стилей конфигурации см. Enterprise Server 4.0 Administrator's Guide.

 
Менеджер Приложений.

Чтобы конфигурировать установки по умолчанию для Application Manager, щёлкните Configure (в Enteprise Server 3.x) или Preferences (в Enterprise Server 4.0) в верхнем фрэйме Application Manager'а. В ответ Application Manager отобразит форму. Вы можете специфицировать следующие значения по умолчанию:

  • Web File Path: Путь по умолчанию к рабочей директории.
  • Default Page: Имя по умолчанию для страницы по умолчанию в новом приложении.
  • Initial Page: Имя по умолчанию для начальной страницы в новом приложении.
  • Built-in Maximum Database Connections: Значение по умолчанию - максимальное количество соединений с базами данных, которые могут устанавливаться для предопределённого объекта database.
  • External Libraries: Путь по умолчанию к директории с внешними исполняемыми библиотеками.
  • Client Object Maintenance: Техника по умолчанию для обслуживания свойств объекта client.

Если Вы устанавливаете новое приложение, используются значения полей по умолчанию в качестве начальных значений. Дополнительно Вы можете специфицировать следующие установки:

  • Confirm on: Требовать ли Вашего подтверждения для выполнения удаления, старта, остановки или рестарта приложения.
  • Debug Output: Появляется ли окно трассировки, при отладке приложения, в том же окне, что и само приложение, но в отдельном кадре, или в отдельном от приложения окне.

Application Manager является удобным интерфейсом для модифицирования файла конфигурации $NSHOME\https-serverID\config\jsa.conf, где $NSHOME это директория, в которой установлен сервер, а serverID это идентификатор ID сервера. В случае фатальной ошибки Вам может потребоваться отредактировать этот файл самостоятельно. Вообще-то это не рекомендуется, но здесь мы даём информацию для такого случая. Каждая строка файла jsa.conf соответствует приложению. Первый элемент каждой строки это имя приложения. Остальные элементы имеют формат name=value, где name это имя поля установки, а value это значение поля. Возможные значения name:

  • uri: часть - имя приложения в базовом URL приложения
  • object: путь к web-файлу приложения
  • home: страница по умолчанию
  • start: начальная страница приложения
  • maxdbconnect: максимальное количество соединений с БД, разрешённое для предопределённого объекта database
  • library: пути к внешним библиотекам, разделённые запятыми или точкой с запятой
  • client-mode: техника обслуживания объекта client

Файл jsa.conf имеет ограничение размера в 1024 строки, каждая строка может иметь не более 1024 символов. Если поля, введённые в Application Manager, превосходят этот лимит, строка усекается. Это ведёт обычно к потере последнего элемента, файлов внешних библиотек. Если это произошло, уменьшите количество используемых внешних библиотек и добавьте библиотеки в другие приложения. Поскольку установленные библиотеки доступны всем приложениям, любое приложение может использовать их. Строка, начинающаяся с #, обозначает комментарий. Такая строка игнорируется. Можно также включать в файл пустые строки. Не записывайте несколько строк, специфицируя одно и то же имя приложения. Это вызовет ошибки в работе Application Manager'а.


footer:
Rambler's Top100