Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6
Обзор архитектуры Cache ZEN
Что такое ZEN? Среда разработки и выполнения приложений для разработки Web-интерфейса приложений Среда разработки и выполнения приложений для разработки Web-интерфейса приложений Управляемая моделями архитектура Управляемая моделями архитектура Расширяемая библиотека готовых компонентов, генерирующих стандартный HTML и JavaScript Расширяемая библиотека готовых компонентов, генерирующих стандартный HTML и JavaScript Интеграция с постреляционной СУБД Caché Интеграция с постреляционной СУБД Caché Интеграция с Caché Studio Интеграция с Caché Studio Интеграция с SVG Интеграция с SVG
Архитектура ZEN ZEN состоит из набора классов: ZEN состоит из набора классов: Приложение ZEN, состоящее из страниц ZEN Приложение ZEN, состоящее из страниц ZEN Страницы ZEN: Страницы ZEN: –Объект страница –Объекты компонент –Методы, выполняемые в браузере и на сервере Компоненты ZEN Компоненты ZEN –Готовые –Собственные
Архитектура ZEN
Поведение ZEN Обращение к странице создает объект страницы и объекты всех компонентов страницы на сервере Обращение к странице создает объект страницы и объекты всех компонентов страницы на сервере Дерево объектов строит стили CSS, скрипты JavaScript и теги HTML, необходимые для отображения страницы в браузере Дерево объектов строит стили CSS, скрипты JavaScript и теги HTML, необходимые для отображения страницы в браузере То же самое дерево объектов воссоздается в клиентском браузере в виде набора JavaScript объектов То же самое дерево объектов воссоздается в клиентском браузере в виде набора JavaScript объектов Свойства, методы, наследование доступны на стороне клиента Свойства, методы, наследование доступны на стороне клиента При обработке событий можно вызывать методы на сервере и/или на клиенте При обработке событий можно вызывать методы на сервере и/или на клиенте
Поведение ZEN
ZEN и CSP Среда ZEN построена с использованием CSP. ZEN использует объектный подход к разработке приложений CSP Среда ZEN построена с использованием CSP. ZEN использует объектный подход к разработке приложений CSP ZEN не заменяет и не вытесняет CSP ZEN не заменяет и не вытесняет CSP ZEN использует основные возможности и особенности CSP: ZEN использует основные возможности и особенности CSP: –Производительность –Доступ к данным –Безопасность –Локализацию –Управление сессией –Механизм гипер-событий
Прототип 6 Свободно распространяемый набор инструментов разработки, основанный на Zen и объектах Cache' Свободно распространяемый набор инструментов разработки, основанный на Zen и объектах Cache' Технологии организации командной работы и цикла разработки ПО Технологии организации командной работы и цикла разработки ПО В будущем планируется создание и координация сообщества разработчиков компонентов для Zen и Cache В будущем планируется создание и координация сообщества разработчиков компонентов для Zen и Cache
Обзор архитектуры Cache ZEN Prototype6
Используемые продукты Cache' ClassesCSPZENPrototype 6 Пользователь Создание отчетов JOOReports Java OpenOffice Форма отчета Взаимодействие с пользователем Subversion Контроль версий Набор инструментов полностью открытый и кросс-платформенный
Прототип-6 Бизнес логика Интерфейс пользователя Классы Cache Контроль целостности Протоколирование Пользовательские классы Контроллер CSP ZEN Модель данных Контролы Zen Контролы p6 Могут получать данные из словаря классов Пользовательские страницы Хранимые классы %Persistent
Классы и Прототип-6 Класс обеспечения ссылочной целостности автоматически обеспечивает целостность объектов, запрещая удаление объектов, на которые есть внешние ссылки Класс обеспечения ссылочной целостности автоматически обеспечивает целостность объектов, запрещая удаление объектов, на которые есть внешние ссылки Класс протоколирования ведет журнал работы пользователей над объектом Класс протоколирования ведет журнал работы пользователей над объектом Типы данных для русских стандартов Типы данных для русских стандартов
Целостность данных Не удаляйте объекты с внешними ссылками!
Протокол работы
Zen и Прототип-6 Все контролы способны получать значения своих параметров из словаря классов, что уменьшает объем кода и позволяет «писать однажды, использовать везде» Все контролы способны получать значения своих параметров из словаря классов, что уменьшает объем кода и позволяет «писать однажды, использовать везде» Приятный компонент для полей-ссылок Приятный компонент для полей-ссылок Каскадный интерфейс пополнения справочников Каскадный интерфейс пополнения справочников Красивая отрисовка контролов на странице Красивая отрисовка контролов на странице
Пишем меньше кода
Каскадные окна
Отчеты Движок отчетов позволяет создавать формы отчетов в Open Office и выдавать готовые отчеты в MS Office, HTML, PDF и OpenOffice Движок отчетов позволяет создавать формы отчетов в Open Office и выдавать готовые отчеты в MS Office, HTML, PDF и OpenOffice Server Таблица-источник данныхSQL запрос Шаблон OpenOffice Конвертация в OOo, MS Office, XML, HTML Готовый отчет в нужном формате Client
Практика Специально обученные люди на ваших глазах создадут приложение с использованием технологий Cache Zen и Прототип-6! Специально обученные люди на ваших глазах создадут приложение с использованием технологий Cache Zen и Прототип-6!
Спасибо за внимание! Вопросы? Сергей Шутов Борис Егоров «Симпозиум 2008»