AppML Architecture

Modern Web Architecture

AppML consolidates the most cutting-edge procedures and thoughts of current web development.

AppML center around speed, straightforwardness, and low cost:

  • Service Oriented MVC Architecture
  • Extremely Low Bandwidth Consumption
  • Optimized for Cloud Computing
  • Full Separation of Content from Presentation
  • Intelligent Declarative Programming
  • Rapid and Agile Web Development
  • Highly Scalable and Testable
  • Easy Configuration and Reconfiguration
  • Smart Support for User Accounts and Roles

MVC Architecture


AppML utilizes a MVC Architecture

MVC represents Model, View, Controller

The Model depicts your application.

The View shows your data.

The Controller controls your application (of course).


Wikipedia: Display, View, Controller



The display depicts the application.

The demonstrate is reusable on various equipment what's more, programming stages (Server, PC, iPhone, Tablets, etc.).

The show isn't worried about introduction or client interface (UI).

The show is written in JSON:


"rowsperpage" : 10,
"database" : {
    "association" : "localmysql",
    "sql" : "SELECT CustomerName, City, Country FROM Customers",
    "orderby" : "CustomerName"
"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}

What is see and HTML

The see is the UI (User Interface) for showing (and information) data.

The see is written in HTML and CSS:


<!DOCTYPE html>
<html lang="en-US">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="http://www.welookups.com/appml/2.0.3/appml.js"></script>

<div class="container" appml-data="local?model=model_customers">
<div appml-incorporate html="inc_listcommands.htm"></div>
<div appml-incorporate html="inc_filter.htm"></div>

<table class="table table-striped table-bordered">
<tr appml-repeat="records">
  <td>{{City}}    </td>
  <td>{{Country}} </td>

Try It Yourself »

The CONTROLLER - Client or potentially Server Scripts

A customer content in the website page can control the application:

  • AppML can show information as characterized in the model
  • AppML can show information as characterized by HTML attributes.
  • AppML applications can run free of HTML (hidden)
  • (Optionally) AppML can demand display information from a web server (SQL server)
  • (Optionally) AppML clients can alter data
  • (Optionally) AppML can send information to a web server

A server content can control the application by:

  • Receiving demands from the customer (browser)
  • Returning information to the client
  • Receiving information from the client
  • Updating information on the server
  • Taking care of confirmation and security

The Art of Programming

Keeping application size and intricacy low, is the principle issue of all programming.

Controlling PC application intricacy, is the genuine specialty of programming.

Declarative Programming

Software improvement regularly breaks due dates and spending plans. Completed programming is regularly brimming with coding blunders. This is on the grounds that PC code is hard to create, test, and maintain.

Coding is Out. You ought to portray more What to do, less How to do it.

With AppML you Declare your application in the Model and in the View.

With AppML there is less (some of the time nothing) to code.

Wikipedia: Revelatory Programming

Rapid and Agile Application Development

Controlling PC application unpredictability is the genuine specialty of programming.

Keeping application size and unpredictability under leveled out is the principle issue of all programming.

RAD is a product advancement strategy that utilizes insignificant arranging for quick prototyping.

AppML conveys super-quick prototyping, up to multiple times quicker than conventional improvement methods.

Application models can run straightforwardly from the application display, with no coding.

Wikipedia: Rapid Application Development

Agile programming advancement is a technique dependent on well ordered improvement, where arrangements are made by clients and designers in collaboration.

With AppML, applications can be composed well ordered, in little augmentations, from models to full applications.

Wikipedia: Agile Software Development

Code First

A web application can be created in two diverse ways:

1. Code First: Using pre-modified, pre-tried code, including just new application descriptions.

2. Contract First: Coding the application starting with no outside help utilizing the full application necessity description.

AppML utilizes the most balanced idea: Code First.

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) is an engineering for building web applications.

SOA offers low improvement expenses and high flexibility.

With SOA, applications can be made sans preparation, or from existing IT foundations, and be utilized, by various applications, on various equipment what's more, software.

SOA is an ideal fit for MVC and Declarative Programming, where information can be effectively expended without the worry about how.

Web Services

A Web Service is an interface to information, distinguished by a URL, much the same as a web page.

A Web Service varies from a website page, just in the way it imparts data.

A normal Web Service just gives information to a web page.

With AppML, HTML is the UI, a Web Service gives the data.

Original Web Services were intended to utilize XML guidelines like SOAP, WSDL, and UDDI.

Modern Web Services like AppML are a lot simpler to utilize.

  • Simpler to comprehend - Can be perused by humans
  • Lightweight - no pointless code or markup
  • Easy to execute - no improvement instruments required

Benefits of Web Services

  • Web administrations are little units of code
  • Web administrations are intended to deal with a restricted arrangement of tasks
  • Web administrations use HTTP based conveying protocols
  • Web administrations are free of working systems
  • Web administrations are autonomous of programming languages
  • Web administrations can interface distinctive applications, frameworks, and devices
  • Web Services makes it simple to disperse information
  • Web Services favors fast application development

Example: A little program intended to supply other applications with the stock trade prices.

Example: Flight calendars and ticket reservation systems.

Since web administrations use HTTP, they are autonomous of both working frameworks and programming languages.

Cloud Computing

Cloud Computing is an expansion of SOA: Application-as-an administration, Capacity as-an administration, Data-as-a-service.

For the vast majority, Cloud Computing is tied in with putting away information on the web:

  • Emails and calendars
  • Documents and spreadsheets
  • Books, notes, and to do lists
  • Music, pictures and movies
  • Databases and applications

The reasons are pretty obvious:

  • To approach information from everywhere
  • To share my information with others
  • To endure equipment changes or crashes

With AppML, it is exceptionally simple to put the two databases and applications in the cloud.