Architecture AppML



MVC 架构

 

<AppML> 采用了 MVC 架构。

MVC 全名是 Model View Controller,是模型(Model)-视图(View)-控制器(Controller)的缩写,一种软件设计典范。

模型(Model) 描述你的应用。

视图(View) 显示你的数据。

制器(Controller) 控制你的应用。

 

Wikipedia:Model, View, Controller

 

       pic_mvc.jpg

MODÈLE - Juste un simple fichier XML

Un modèle décrit votre application et peut être répété sur différentes plates-formes matérielles et logicielles (PC, iPhone, tablettes, etc.). Il ne se soucie pas de l'interface utilisateur (UI) ou de la présentation.

Le modèle est écrit en XML et stocké dans le serveur web.

<appml>

<source de données>
<base de données>
  <connection>Northwind</connection>
  <sql>SELECT Nom du client, nom du contact, ville, pays DE Clients</sql>
</database>
</datasource>

<filters>
<requête>
<field label="Client">NomClient</field>
<field>Ville</field>
<field>Pays</field>
</query>
<order>
<field label="Client">NomClient</field>
<field>Ville</field>
<field>Country</field>
</order>
</filters>

</appml>

L'exemple ci-dessus définit le data La source provient de la base de données Northwind.

Le modèle permet de récupérer des données à l'aide de SQL prédéfini. Il permet également d'interroger et de trier les données par client, ville et pays.


Vue (VIEW) - juste un fichier HTML ordinaire

La vue est l'interface utilisateur (User Interface : User Interface). Il s'agit généralement d'une page HTML permettant d'afficher et de saisir des données (facultatif) :

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

<h1>Ma première application Web</h1>
< div id="Place01"></div>

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

</body>
< ;/html>

La page HTML ci-dessus utilise le langage de script d'exécution pour créer un objet AppML et affiche les données dans le div avec id="Place01".

Utilise le fichier de script "appml.js".


CONTROLLER - juste un navigateur et un script côté serveur

Un script côté serveur contrôle l'application des manières suivantes :

  • Recevoir demander des données au navigateur

  • Renvoyer le modèle et les données au navigateur

  • Recevoir les données de mise à jour du navigateur

  • Mettre à jour les données sur le serveur

  • Veuillez effectuer une vérification de la sécurité des données pendant le processus de communication des données.

Les scripts du navigateur contrôlent l'application via :

  • Lorsque la page se charge, vous pouvez charger le contrôleur <AppML>

  • À l'aide de contrôleurs, vous pouvez créer des objets <AppML>

  • Lorsque l'objet <AppML> est exécuté, il demande des données au serveur. L'objet

  • <AppML> accepte les données du serveur (en utilisant le modèle de données).

  • L'objet <AppML> (ou votre code) affiche vos données sur la page.

  • (Facultatif) Les internautes modifient les données.

  • (facultatif) <AppML> peut envoyer des demandes de modification au serveur.


Fichiers et dossiers Web typiques :

pic_web.png



web文件夹:Demo

数据文件夹:Data

图片文件夹:Images

模型文件夹: Models

应用:Demo.htm

样式:Demo.css


<AppML> 配置文件:appml_config.php (或者 .htmlx)

<AppML> 样式文件:appml.css

<AppML> 浏览器控制器:appml.js

<AppML> 服务器控制器:appml.php (或者 .htmlx)

pic_web.png <🎜>

<🎜>
dossier Web :Démo <🎜><🎜>Dossier Données : Données<🎜><🎜>Dossier Image : Images<🎜><🎜>Dossier Modèle : < strong> Modèles<🎜><🎜>Application : Demo.htm<🎜><🎜>Style : Demo.css<🎜><🎜>< br/><🎜> <🎜><AppML> Fichier de configuration : appml_config.php (ou .htmlx)<🎜><🎜><AppML> Fichier de style : appml.css <🎜 ><🎜><AppML> Contrôleur de navigateur : appml.js<🎜><🎜><AppML> Contrôleur de serveur : appml.php< /strong> (ou .htmlx)< 🎜>

Développement d'applications rapide et flexible

Le développement rapide d'applications (RAD) n'est pas seulement une méthode d'extraction d'exigences, c'est également une méthode qui intègre le développement logiciel. Le but du développement rapide d'applications est de publier rapidement des solutions système, et l'élégance technique est secondaire par rapport à la rapidité de publication.

