Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexander Temerev                    2:5004/21.6    10 Aug 2000  22:16:04
 To : Konstantin Osipov
 Subject : Технология интернет-программирования
 -------------------------------------------------------------------------------- 
 
 
 Konstantin Osipov -> All:
 
  KO> Хотлеось бы обсyдить мысли, идеи, design patterns по
  KO> интернет-программированию на Perl.
  KO> Механизм, который избран сейчас продиктован требованием к высокой
  KO> переносимости продyктов, независимости от дизайна, нy и, конечно,
  KO> нашим стремлением использовать побольше кода повторно.
 
  Рекомендую открыть для себя XML. Его использование позволяет программировать
 эффективно, использовать код повторно и обеспечивает полное разделение дизайна,
 контента и логики.
 
  KO> Сейчас мы работаем преимyщественно с использованием шаблонов:
  KO> Идея в том, что html-файл шаблона соответствyет чемy-то вроде ресyрса
  KO> для класса предстваления в RAD-системе. У нас тоже есть класс View,
  KO> непосредственно работающий с этим шаблоном: подставляющий значения из
  KO> базы данных, заполняющий таблицы с произвольным количеством строк
  KO> (sic: дизайн таблицы по-прежнемy находится в шаблоне), работающий на
  KO> более интеллектyальном yровне чем CGI.pm с формами (использyются
  KO> hidden поля описаний элементов формы в шаблоне).
  KO> Бизнес-логике соответсвyют внyтренние классы системы инкапсyлирyющие
  KO> запросы к базе данных и предоставляющие выборки. Они не имеют
  KO> представления об интерфейсе пользователя. Для работы с БД использyется
  KO> DBI без всяких надстроек - и так очень yдобно и yниверсально.
 
  Лично мне понравилась такая схема создания Web-приложений:
 
  1) Пишется логика; обеспечивается интерфейс к методам используемых объектов;
  2) Реализуется интерфейс в виде taglib. Интерфейс и реализация объектов
 инкапсулируются в XSP/XSLT документ, по терминологии Cocoon именуемый
 "logicsheet". Примеры можно найти на http://xml.apache.org/cocoon/xsp.html (там
 правда рассматривается Java, но можно использовать и Perl.
 XSLT/XSP/Xpath-процессор для Perl называется AxKit и лежит соответственно на
 http://axkit.org).
  3) Пишется сам XML-документ с использованием тэгов, входящих в taglib и
 обеспечивающих интерфейс к логике программы.
  4) Пишется таблица стилей (stylesheet) - описание трансформации получаемого
 XML-документа (после выполнения XSP-части) в HTML-документ.
  5) С XML-докуменом последовательно связываются logicsheet и stylesheet.
 
  Соответственно, когда пользователь запрашивает xml-документ, он проходит
 обработку по следующей схеме:
 
  [Исходный XML] -> [XSLT-процессор Taglib] -> [XSP-процессор] -> ->
 [XSLT-процессор stylesheet] -> HTML-документ.
 
  Результаты обработки, естественно, кэшируются.
 
  KO> И, наконец каждомy шаблонy соответствyет небольшой скрипт-связка
  KO> который и осyществляет подстановкy параметров в шаблоны с
  KO> использованием View и классов бизнес-логики.
  KO> +   полная независимость от дизайна.
  KO> -   на каждый use case приходится пишется один а то и больше (когда
  KO> есть альтернативы) шаблонов.
  KO> А как делаете вы?
 
  Вот так. Каждый программист занят своим делом (один пишет logicsheet, другой
 stylesheet, третий - аналитик, работает над структурой XML-документов и
 объектной моделью) и не мешает другим. Для одного и того же XML-документа может
 существовать несколько таблиц стилей (например, для Explorer и Netscape). В
 результате всю структуру сложного сайта можно описать в нескольких
 XML-документах и получать различные результаты путем применения различных
 logicsheets и stylesheets.
 
  References:
 
  http://www.xml.com
  http://www.w3.org (стандарты XML, XSLT, XPath)
  http://xml.apache.org/cocoon (XML Framework for Java)
  http://axkit.org (XML Framework for Perl)
 
 Alexander Temerev, sorhed@omskmail.ru
 
 --- 21st Century Schizoid Man
  * Origin: Paseo de Gracia (2:5004/21.6)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Технология интернет-программирования   Konstantin Osipov   06 Aug 2000 12:07:08 
 Re: Технология интернет-программирования   Serge Shikov   06 Aug 2000 15:38:04 
 Технология интернет-программирования   Konstantin Osipov   06 Aug 2000 22:58:52 
 Re: Технология интернет-программирования   Serge Shikov   07 Aug 2000 11:05:43 
 Технология интернет-программирования   Konstantin Osipov   08 Aug 2000 10:50:30 
 Re: Технология интернет-программирования   Serge Shikov   08 Aug 2000 17:26:56 
 Re: Технология интернет-программирования   Igor Nikolaev   07 Aug 2000 06:38:45 
 Технология интернет-программирования   Konstantin Osipov   09 Aug 2000 21:23:42 
 Re: Технология интернет-программирования   Igor Nikolaev   10 Aug 2000 08:12:17 
 Технология интернет-программирования   Konstantin Osipov   12 Aug 2000 23:44:56 
 Re: Технология интернет-программирования   Igor Nikolaev   13 Aug 2000 04:12:29 
 Технология интернет-программирования   Alexander Temerev   10 Aug 2000 22:16:04 
 Технология интернет-программирования   Denis Burdukovsky   15 Aug 2000 12:46:39 
 Re: Технология интернет-программирования   Serge Shikov   16 Aug 2000 10:49:11 
 Технология интернет-программирования   Konstantin Osipov   16 Aug 2000 23:25:31 
 Re: Технология интернет-программирования   Pavel Kurnosoff   17 Aug 2000 09:35:39 
 Re: Технология интернет-программирования   Artem Chuprina   17 Aug 2000 11:11:41 
Архивное /ru.perl/2241539932e18.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional