Составляющие WebTutor
Архитектура системы (обязательно к прочтению)
SP-XML (платформа на которой работает WebTutor)
С точки зрения разработчика, WebTutor можно разделить на четыре составляющие:
- Серверная часть (JavaScript, XQuery)
- Клиентская часть (JQuery, Ext JS, XAML, WebTutor Administrator)
- База данных (MS SQL, Oracle, XML файлы)
- Управление сервером (WebTutor Server, IIS, WebTutor Administrator, конфигурационные файлы)
Рассмотрим(поверхностно) каждую составляющую по отдельности.
P.S. Плюсы и минусы составляющих, а также необходимость и отсутствие необходимости их использования, будут рассмотрены в следующих разделах.
Серверная часть
Серверная часть WebTutor состоит из самописного серверного языка JavaScript и встроенного в него самописного языка запросов XQuery (для получения данных из базы).
Ситуацию с серверной частью WebTutor, отлично проясняет комментарий с форума news.websoft.ru от Андрея Фирсова:
"здесь вам не тут". Товарищи, еще раз повторюсь - смотрите документацию. Это не браузерный JS, не обычный XQuery и не стандартный XML.
Здесь все "самописное". В любой версии WT.
И то, что это внешне похоже на то, что вы знаете, вовсе не означает, что оно это и есть...
Собственно, так оно и есть. Хотя для названия серверного языка используется JavaScript, а для языка запросов XQuery, кроме совпадающего названия, знакомого синтаксиса и поведения в определенных ситуациях, между ними и реальными JavaScript и XQuery мало соответствий. Они заточены под решение определенных задач в WebTutor и справляются с ними. Не ждите от них всех возможностей и поведения, как в современных версиях JavaScript и XQuery.
JavaScript
Как уже было сказано выше, хотя в названии серверного языка фигурирует JavaScript, но на самом деле это не тот серверный JavaScript, к которому все привыкли в Node.js и хотя синтаксис напоминает JavaScript, он не соответствуют современным версиям ECMAScript (ES5,ES6 итп).
Синтаксис и поведение будут в чем-то напоминать вам старые версии JavaScript, но далеко не всегда.
XQuery
XQuery - язык запросов, разработанный для обработки данных в формате XML. В WebTutor он позволяет получать данные из базы.
XQuery в WebTutor использует узкое подмножество функций реального XQuery, расширенное некоторыми дополнительными функциями. То есть ситуация такая же как и с серверным JavaScript, и XQuery имеет много ограничений по сравнению с реальным XQuery.
Клиентская часть
Клиентская часть делиться на браузерную и WebTutor Administrator.
В браузере
По умолчанию на страницах WebTutor для реализации интерфейса используется XAML(интерпретатор может различать код XAML и преобразовывать его в HTML + Ext JS), Ext JS, JQuery + подгружаются необходимые для работы .css, .js файлы.
WebTutor Administrator
Также к клиентской части относится WebTutor Administrator - интерфейс для администраторов системы, предназначен для настройки справочников и параметров системы, ведения отдельных баз данных системы. С помощью него можно много чего настроить в системе.
WebTutor Administrator доступен в браузере, либо в виде приложения в системе.
В WebTutor Administrator можно вести разработку и реализовывать свой функционал.
База данных
База данных WebTutor может располагаться в MS SQL, Oracle, в XML файлах.
Получить данные из базы можно с помощью серверного JavaScript и XQuery.
Записать данные в базу можно через функции серверного JavaScript.
Также есть вариант взаимодействия с базой данных напрямую, без использования WebTutor.
Управление сервером
WebTutor Server
Приложение для запуска и настройки сервера WebTutor. Позволяет настроить подключение к базе данных и настроить работу сервера в режиме(на выбор) приложения, сервиса и IIS. По большей части нужен, чтобы подключить WebTutor к IIS и базе данных, после этого не используется.
IIS
Хотя WebTutor может работать в режиме приложения, сервиса и IIS, в продакшене, рекомендуем использовать его только в режиме IIS, так как только в этом режиме вы получите возможность гибкой настройки сервера + WebTutor сможет работать по протоколу HTTP/2.
WeTutor Administrator
Админка WebTutor с удобным интерфейсом и относительно большим функционалом.
Конфигурационные файлы
В WebTutor существует много различных конфигурационных файлов, но возможно они вам никогда не понадобятся и вам будет достаточно настроек в WebTutor Server, WebTutor Administrator и IIS.