<AppML>-Architektur


MVC-Architektur

 

<AppML> verwendet die MVC-Architektur.

MVC steht für Model View Controller (Modell-Ansicht-Steuerung), ein Software-Design-Paradigma.

Model (Modell)Beschreibt Ihre Anwendung.

View (Ansicht)Zeigt Ihre Daten an.

Controller (Steuerung)Steuert Ihre Anwendung.

 

Wikipedia: Model, View, Controller

 

        MVC

Model (MODEL) – Nur eine einfache XML-Datei

Das Modell beschreibt Ihre Anwendung und kann auf verschiedenen Hardware- und Softwareplattformen (PC, iPhone, Tablets usw.) wiederverwendet werden. Es kümmert sich nicht um die Benutzeroberfläche (UI) oder Präsentation.

Das Modell ist in XML geschrieben und auf einem Webserver gespeichert.

<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>

Das obige Beispiel definiert die Datenquelle aus der Northwind-Datenbank.

Das Modell ermöglicht die Verwendung von vordefiniertem SQL zum Abrufen von Daten. Es ermöglicht auch das Abfragen und Sortieren von Daten nach Kunde, Stadt und Land.


View (VIEW) – Nur eine einfache HTML-Datei

Die Ansicht ist die Benutzeroberfläche (UI). Sie ist normalerweise eine HTML-Seite, die Daten anzeigt und (optional) eingibt:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="appml.css.html" />
</head>
<body>

<h1>Meine erste Webanwendung</h1>


<script>
customers=new AppML("appml.html","Customers.xml");
customers.run("Place01");
</script>

</body>
</html>

Die obige HTML-Seite verwendet eine Skriptsprache, um ein AppML-Objekt zu erstellen, und zeigt die Daten in dem div mit id="Place01" an.

Verwendet die Skriptdatei "appml.js".


CONTROLLER (Controller) – Nur ein Browser- und serverseitiges Skript

Serverseitige Skripte steuern die Anwendung auf folgende Weise:

  • Empfangen von Anfragedaten aus dem Browser
  • Zurückgeben des Modells und der Daten an den Browser
  • Empfangen aktualisierter Daten aus dem Browser
  • Aktualisieren von Daten auf dem Server
  • Führen Sie während der Datenkommunikation eine Datensicherheitsüberprüfung durch.

Browserskripte steuern die Anwendung auf folgende Weise:

  • Beim Laden der Seite können Sie den <AppML>-Controller in die Seite laden.
  • Mithilfe des Controllers können Sie <AppML>-Objekte auf der Seite erstellen.
  • Beim Ausführen des <AppML>-Objekts fordert es Daten vom Server an.
  • Das <AppML>-Objekt empfängt Daten vom Server (unter Verwendung des Datenmodells).
  • Das <AppML>-Objekt (oder Ihr Code) zeigt Ihre Daten auf der Seite an.
  • (Optional) Webbenutzer ändern Daten.
  • (Optional) <AppML> kann Änderungsanfragen an den Server senden.

Typische Webdateien und -ordner:

Folders


Web-Ordner:Demo

Daten-Ordner:Data

Bilder-Ordner:Images

Modell-Ordner: Models

Anwendung:Demo.htm

Stile:Demo.css

<AppML>-Konfigurationsdatei:appml_config.php (oder .htmlx)

<AppML>-Stildatei:appml.css

<AppML>-Browser-Controller:appml.js

<AppML>-Server-Controller:appml.php(oder .htmlx)


Schnelle, flexible Anwendungsentwicklung

Rapid Application Development (RAD) ist nicht nur eine Methode zur Anforderungsermittlung, sondern auch eine Methodik zur Integration der Softwareentwicklung. Das Ziel der schnellen Anwendungsentwicklung ist die rasche Veröffentlichung von Systemlösungen, wobei technische Eleganz hinter der Veröffentlichungsgeschwindigkeit zurücksteht.

<AppML> bietet ultraschnelles Prototyping, das 100-mal schneller ist als herkömmliche Softwareentwicklungsmethoden.

Anwendungsprototypen können ohne jegliche Programmierung direkt aus dem Anwendungsmodell ausgeführt werden.

Wikipedia: Rapid Application Development

Agile Softwareentwicklung ist eine Methodik, die schrittweise auf der Zusammenarbeit zwischen Benutzern und Entwicklern basiert.

<AppML>-Anwendungen können schrittweise vom Prototyp zur vollständigen Anwendung implementiert werden.

Wikipedia: Agile Softwareentwicklung


Deklarative Programmierung

