Компания TXL начала заниматься веб-разработками в 1996 году. Первыми сайтами разработанными компанией были интернет-магазины для торговой сети IKA (Швеция) и спортивного магазина Velodrom (Швеция). Так как в то время в компании TXL работали преимущественно программисты, работающие на языке FoxPro, платформой для разработки веб-приложений служил программный продукт FoxWeb, созданный американской компанией Aegis Group, который представлял собой CGI/ISAPI агент для выполнения скриптов FoxPro на веб-сервере под управлением Microsoft Windows Server.
Уже самый первый опыт веб-разработки показал, что клиенты были не заинтересованы в статичных сайтах. Они хотели обновлять контент, изменять каталог продукции, цены на товары, публиковать новости и статьи. При этом они не желали привлекать к этой работе разработчиков и хотели выполнять ее самостоятельно.
В качестве решения этой проблемы, для каждого нового сайта создавалось специализированное приложение для обновления контента (BackWeb), с помощью которого авторизированные пользователи могли менять содержимое сайта через Интернет. Однако очень быстро стало понятно, что подобное решение сильно удорожает проекты, так как стоимость разработки BackWeb для сайта намного превышала стоимость разработки самого сайта.
Решением стало создание в 1999 году первой версии CMS (Content Management System) TXL Sitemanager. Эта система позволяла создавать веб-приложения на платформе FoxWeb и управлять их контентом.
Веб приложения должны были физически располагаться на том же компьютере, что и сам TXL Sitemanager. Для хранения данных использовались базы данных формата DBF Microsoft Visual FoxPro. Формат хранения данных (структура таблиц и хранимые типы данных) был фиксирован.
Система отвечала как за создание и хранение структур данных, так и за их визуализацию. Механизм визуализации данных был представлен в виде скрипта smpage.fwx, который располагался на каждом из управляемых сайтов. Кроме того, на каждом сайте располагались файлы базы данных (*.DBF и *.XML) хранящие данные сайта.
Сам Sitemanager являлся независимым веб-порталом, имеющим собственное доменное имя. Информация о сайтах, которые контролировал Sitemanager содержалась в базе данных портала. Сайты могли иметь разные доменные имена или могли быть виртуальными директориями.
Для визуализации сайтов сам Sitemanager был не нужен - для этого был необходим лишь модуль визуализации smpage.fwx для установки такого сайта на другом сервере достаточно было лишь копировать данные, однако для работы сайта требовался FoxWeb и платформа Microsoft Windows.
Построение HTML кода модулем визуализации происходило с помощью шаблонов HTML кода и привязанных к ним структур данных: контейнеров и элементов. Все контейнеры и элементы тоже имели свои HTML шаблоны. Шаблоны могли быть пользовательскими или встроенными (последние использовались если к элементу не был привязан шаблон). Встроенные шаблоны и свойства элементов определялись встроенными типами данных такими как Картинка, Ссылка, Строка, Текст, HTML, форма и т.д.. Была возможность создания пользовательских типов данных на базе комбинирования встроенных типов и задания нового HTML шаблона.
Контейнеры и элементы отличались тем, что контейнеры могли содержать в себе другие элементы и контейнеры. Элементы же не могли содержать в себе другие элементы. Контейнеры самого верхнего уровня назывались Страницы - они служили мастер-шаблонами для физических веб-страниц.
Привязка элементов к контейнерам осуществлялась при помощи "полей" - специальных элементов, заключённых в двойные угловые скобки и содержащих тип вставляемого элемента наряду с его идентификатором (например <<PICTURE22>> ). Кроме указания конкретных элементов в полях могли размещаться специальные языковые конструкции, напоминающие SQL запросы (например <<CONTAINER FIRST 10 DESC>> означало "визуализировать первые 10 дочерних контейнеров в обратном порядке").
При создании всё новых и новых веб-сайтов и порталов встроенного функционала катастрофически не хватало, поэтому в TXL Sitemanager был разработан механизм "плагинов" - скриптовых модулей на языке Visual FoxPro, которым при запуске передавался текущий контекст а на выходе ожидалась строка, содержащая готовый HTML код. В результате, стали появляться веб-приложения и веб-сайты в которых встроенный функционал визуализатора практически не использовался и работали только "плагины".
Система обновления контента TXL Sitemanager широко использовала технологии, реализованные компанией Microsoft в браузере Microsoft Internet Explorer (такие как теги <IFRAME>, HTML behaviors, VML, XML и XMLHTTP, ActiveX и т.д.), поэтому работать она могла только в браузере Internet Explorer и ни в каком другом.
Интересно отметить, однако, что TXL Sitemanager пользовался возможностями обновления контента без перезагрузки страницы с помощью XMLHTTP, которую сейчас называют AJAX (Active Javascript And XML) задолго до того как этот термин был изобретён.
Самым основным недостатком первой версии CMS TXL Sitemanager была платформа FoxWeb, на которой он был построен. СУБД Visual Foxpro, являясь для своего времени одним из лучших средств управления настольными базами данных, никогда не позиционировалась как серверный продукт. Система очистки памяти FoxPro не была рассчитана на долговременную работу в качестве веб-сервера. Процесс отображения страниц требовал больших процессорных ресурсов, в результате чего платформа не могла обработать более тридцати запросов одновременно. В самом продукте FoxWeb присутствовали ошибки, обходить которые приходилось кустарными методами. Наконец, лицензия FoxWeb требовалась на каждый домен, что приводило к удорожанию проектов.
Исходя из всего этого, в начале 2003 года компания TXL приняла решение о создании новой версии продукта, получившей наименование TXL24 Sitemanager. Новая CMS была построена на платформе ASP.NET 1.1 и реализована на языке C#. В новом продукте были устранены все недостатки, присущие предыдущей версии TXL Sitemanager.

