<AppML>Архитектура
Архитектура MVC
<AppML> использует архитектуру MVC. MVC расшифровывается как Model View Controller, сокращение от Model – View – Controller, парадигма проектирования программного обеспечения. МодельОписывает ваше приложение. ПредставлениеОтображает ваши данные. КонтроллерУправляет вашим приложением.
Википедия: Модель, Представление, Контроллер
|
![]() |
Модель (MODEL) - Всего лишь простой XML-файл
Модель описывает ваше приложение и может быть повторно использована на различных аппаратных и программных платформах (ПК, iPhone, планшеты и т. д.). Она не зависит от пользовательского интерфейса (UI) или представления.
Модель написана на XML и хранится на веб-сервере.
<datasource>
<database>
<connection>Northwind</connection>
<sql>SELECT CustomerName,ContactName,City,Country FROM Customers</sql>
</database>
</datasource>
<filters>
<query>
<field>City</field>
<field>Country</field>
</query>
<order>
<field>City</field>
<field>Country</field>
</order>
</filters>
</appml>
В приведённом выше примере определяется источник данных из базы данных Northwind.
Модель позволяет использовать предопределённый SQL для извлечения данных. Она также позволяет выполнять запросы и сортировку данных по Customer, City и Country.
Представление (VIEW) — просто обычный HTML-файл
Представление — это UI (пользовательский интерфейс). Обычно это HTML-страница, которая отображает и (при необходимости) принимает вводимые данные:
<html>
<head>
<link rel="stylesheet" href="appml.css.html" />
</head>
<body>
<h1>Моё первое веб-приложение</h1>
<script>
customers=new
AppML("appml.html","Customers.xml");
customers.run("Place01");
</script>
</body>
</html>
Приведённая выше HTML-страница использует язык сценариев для создания объекта AppML и отображает данные в div с id="Place01".
Использует файл скрипта "appml.js".
CONTROLLER (Controller) — это просто браузерный и серверный скрипт
Серверные скрипты управляют приложением следующими способами:
- Получают данные запроса из браузера
- Возвращают модель и данные в браузер
- Получают обновлённые данные из браузера
- Обновляют данные на сервере
- При обмене данными обязательно выполняйте проверку безопасности данных.
Браузерные скрипты управляют приложением следующими способами:
- При загрузке страницы вы можете загрузить контроллер <AppML> на страницу.
- Используя контроллер, вы можете создавать объекты <AppML> на странице.
- При выполнении объекта <AppML> он запрашивает данные с сервера.
- Объект <AppML> получает данные с сервера (используя модель данных).
- Объект <AppML> (или ваш код) отображает ваши данные на странице.
- (Необязательно) Веб-пользователи изменяют данные.
- (Необязательно) <AppML> может отправлять запросы на изменение на сервер.
Типичные веб-файлы и папки:
|
|
Папка данных:Data Папка изображений:Images Папка моделей: Models Приложение:Demo.htm Стили:Demo.css
Файл конфигурации <AppML>:appml_config.php (или .htmlx) Файл стилей <AppML>:appml.css Браузерный контроллер <AppML>:appml.js Серверный контроллер <AppML>:appml.php(или .htmlx) |
Быстрая, гибкая разработка приложений
Быстрая разработка приложений (RAD) — это не только метод сбора требований, но и методология, интегрирующая разработку программного обеспечения. Цель быстрой разработки приложений — быстро выпускать системные решения, при этом техническое изящество вторично по отношению к скорости выпуска.
<AppML> обеспечивает сверхбыстрое прототипирование, в 100 раз быстрее традиционных методов разработки программного обеспечения.
Прототипы приложений могут работать непосредственно из модели приложения без какого-либо программирования.
Википедия: Быстрая разработка приложений
Гибкая разработка программного обеспечения — это методология, развиваемая шаг за шагом на основе сотрудничества между пользователями и разработчиками.
Приложения <AppML> можно реализовывать инкрементально, шаг за шагом, от прототипа до полноценного приложения.
Википедия: Гибкая разработка программного обеспечения
Декларативное программирование
Разработка программного обеспечения часто не может быть завершена в ожидаемые сроки и в пределах бюджета. Ошибки в программном коде также распространены. Это потому, что компьютерный код сложно разрабатывать, тестировать и сопровождать.
Написание кодастало устаревшим. Следует описывать больше то, что нужно сделать, а не то, как это реализовать.
Используя <AppML>, необходимообъявитьваше приложение в модели.
Использование<AppML>позволяетписать меньше кода или не писать код вовсе。
Википедия: Декларативное программирование
Сначала код
В разработке веб-приложений можно использовать следующие два разных подхода:
1. Сначала код: используйте предварительно запрограммированный, предварительно протестированный код и только добавляйте новые спецификации приложения.
2. Сначала контракт: напишите приложение с нуля, используя полные требования спецификации приложения.
<AppML>применяет наиболее разумную концепцию:Сначала код。
Сервис-ориентированная архитектура (SOA)
Веб-служба— это интерфейс данных, задаваемый URL, так же как веб-страница. Но она отличается от веб-страницы; это лишь способ передачи информации.
Типичныйвеб-сервиспредоставляет данные для страницы.
Используя <AppML>, HTML отображается как пользовательский интерфейс, а <AppML> предоставляет данные.
Первоначальные веб-сервисыПроектирование использует стандарты XML, такие как SOAP, WSDL и UDDI.
Современные веб-сервисыНапример, приложения <AppML> проще.
- Легче понять — может быть прочитан нами
- Легковесный — без ненужного кода или разметки
- Легко внедрить — не требуются инструменты разработки
Сервисно-ориентированная архитектура (SOA) — это компонентная модель, которая связывает различные функциональные единицы приложения (называемые сервисами) через четко определенные интерфейсы и контракты между этими сервисами. Интерфейс определяется нейтральным образом и должен быть независим от аппаратной платформы, операционной системы и языка программирования, реализующих сервис. Это позволяет сервисам, созданным в различных подобных системах, взаимодействовать единообразным и универсальным способом.
Преимущества веб-сервисов
- Веб-сервисы требуют лишь небольшого объема кода
- Веб-сервисы предназначены для выполнения ограниченного набора задач
- Веб-сервисы используют протоколы связи на основе HTTP
- Веб-сервисы не зависят от операционной системы
- Веб-сервисы не зависят от языка программирования
- Веб-сервисы могут соединять различные приложения, системы и устройства
- Веб-сервисы могут легко публиковать информацию
- Веб-сервисы полезны для быстрой разработки приложений
Например, веб-сервис может быть спроектирован как небольшая программа, которая предоставляет приложению последние биржевые котировки.
Веб-сервисы используют протокол HTTP для связи с другими системами. Веб-сервисы не зависят от операционной системы и языка программирования.
Приложения, которые вызывают веб-сервисы, всегда отправляют запросы с использованием протокола HTTP. Вызывающему приложению никогда не важно, какая операционная система или язык программирования работают на других компьютерах.
Веб-сервисы могут создавать новые возможности для большего числа предприятий, потому что они предоставляют простой способ распространения больших объёмов информации.
Например: расписания рейсов и системы бронирования билетов.
Облачные вычисления
Облачные вычисления — это расширение SOA: приложение как услуга, хранение как услуга, данные как услуга.
Для большинства людей облачные вычисления — это хранение данных в интернете:
- Электронная почта и календари
- Документы и электронные таблицы
- Книги, заметки, списки дел
- Музыка, картинки и фильмы
- Базы данных и приложения
Причины очевидны:
- Доступ к данным из любой точки мира
- Делиться своими данными с другими
- Обновления или сбои оборудования
<AppML> может легко размещать базы данных и приложения в облаке.
Другие расширения