<AppML> Fournit un prototypage ultra-rapide, 100 fois plus rapide que les méthodes de développement logiciel traditionnelles.

Les prototypes d'application peuvent être exécutés directement à partir du modèle d'application sans aucun codage.

Wikipedia : Développement rapide d'applications

Le développement logiciel agile est une méthode de développement étape par étape basée sur la collaboration mutuelle entre les utilisateurs et les développeurs.

<AppML> Les applications, des prototypes aux applications complètes, peuvent être écrites et mises en œuvre étape par étape de manière incrémentielle.

Wikipédia : Développement logiciel agile


Programmation déclarative

Le développement logiciel ne parvient souvent pas à être terminé dans les délais et dans les limites du budget. Des erreurs de codage logiciel se produisent également fréquemment. En effet, le code informatique est difficile à développer, tester et maintenir.

L'encodage est obsolète. Vous devriez décrire davantage ce qu'il faut faire que comment y parvenir.

Pour utiliser <AppML> vous devez déclarer votre application dans le modèle.

Utilisez <AppML> pour écrire moins ou pas de code.

Wikipédia :Déclaratif Programmation


Code First

Le développement d'applications Web peut utiliser les deux méthodes différentes suivantes :

1. ajoutez uniquement de nouvelles instructions d’application.

2. Contrat d'abord : rédigez une candidature à partir de zéro en utilisant les exigences complètes des spécifications de l'application.

<AppML> Adoptez le concept le plus raisonnable : Code First . L'


Architecture orientée services (SOA)

Web Service est une interface de données, spécifiée via une URL, tout comme une page Web. Mais c’est différent d’une page Web, c’est juste un moyen de transmettre des informations.

Un Service Web typique fournit des données pour la page.

En utilisant <AppML>, HTML est affiché comme interface utilisateur et <AppML>

Original Web Services est conçu à l'aide de balises XML telles que SOAP, WSDL et UDDI.

Services Web modernes Par exemple, les applications <AppML>

  • Plus facile à comprendre - peut être lu par nous

  • Léger - pas de code ni de balisage inutiles

  • Facile à mettre en œuvre - aucun outil de développement requis

L'architecture orientée services (SOA) est un modèle de composants qui relie différentes unités fonctionnelles d'une application (appelées services) via des interfaces bien définies entre ces services et liées par contrat. L'interface est définie de manière neutre et doit être indépendante de la plateforme matérielle, du système d'exploitation et du langage de programmation sur lesquels le service est implémenté. Cela permet aux services intégrés dans une variété de systèmes de ce type d’interagir de manière unifiée et commune.


Avantages des services Web

  • Les services Web ne nécessitent qu'une petite quantité de code

  • Les services Web sont conçus à gérer Un ensemble limité de tâches

  • Les services Web utilisent un protocole de communication basé sur HTTP

  • Les services Web sont indépendants du système d'exploitation

  • Les services Web sont indépendants des langages de programmation

  • Les services Web peuvent connecter différentes applications, systèmes et appareils

  • Services Web peut publier des informations facilement

  • Les services Web facilitent le développement rapide d'applications

Par exemple, un service Web peut concevoir un petit programme pour fournir d'autres derniers stocks application de prix de négociation.

Les services Web utilisent le protocole HTTP pour communiquer avec d'autres systèmes. Les services Web sont indépendants des systèmes d'exploitation et des langages de programmation.

Les applications appelant des services Web utiliseront toujours le protocole HTTP pour envoyer des requêtes. L’application appelante ne se souciera jamais du système d’exploitation ou du langage de programmation utilisé par l’autre ordinateur.

Les services Web peuvent créer de nouvelles possibilités pour davantage d'entreprises, car ils offrent un moyen simple de diffuser de grandes quantités d'informations.

Par exemple : horaires des vols et système de réservation de billets.


Cloud Computing

Le Cloud Computing est une extension de la SOA : Application-as-a-service, Storage-as-a-service), Data-as-a-service.

Pour la plupart des gens, le cloud computing consiste à stocker des données sur le Web :

  • Publier un calendrier

  • Documents et documents électroniques Tableaux

  • Livres, notes, listes de tâches

  • Musique, images et films

  • Bases de données et applications

La raison est évidente :

  • Avoir accès aux données du monde entier

  • Partager mes données avec d'autres

  • Mise à niveau ou panne du matériel

<AppML> des nuages.