Классика баз данных - статьи

       

Cache' Server Pages (CSP).


Основой концепции серверных страниц Cache' является автоматическое создание по запросу пользователя web-страниц, содержащих требуемую информацию из БД Cache'. Как видно из рис. 7., вся бизнес-логика CSP-приложений выполняется в непосредственной близости к хранилищу данных Cache', таким образом сокращается объем данных, которыми обмениваются web-сервер и сервер БД Cache', что приводит к выигрышу в производительности по сравнению с другими технологиями создания web-приложений. Для еще большего увеличения производительности CSP приложений при обмене данными между сервером Cache' и web-сервером используются высокоскоростные интерфейсы API.

Рис.7. Сравнение web-технологий.

Серверные страницы Cache' представляют собой текстовые HTML-файлы, расширяемые тегами приложений Cache' (Cache' Application Tags или CATs). Для создания CSP приложений можно воспользоваться стандартными средствами разработки HTML страниц (Cache' предоставляет add-in модуль для полной интеграции с Macromedia DreamWeaver) или, на крайний случай, обыкновенным текстовым редактором.

В Листинге 1 приведен пример небольшого CSP-приложения, которое выводит значения свойств объекта, хранящегося в БД Cache'.

Листинг 1.

<html> <head></head> <body> <script language="Cache'" runat="Server"> set obj=##class(Sample.Person).%OpenId(1) write obj.Name,"<br>" write obj.Age,"<br>" do obj.%Close() </script> </body> </html>

Стандартные теги приложений Cache' приведены в Таблице 1. Однако пользователь не ограничен только стандартными тегами. Cache' предоставляет также интерфейсы для создания пользовательских тегов приложений.

Таблица 1. Стандартные теги CSP.

Вставка данных:

УправлениеИспользование Cache' ScriptЗапросы к БДПривязка объекта к формеУправление параметрами класса

#(а)#Вывод значения переменной/функции/метода
##(a)##тоже, но во время компиляции
<CSP:IF CONDITION='a=1'> <b>Unautorized!!!</b> </CSP:IF>Условие
<CSP:WHILE …> <CSP:LOOP …>Циклы
<SCRIPT Language="Cache'" RUNAT="Server/Compiler"> …. </SCRIPT>Скрипт внутри страницы
<SCRIPT Method=methodName Arguments=spec [ReturnType=dataType]>Inner Text</SCRIPT>Метод CSP класса
<CSP:QUERY …> <CSP:SEARCH …> <SCRIPT LANGUAGE="SQL" …>Запрос класса

Поисковая форма

SQL-запрос

<CSP:OBJECT …> <FORM CspBind="obj" …> <INPUT CspBind="obj.Name" …>Открытие объекта

Привязка объекта к форме

Привязка свойства к полю

<CSP:CLASS [Encoded=encodedType] [Private=accessType] [Super=classList] …>Определение родительских классов, режима шифрования и пр.
<
При открытии CSP-страницы в браузере Cache' автоматически преобразует CSP-страницу в класс Cache' (по умолчанию классом-предком для CSP-классов является системный класс %CSP.Page). CSP-класс - это не просто способ представления кода. Это отражение полноценной объектной модели CSP-приложения. Т.е. можно использовать все преимущества объектного подхода к разработке при работе с CSP, такие как наследование и полиморфизм.

После преобразования CSP-страницы в класс Cache' класс можно редактировать, используя возможности Object Architect, например, возможность контекстной подцветки кода методов.

Для изучения CSP можно воспользоваться примерами, поставляемыми в стандартной комплектации Cache'. Для этого необходимо установить Cache' и в браузере обратиться по адресу http://127.0.0.1:1972/csp/samples/menu.csp:




Содержание раздела