<AppML> uses an MVC Architecture
MVC stands for Model, View, Controller
The Model describes your application.
The View displays your data.
The Controller controls your application (of course).
Wikipedia: Model, View, Controller
The MODEL - Just a Simple XML File
The model describes your application, and is reusable for different hardware and software platforms (PC, iPhone, Tablets, etc). It is not concerned with user interface (UI) or presentation.
The model is written in XML, and stored on your web server:
<sql>SELECT CustomerName,ContactName,City,Country FROM Customers</sql>
The model above defines the data source to be from a database named Northwind.
The model allows data to be fetched using a predefined SQL. It also allows data to be ordered by and queried by Customer, City, and Country.
The VIEW - Just a Normal HTML File
The view is the UI (User Interface). Normally it is an HTML page for displaying and (optionally) input data:
<link rel="stylesheet" href="appml.css" />
<h1>My First Web Application</h1>
The HTML page above runs a script that creates an AppML object on the screen for displaying data inside a placeholder called "Place01".
The CONTROLLER - Just a Browser and Server Script
The server script controls the application by:
- Receiving requests from the browser
- Returning model and data the browser
- Receiving updated data from the browser
- Updating data on the server
- Taking care of authentication and security
The browser script controls the application this way:
- When a web page loads, you can load the <AppML> controller into the page.
- With the controller, you can create an <AppML> object on your page.
- When the <AppML> object runs, it asks your server for data.
- The <AppML> object receives the data (with a data model) from the server.
- The <AppML> object (or your code) displays the data in your web page.
- (Optionally) A web user can change data.
- (Optionally) <AppML> can send changed data back to the server.
Typical Web Files and Folders:
Your data folder: Data
Your images folder: Images
Your models folder: Models
Your application: Demo.htm
Your stylesheet: Demo.css
<AppML> Configuration: appml_config.php (or .aspx)
<AppML> Stylesheet: appml.css
<AppML> Browser Controller: appml.js
<AppML> Server Controller: appml.php (or .aspx)
Rapid and Agile Application Development
RAD is a software development method that uses minimal planning in favor of rapid prototyping.
<AppML> delivers super-fast prototyping, up to 100 times faster than traditional software development methods.
Application prototypes can run directly from the application model, without any coding.
Agile software development is a method based on step-by-step development, where solutions are created by users and developers in collaboration.
With <AppML>, applications can be written step by step, in small increments, from prototypes to a full applications.
Software development often breaks deadlines and budgets. Finished software is often full of coding errors. This is because computer code is difficult to develop, test, and maintain.
Coding is Out. You should describe more What to do, less How to do it.
With <AppML> you Declare your application in the Model.
With <AppML> there is less (or nothing) to code.
Wikipedia: Declarative Programming
A web application can be developed in two different ways:
1. Code First: Using pre-programmed, pre-tested code, adding only new application descriptions.
2. Contract First: Coding the application from scratch using the full application requirement description.
<AppML> uses the most rational concept: Code First.
Service Oriented Architecture (SOA)
A Web Service is an interface to data, identified by a URL, just like a web page. It differs from a web page, only in the way it communicates information.
A typical Web Service provides data to a web page.
With <AppML>, HTML displays the user interface, and <AppML> provides the data.
Original Web Services were designed to use XML standards like SOAP, WSDL, and UDDI.
Modern Web Services like <AppML> are much easier to use.
- Simpler to understand - Can be read by humans
- Lightweight - no unnecessary code or markup
- Easy to implement - no development tools required
Service Oriented Architecture (SOA) is an architecture for building web applications. It offers low development costs and high flexibility. With SOA, applications can be created from scratch, or from existing IT infrastructures, and be used, by different applications, on different hardware and software. SOA is a perfect fit for MVC and Declarative Programming, where data can be easily consumed without the concern about how.
Benefits of Web Services
- Web services are small units of code
- Web services are designed to handle a limited set of tasks
- Web services use HTTP based communicating protocols
- Web services are independent of operating systems
- Web services are independent of programming languages
- Web services can connect different applications, systems, and devices
- Web Services makes it easy to distribute information
- Web Services favours rapid application development
An example of a web service can be a small program designed to supply other applications with the latest stock exchange prices.
Since web services use HTTP protocols to communicate with other systems, web services are independent of both operating systems and programming languages.
An application calling a web service will always send its requests using HTTP. The calling application will never be concerned about the operating system or the programming language running on the other computer.
Web services can create new possibilities for many businesses, because it provides an easy way to distribute information to a large number of consumers.
One example could be flight schedules and ticket reservation systems.
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:
- Emails and calendars
- Documents and spreadsheets
- Books, notes, and todo lists
- Mmusic, pictures and movies
- Databases and applications
The reasons are pretty obvious:
- To have access to data from everywhere
- To share my data with others
- To survive hardware changes or crashes
With <AppML>, it is very easily to put databases and applications in the cloud.
Thank You For Helping Us!
Your message has been sent to W3Schools.