Изменилась не только платформа, но и концепция работы CMS. Сохранив и значительно расширив функциональность управления контентом, TXL24 Sitemanager полностью отказался от системы визуализации, которую в TXL Sitemanager выполнял модуль smpage.fwx.
Это произошло по двум причинам. Во-первых функционал системы визуализации в TXL Sitemanager не был востребован ни разработчиками ни клиентами - визуалицация почти всегда была нестандартной и реализовывалась при помощи механизма "плагинов". Во-вторых, механизм визуализации на платформе ASP.NET (с использованием объекто-риентированного программирования и веб-контролов) оказался абсолютно непохожим на "матрёшечный" принцип визуализации TXL Sitemanager. К тому же, на новой платформе оказалось практически невозможным организовать систему "плагинов" в том виде, в котором она присутствовала в старой версии CMS.
Таким образом сайт, написанный для платформы TXL24 Sitemanager, с одной стороны является обычным ASP.NET сайтом, который может пользоваться всеми преимуществами платформы и может разрабатываться в среде Microsoft Visual Studio, а с другой стороны, за счёт использования объектной модели TXL24 Sitemanager,предоставляемой ввиде библиотеки классов, он является "плагином" для визуализации данных управляемых TXL24 Sitemanager.
Как и в старом TXL Sitemanager, сайты написанные для TXL24 Sitemanagerабсолютно независимы от системы управления контентом и могут быть установлены на любой сервер, поддерживающий ASP.NET хостинг. Однако, они могут быть связаны с одной или несколькими CMS TXL24 Sitemanager значительно проще, чем это было в старой версии.
В системе управления данными TXL24 Sitemanager также произошли значительные изменения. Формат данных перестал быть фиксированным. Пользователи могут создавать новые таблицы данных и новые поля данных. Таблицы могут быть как плоскими, так и иерархическими. Несколько изменился набор встроенных типов данных, однако общий принцип остался неизменным - пользователи могут создавать типы данных комбинируя встроенные типы. Одна таблица может содержать несколько типов данных (что немного напоминает "типы содержимого" в Microsoft Sharepoint)
Текущая версия TXL24 Sitemanager работает на платформе ASP.NET 3.5 и использует такие ее преимущества, как Рабочие Процессы (Workfow Foundation), веб-сервисы (Web Services), Windows Communication Foundation, Ajax (как Microsoft Ajax так и jQuery).
TXL24 Sitemanager более не привязан к проприетарным технологиям и может работать во всех основных современных браузерах, таких как Mozilla FireFox, Internet Explorer, Opera, Safari иGoogle Chrome.
| 19.03.2010 |
Ведущий разработчик ООО “ТекСелл Консалт”
Олег Гончарук
.gif)
|