AppML architecture



MVC architecture

<AppML> adopts the MVC architecture.

MVC’s full name is Model View Controller, which is the abbreviation of Model-View-Controller and a software design model.

Model Describe your application.

View(View) Display your data.

Controller Control your application.

Wikipedia:Model, View, Controller

pic_mvc.jpg

Model (MODEL) - Just a simple XML file

A model describes your application and can be repeated across different hardware and software platforms (PC, iPhone, Tablets, etc.) use. It doesn't care about user interface (UI) or presentation.

The model is written in xml and stored in the web server.

<appml>

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

<filters>
<query>
<field label="Customer">CustomerName</field>
<field>City</field>
<field>Country</field>
</query>
<order>
<field label="Customer">CustomerName</field>
<field>City</field>
<field>Country</field>
</order>
</filters>

</appml>

The above example defines the data The source is from the Northwind database.

This model allows fetching data using predefined SQL. It also allows data querying and sorting by Customer, City and Country.


View (VIEW) - just an ordinary HTML file

The view is the UI (User Interface: User Interface). It is usually an HTML page that displays and enters data (optional):

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

<h1>My First Web Application</h1>
< div id="Place01"></div>

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

</body>
< ;/html>

The above HTML page uses the execution script language to create an AppML object and displays the data in the div with id="Place01".

The "appml.js" script file is used.


CONTROLLER (controller) - just a browser or server-side script

Server-side script controls the application in the following ways:

  • Receive request data from the browser

  • Return the model and data to the browser

  • Receive update data from the browser

  • Update data on the server

  • During the data communication process, please perform data security verification.

Browser scripts control the application in the following ways:

  • When the page loads, you can load the <AppML> controller onto the page .

  • Using controllers, you can create <AppML> objects on the page.

  • When the <AppML> object is executed, it requests data from the server.

  • <AppML> object accepts data from the server (using the data model).

  • <AppML> object (or your code) displays your data on the page.

  • (Optional) Web users modify data.

  • (Optional)<AppML> can send modification requests to the server.


Typical Web files and folders:


Fast and flexible application development

Rapid Application Development (RAD) is not only a requirement extraction method, it is also a method that integrates software development. The purpose of rapid application development is to quickly release system solutions, and technical elegance is secondary to the speed of release.

<AppML> Provides ultra-fast prototyping, 100 times faster than traditional software development methods.

Application prototypes can be run directly from the application model without any coding.

Wikipedia: Rapid Application Development

Agile software development is a step-by-step development method based on mutual collaboration between users and developers.

<AppML> Applications can be written and implemented step by step from prototype to complete application.

Wikipedia: Agile Software Development


Declarative Programming

Software development often fails to be completed on time and within budget. Software coding errors also occur frequently. This is because computer code is difficult to develop, test, and maintain.

The encoding is outdated. You should describe more about what to do than how to achieve it.

To use <AppML> you need to declare your application in the model.

Using <AppML> allows you to write less or no code.

Wikipedia:Declarative Programming


Code First

Web application development can use the following two different methods:

1. Code First: Use pre-programmed, pre-tested code and only add new application instructions.

2. Contract First: Write an application from scratch using the complete application specification requirements.

<AppML> Adopt the most reasonable concept: Code First.


Service-oriented architecture (SOA)

Web Service is a data interface, specified through a URL, just like a web page . But it is different from a web page, it is just a way to convey information.

A typical Web Service provides data for the page.

With <AppML>, HTML is displayed as the user interface and <AppML> provides the data.

Original Web Services Designed using XML markup such as SOAP, WSDL and UDDI.

Modern Web Services For example, <AppML> applications are simpler.

  • Easier to understand - can be read by us

  • Lightweight - no unnecessary code or markup

  • Easy to implement - no development tools required

Service-oriented architecture (SOA) is a component model that connects different functional units of an application (called services) through well-defined interfaces and linked by contract. The interface is defined in a neutral way and should be independent of the hardware platform, operating system and programming language on which the service is implemented. This allows services built into a variety of such systems to interact in a unified and common way.


Advantages of Web Services

  • Web services require only a small amount of code

  • Web services are designed to handle A limited set of tasks

  • Web services uses HTTP-based communication protocol

  • Web services are operating system independent

  • Web services are independent of programming languages

  • Web services can connect different applications, systems and devices

  • Web Services can Publish information easily

  • Web Services are conducive to rapid application development

For example, a Web service can design a small program to provide other Latest stock trading prices app.

Web services use the HTTP protocol to communicate with other systems. Web services are independent of operating systems and programming languages.

Applications calling Web services will always use the HTTP protocol to send requests. The calling application will never care what operating system or programming language the other computer is running.

Web services can create new possibilities for more businesses because they provide a simple way to distribute large amounts of information.

For example: flight schedule and ticket booking system.


Cloud Computing

Cloud Computing is an extension of SOA: Application-as-a service, Storage- as-a-service), Data-as-a-service.

For most people, cloud computing is about storing data on the web:

  • Mail very calendar

  • Documents and electronic Forms

  • Books, Notes, To-Do Lists

  • Music, Pictures and Movies

  • Databases and Applications

The reason is obvious:

  • There is access to data from all over the world

  • Share my data with others

  • Hardware upgrade or crash

<AppML> Databases and applications can be easily placed on In the clouds.

pic_web.png


##web folder:
Demo

Data folder:

Data

Image folder:

Images

Model folder:

Models

Application:

Demo.htm

Style:

Demo.css


##<AppML> Configuration file:

appml_config.php

(or .htmlx) <AppML> Style file:

appml.css

<AppML> Browser controller:

appml.js

<AppML> Server Controller:

appml.php

(or .htmlx)