<AppML>Архитектура


Архитектура MVC

 

<AppML> использует архитектуру MVC.

MVC расшифровывается как Model View Controller, сокращение от Model – View – Controller, парадигма проектирования программного обеспечения.

МодельОписывает ваше приложение.

ПредставлениеОтображает ваши данные.

КонтроллерУправляет вашим приложением.

 

Википедия: Модель, Представление, Контроллер

 

        MVC

Модель (MODEL) - Всего лишь простой XML-файл

Модель описывает ваше приложение и может быть повторно использована на различных аппаратных и программных платформах (ПК, iPhone, планшеты и т. д.). Она не зависит от пользовательского интерфейса (UI) или представления.

Модель написана на XML и хранится на веб-сервере.

<appml>

<datasource>
  <database>
    <connection>Northwind</connection>
    <sql>SELECT CustomerName,ContactName,City,Country FROM Customers</sql>
  </database>
</datasource>

<filters>
<query>
  CustomerName
  <field>City</field>
  <field>Country</field>
</query>
<order>
  CustomerName
  <field>City</field>
  <field>Country</field>
</order>
</filters>

</appml>

В приведённом выше примере определяется источник данных из базы данных Northwind.

Модель позволяет использовать предопределённый SQL для извлечения данных. Она также позволяет выполнять запросы и сортировку данных по Customer, City и Country.


Представление (VIEW) — просто обычный HTML-файл

Представление — это UI (пользовательский интерфейс). Обычно это HTML-страница, которая отображает и (при необходимости) принимает вводимые данные:

<!DOCTYPE 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> может отправлять запросы на изменение на сервер.

Типичные веб-файлы и папки:

Folders


Веб-папка:Demo

Папка данных: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> может легко размещать базы данных и приложения в облаке.

Другие расширения