<AppML>
Architecture
| MVC Architecture <AppML> adopts the MVC architecture. MVC stands for Model View Controller, which is an abbreviation for Model-View-Controller, a software design paradigm. The Model describes your application. The View displays your data. The Controller controls your application. Wikipedia:<br>Model, View, Controller | | |
Model - Just a Simple XML File
The model describes your application and can be reused across different hardware and software platforms (PCs, iPhones, Tablets, etc.). It does not concern itself with the user interface (UI) or presentation.
The model is written in XML and stored on the web server.
The example above defines the data source from the Northwind database.
The model allows for predefined SQL to fetch data. It also allows querying and sorting data by Customer, City, and Country.
View - Just a Regular HTML File
The view is the UI (User Interface). It is typically an HTML page that displays and optionally inputs data:
<h1>My First Web Application</h1>
<script src="appml.js"></script>
</body>
The above HTML page creates an AppML object by executing a script and displays the data in the div with id="Place01".
It uses the "appml.js" script file.
Controller - Just a Script for Both Browser and Server
The server-side script controls the application by:
Receiving request data from the browser
Returning the model and data to the browser
Receiving updated data from the browser
Updating data on the server
Ensuring data security validation during communication.
The browser script controls the application by:
Loading the <AppML> controller onto the page when it loads.
Using the controller to create <AppML> objects on the page.
When an <AppML> object is executed, it requests data from the server.
The <AppML> object receives data from the server (using the data model).
The <AppML> object (or your code) displays your data on the page.
(Optional) Web users modify the data.
(Optional) <AppML> can send modification requests to the server.
Typical Web Files and Folders:
| | | 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) |
Rapid and Flexible Application Development
Rapid Application Development (RAD) is not just a requirements gathering method; it is an integrated approach to software development. The goal of RAD is to quickly deliver system solutions, with technical elegance being secondary to delivery speed.
<AppML> offers ultra-fast prototyping, achieving speeds 100 times faster than traditional software development methods.
Application prototypes can run directly from the application model without any coding.
Wikipedia: Rapid Application Development
Agile software development is an iterative and incremental method that is based on the collaboration between users and developers.
<AppML> applications can evolve from prototypes to full applications incrementally.
Wikipedia: Agile Software Development
Declarative Programming
Software development often fails to meet expected time and budget. Coding errors are frequent. This is because computer code is difficult to develop, test, and maintain.
Coding is outdated. You should describe what to do, not how to do it.
With <AppML>, you declare your application in the model.
You use less or no code.
Wikipedia: Declarative Programming
Code First
Web application development can be done in two different ways:
- Code First: Use pre-programmed, pre-tested code, and only add new application specifications.
- Contract First: Start from scratch using the complete application specification requirements to write the application.
Code First.
Service-Oriented Architecture (SOA)
Web Service is a data interface specified by a URL, similar to a web page. However, it differs from a web page as it is merely a means of conveying information.
A typical Web Service provides data for pages.
Using <AppML>, HTML is displayed as the user interface, while <AppML> provides the data.
Original Web Services were designed using XML markup such as SOAP, WSDL, and UDDI.
Modern Web Services like <AppML> are simpler.
Easier to understand - can be read by us
Lightweight - no unnecessary code or markup
Easy to implement - no required development tools
Service-Oriented Architecture (SOA) is a component model that connects different functional units of an application (called services) through well-defined interfaces and contracts. The interfaces are defined in a neutral manner, independent of the hardware platform, operating system, and programming language used to implement the services. This allows services built on various systems to interact in a unified and common way.
Advantages of Web Services
Web services require minimal code
Web services are designed to handle a limited set of tasks
Web services use HTTP-based communication protocols
Web services are independent of the operating system
Web services are independent of the programming language
Web services can connect different applications, systems, and devices
Web services can easily publish information
Web services facilitate rapid application development
For example, a Web service can be designed to provide the latest stock trading prices to other applications.
Web services communicate with other systems using the HTTP protocol and are independent of the operating system and programming language.
Applications that invoke Web services will always use the HTTP protocol to send requests. The calling application will never be concerned with the operating system or programming language of the other computer.
Web services can create new possibilities for more enterprises as they provide a simple way to distribute large amounts of information.
For example: flight schedules and ticket booking systems.
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 involves storing data on the web:
Emails and calendars
Documents and spreadsheets
Books, notes, to-do lists
Music, pictures, and movies
Databases and applications
The reasons are obvious:
Access to data from anywhere in the world
Sharing my data with others
Hardware upgrades or crashes
<AppML> can easily place databases and applications in the cloud.