Преимущества LXP
Примечание
LXP – коммерческий продукт, разработанный авторами этой книги. Пакет не распространяется на условиях открытых исходных текстов. На компакт-диске имеется пробная версия LXP.
LXP (или mod_lxp) представляет собой сервер приложений, спроектированный в виде модуля Apache. LXP обеспечивает динамическое форматирование данных HTML в процессе, который называется серверным включением (server-side inclusion) и объединяет данные HTML, полученные из разных источников – исходных файлов HTML, файлов XML, сценарных языков (таких, как РНР и Perl) и даже из баз данных PostgreSQL.
Все операции по включению данных выполняются исключительно на сервере, что гарантирует одинаковый результат, не зависящий от браузера. Предполагалось, что по логичности, по степени интеграции и широте возможностей LXP превзойдет все существующие технологии включения данных, что в значительной степени обусловлено уникальной методикой разметки и непосредственным выполнением запросов PostgreSQL.
В LXP используется уникальная форма программных тегов разметки, которые перед отправкой клиенту интерпретируются сервером и преобразуются в стандартный вывод HTML. Хотя эти теги называются программными, они принципиально отличаются от сценарных языков типа РНР или Perl, поскольку их реализация построена на тех же базовых концепциях, которые заложены в основу HTML и XML.
Одной из целей, поставленных при разработке LXP, было сохранение синтаксиса и методологии размеченных документов. Документ LXP должен быть в общих чертах понятен любому, кто знает язык HTML, пусть даже смысл дополнительных тегов может быть не очевиден. При этом опытные программисты могут использовать нетривиальные возможности, присущие информационной модели LXP.
LXP позволяет легко строить web-сайты с расширенными возможностями, не прибегая к языку программирования. Если вы умеете пользоваться разметкой, то без особого труда освоите реализацию динамического наполнения сайта в LXP.
Кроме того, интеграция LXP с PostgreSQL упрощает операции с базами данных при наполнении сайта. При выполнении логических операции с итоговыми наборами традиционно приходилось использовать PHP, Perl или компилируемые языки C/C++. В LXP эта задача решается без применения внешних языков.
LXP позволяет применить весь арсенал PostgreSQL (пользовательские функции, триггеры ц процедурные языки – такие, как PL/pgSQL) при реализации логики обработки данных. Большинство простых задач в LXP решается без применения сложных языков программирования. Даже математические операции, вычисления с датой и временем и сложное форматирование строк реализуется в LXP через подключение к PostgreSQL.
Хотя эта простота является сильной стороной LXP, при написании многих функций нужны (или просто предпочтительны) более специализированные решения. Если в каком-либо компоненте сайта вам потребуется мощь современного языка программирования, воспользуйтесь методами LXP Apache и URI, позволяющими включить в выходные данные LXP документ произвольного типа.