Architektura AppML


Moderní webová architektura

AppML kombinuje nejmodernější techniky a myšlenky moderního vývoje webu.

AppML se zaměřuje na rychlost, jednoduchost a nízkou cenu:

  • Nízké náklady
  • Rychlý a agilní vývoj webu
  • Optimalizováno pro cloud computing
  • Vysoká rychlost a nízká spotřeba šířky pásma
  • Architektura MVC (Model View Controller).
  • Úplné oddělení obsahu od prezentace
  • Vysoce škálovatelné a testovatelné
  • Snadná konfigurace a rekonfigurace
  • Rekonfigurace za běhu aplikací
  • Inteligentní podpora pro uživatelské účty a role

Architektura MVC

 

AppML používá architekturu MVC

MVC je zkratka pro Model, View, Controller

Model popisuje vaši aplikaci.

Zobrazení zobrazuje vaše data.

Ovladač řídí vaši aplikaci (samozřejmě).

 

Wikipedie: Model, pohled, ovladač

        MVC

MODEL - Jen JSON

Model popisuje aplikaci.

Model je opakovaně použitelný na různých hardwarových a softwarových platformách (Server, PC, iPhone, Tablety atd.).

Model se netýká prezentace nebo uživatelského rozhraní (UI).

Model je napsán v JSON:

Modelka

{
"rowsperpage" : 10,
"database" : {
    "connection" : "localmysql",
    "sql" : "SELECT CustomerName, City, Country FROM Customers",
    "orderby" : "CustomerName"
},
"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
],
"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
]
}

VIEW – jen HTML

Zobrazení je UI (User Interface) pro zobrazování (a zadávání) dat.

Pohled je napsán v HTML a CSS:

HTML zobrazení

<!DOCTYPE html>
<html lang="en-US">
<title>Customers</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="https://www.w3schools.com/appml/2.0.3/appml.js"></script>
<body>

<div class="w3-container" appml-data="local?model=model_customers">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>
<div appml-include-html="inc_filter.htm"></div>
<table class="w3-table-all">
  <tr>
    <th>Customer</th>
    <th>City</th>
    <th>Country</th>
  </tr>
  <tr appml-repeat="records">
    <td>{{CustomerName}}</td>
    <td>{{City}}</td>
    <td>{{Country}}</td>
</tr>
</table>
</div>

</body>
</html>

CONTROLLER – klientské a/nebo serverové skripty

Klientský skript na webové stránce může ovládat aplikaci:

  • AppML může zobrazovat data definovaná v modelu
  • AppML může zobrazovat data definovaná pomocí atributů HTML.
  • Aplikace AppML mohou běžet nezávisle na HTML (skryté)
  • (Volitelně) AppML může vyžadovat data modelu z webového serveru (SQL server)
  • (Volitelně) Uživatelé AppML mohou data upravovat
  • (Volitelně) AppML může odesílat data na webový server

Serverový skript může ovládat aplikaci:

  • Příjem požadavků od klienta (prohlížeče)
  • Vrácení dat klientovi
  • Příjem dat od klienta
  • Aktualizace dat na serveru
  • Péče o autentizaci a bezpečnost

Umění programování

Udržování velikosti a složitosti aplikace na nízké úrovni je hlavním problémem veškerého programování.

Řízení složitosti počítačových aplikací je skutečným uměním programování.


Deklarativní programování

Vývoj softwaru často porušuje termíny a rozpočty. Hotový software je často plný chyb v kódování. Je to proto, že počítačový kód se obtížně vyvíjí, testuje a udržuje.

Kódování je mimo . Měli byste více popisovat Co dělat, méně Jak to dělat.

Pomocí AppML deklarujete svou aplikaci v modelu a v pohledu .

S AppML je potřeba méně (někdy nic) kódovat .

Wikipedia: Deklarativní programování


Rychlý a agilní vývoj aplikací

Řízení složitosti počítačových aplikací je skutečným uměním programování.

Udržet velikost a složitost aplikace pod kontrolou je hlavním problémem veškerého programování.

RAD je metoda vývoje softwaru, která využívá minimální plánování ve prospěch rychlého prototypování.

AppML poskytuje super rychlé prototypování, až 100krát rychlejší než tradiční vývojové metody.

Prototypy aplikací mohou běžet přímo z aplikačního modelu bez jakéhokoli kódování.

Wikipedia: Rychlý vývoj aplikací

Agilní vývoj softwaru je metoda založená na postupném vývoji, kdy řešení vytvářejí uživatelé a vývojáři ve spolupráci.

Pomocí AppML lze psát aplikace krok za krokem, v malých krocích, od prototypů až po úplné aplikace.

Wikipedia: Agilní vývoj softwaru


Kód první

Webovou aplikaci lze vyvíjet dvěma různými způsoby:

1. Code First: Použití předem naprogramovaného, ​​předem otestovaného kódu, přidání pouze nových popisů aplikací.

2. Smlouva jako první: Kódování aplikace od začátku pomocí úplného popisu požadavků aplikace.

AppML používá nejracionálnější koncept: Code First .


Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) je architektura pro vytváření webových aplikací.

SOA nabízí nízké náklady na vývoj a vysokou flexibilitu.

Pomocí SOA lze aplikace vytvářet od začátku nebo ze stávajících IT infrastruktur a používat je různé aplikace na různém hardwaru a softwaru.

SOA se perfektně hodí pro MVC a deklarativní programování , kde lze data snadno spotřebovat bez obav jak.


Webové služby

Webová služba je rozhraní pro data, identifikované pomocí URL, stejně jako webová stránka.

Webová služba se liší od webové stránky pouze ve způsobu, jakým sděluje informace.

Typická webová služba poskytuje data pouze webové stránce.

S AppML je HTML uživatelským rozhraním, webová služba poskytuje data.

Původní webové služby byly navrženy tak, aby používaly standardy XML, jako je SOAP, WSDL a UDDI.

Moderní webové služby , jako je AppML, se používají mnohem snadněji.

  • Jednodušší na pochopení - Může být čteno lidmi
  • Lehký – žádný zbytečný kód nebo označení
  • Snadná implementace – nejsou potřeba žádné vývojové nástroje

Výhody webových služeb

  • Webové služby jsou malé jednotky kódu
  • Webové služby jsou navrženy tak, aby zvládly omezený soubor úkolů
  • Webové služby používají komunikační protokoly založené na HTTP
  • Webové služby jsou nezávislé na operačních systémech
  • Webové služby jsou nezávislé na programovacích jazycích
  • Webové služby mohou propojovat různé aplikace, systémy a zařízení
  • Webové služby usnadňují distribuci informací
  • Web Services upřednostňuje rychlý vývoj aplikací

Příklad: Malý program určený k zásobování dalších aplikací burzovními cenami.

Příklad: Letové řády a rezervační systémy letenek.

Protože webové služby používají HTTP, jsou nezávislé jak na operačních systémech, tak na programovacích jazycích.


Cloud Computing

Cloud Computing je rozšíření SOA: Application-as-a-service, Storage-as-a-service, Data-as-a-service.

Pro většinu lidí je Cloud Computing o ukládání dat na webu:

  • E-maily a kalendáře
  • Dokumenty a tabulky
  • Knihy, poznámky a seznamy úkolů
  • Hudba, obrázky a filmy
  • Databáze a aplikace

Důvody jsou celkem zřejmé:

  • Mít přístup k datům odkudkoli
  • Sdílet moje data s ostatními
  • Chcete-li přežít změny hardwaru nebo pády

S AppML je velmi snadné umístit databáze i aplikace do cloudu.