Softwareentwicklung kann oft nicht innerhalb der erwarteten Zeit und des Budgets abgeschlossen werden. Software-Codierungsfehler sind ebenfalls häufig. Dies liegt daran, dass Computercode schwer zu entwickeln, zu testen und zu warten ist.

Das Codieren istveraltet. Sie sollten mehr beschreiben, was zu tun ist, anstatt wie es zu implementieren ist.

Mit <AppML> müssen Sie Ihre Anwendung im Modelldeklarieren.

Mit<AppML>können Sieweniger oder keinen Code schreiben。

Wikipedia: Deklarative Programmierung


Code First

Für die Entwicklung von Webanwendungen können die folgenden zwei unterschiedlichen Ansätze verwendet werden:

1. Code First: Verwenden Sie vorprogrammierte, vorgetestete Codes und fügen Sie nur neue Anwendungsspezifikationen hinzu.

2. Contract First: Schreiben Sie die Anwendung von Grund auf unter Verwendung der vollständigen Anwendungsspezifikationsanforderungen.

<AppML>übernimmt das vernünftigste Konzept:Code First。


Serviceorientierte Architektur (SOA)

Ein Webserviceist eine Datenschnittstelle, die durch eine URL spezifiziert ist, genau wie eine Webseite. Aber er unterscheidet sich von einer Webseite; er ist nur ein Weg, um Informationen zu übermitteln.

Ein typischerWebservicestellt Daten für die Seite bereit.

Mit <AppML> wird HTML als Benutzeroberfläche angezeigt, und <AppML> stellt die Daten bereit.

Das Design vonursprünglichen Webservices

Moderne Webservices, zum Beispiel <AppML>-Anwendungen, sind einfacher.

  • Leichter zu verstehen – kann von uns gelesen werden
  • Leichtgewichtig – kein unnötiger Code oder Markup
  • Einfach zu implementieren – keine Entwicklungstools erforderlich

Die Service-Oriented Architecture (SOA) ist ein Komponentenmodell, das verschiedene Funktionseinheiten einer Anwendung (als Services bezeichnet) über klar definierte Schnittstellen und Verträge zwischen diesen Services verbindet. Die Schnittstelle ist neutral definiert und sollte unabhängig von der Hardwareplattform, dem Betriebssystem und der Programmiersprache sein, die den Service implementieren. Dadurch können Services, die in verschiedenen solcher Systeme erstellt wurden, auf einheitliche und universelle Weise miteinander interagieren.


Vorteile von Web Services

  • Web Services erfordern nur eine geringe Menge an Code
  • Web Services sind so konzipiert, dass sie eine begrenzte Anzahl von Aufgaben bewältigen
  • Web Services verwenden HTTP-basierte Kommunikationsprotokolle
  • Web Services sind unabhängig vom Betriebssystem
  • Web Services sind unabhängig von der Programmiersprache
  • Web Services können verschiedene Anwendungen, Systeme und Geräte miteinander verbinden
  • Web Services können Informationen einfach veröffentlichen
  • Web Services sind vorteilhaft für die schnelle Anwendungsentwicklung (Rapid Application Development)

Beispielsweise kann ein Web Service als kleines Programm konzipiert sein, das einer Anwendung die neuesten Aktienkurse liefert.

Web Services verwenden das HTTP-Protokoll, um mit anderen Systemen zu kommunizieren. Web Services sind unabhängig vom Betriebssystem und der Programmiersprache.

Anwendungen, die Web Services aufrufen, senden Anfragen immer über das HTTP-Protokoll. Die aufrufende Anwendung muss sich niemals um das Betriebssystem oder die Programmiersprache kümmern, die auf anderen Computern ausgeführt werden.

Web Services können neue Möglichkeiten für mehr Unternehmen schaffen, da sie eine einfache Möglichkeit bieten, große Mengen an Informationen zu verteilen.

Zum Beispiel: Flugpläne und Ticketreservierungssysteme.


Cloud Computing

Cloud Computing ist eine Erweiterung von SOA: Application-as-a-Service, Storage-as-a-Service, Data-as-a-Service.

Für die meisten Menschen bedeutet Cloud Computing das Speichern von Daten im Web:

  • E-Mail und Kalender
  • Dokumente und Tabellenkalkulationen
  • Bücher, Notizen, To-Do-Listen
  • Musik, Bilder und Filme
  • Datenbanken und Anwendungen

Die Gründe liegen auf der Hand:

  • Zugriff auf Daten von überall auf der Welt
  • Meine Daten mit anderen teilen
  • Hardware-Upgrades oder Abstürze

<AppML> kann Datenbanken und Anwendungen einfach in die Cloud bringen.

Weitere Erweiterungen