Kiến trúc AppML


Kiến trúc web hiện đại

AppML kết hợp các kỹ thuật và ý tưởng cập nhật nhất về phát triển web hiện đại.

AppML tập trung vào tốc độ, sự đơn giản và chi phí thấp:

  • Giá thấp
  • Phát triển web nhanh chóng và linh hoạt
  • Được tối ưu hóa cho Điện toán đám mây
  • Tốc độ cao và tiêu thụ băng thông thấp
  • Kiến trúc MVC (Model Viev Controller)
  • Tách hoàn toàn nội dung khỏi bản trình bày
  • Có thể mở rộng cao và có thể kiểm tra
  • Cấu hình và cấu hình lại dễ dàng
  • Cấu hình lại trong khi các ứng dụng đang chạy
  • Hỗ trợ Thông minh cho Tài khoản Người dùng và Vai trò

Kiến trúc MVC

 

AppML sử dụng Kiến trúc MVC

MVC là viết tắt của Model, View, Controller

hình mô tả ứng dụng của bạn.

Chế độ xem hiển thị dữ liệu của bạn.

Bộ điều khiển kiểm soát ứng dụng của bạn (tất nhiên).

 

Wikipedia: Mô hình, Chế độ xem, Bộ điều khiển

        MVC

MÔ HÌNH - Chỉ JSON

Mô hình mô tả ứng dụng.

Mô hình có thể sử dụng lại trên các nền tảng phần cứng và phần mềm khác nhau (Máy chủ, PC, iPhone, Máy tính bảng, v.v.).

Mô hình không liên quan đến trình bày hoặc giao diện người dùng (UI).

Mô hình được viết bằng JSON:

Mô hình

{
"rowsperpage" : 10,
"database" : {
    "connection" : "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"}
]
}

CHẾ ĐỘ XEM - Chỉ HTML

Dạng xem là giao diện người dùng (Giao diện người dùng) để hiển thị (và đầu vào) dữ liệu.

Chế độ xem được viết bằng HTML và CSS:

Chế độ xem HTML

<!DOCTYPE html>
<html lang="en-US">
<title>Customers</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="https://www.w3schools.com/appml/2.0.3/appml.js"></script>
<body>

<div class="w3-container" appml-data="local?model=model_customers">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>
<div appml-include-html="inc_filter.htm"></div>
<table class="w3-table-all">
  <tr>
    <th>Customer</th>
    <th>City</th>
    <th>Country</th>
  </tr>
  <tr appml-repeat="records">
    <td>{{CustomerName}}</td>
    <td>{{City}}</td>
    <td>{{Country}}</td>
</tr>
</table>
</div>

</body>
</html>

BỘ ĐIỀU KHIỂN - Tập lệnh Máy khách và / hoặc Máy chủ

Tập lệnh ứng dụng khách trong trang web có thể kiểm soát ứng dụng:

  • AppML có thể hiển thị dữ liệu như được xác định trong mô hình
  • AppML có thể hiển thị dữ liệu như được xác định bởi các thuộc tính HTML.
  • Các ứng dụng AppML có thể chạy độc lập với HTML (ẩn)
  • (Tùy chọn) AppML có thể yêu cầu dữ liệu mô hình từ máy chủ web (máy chủ SQL)
  • (Tùy chọn) Người dùng AppML có thể chỉnh sửa dữ liệu
  • (Tùy chọn) AppML có thể gửi dữ liệu đến máy chủ web

Tập lệnh máy chủ có thể kiểm soát ứng dụng bằng cách:

  • Nhận yêu cầu từ máy khách (trình duyệt)
  • Trả lại dữ liệu cho khách hàng
  • Nhận dữ liệu từ khách hàng
  • Cập nhật dữ liệu trên máy chủ
  • Chăm sóc xác thực và bảo mật

Nghệ thuật lập trình

Giữ cho kích thước và độ phức tạp của ứng dụng ở mức thấp, là vấn đề chính của tất cả các lập trình.

Kiểm soát độ phức tạp của ứng dụng máy tính, là nghệ thuật lập trình thực sự.


Lập trình khai báo

Phát triển phần mềm thường phá vỡ thời hạn và ngân sách. Phần mềm hoàn thiện thường có đầy lỗi mã hóa. Điều này là do mã máy tính rất khó phát triển, kiểm tra và bảo trì.

Đã hết mã hóa . Bạn nên mô tả nhiều hơn Phải làm , ít hơn Cách làm.

Với AppML, bạn Khai báo ứng dụng của mình trong Mô hình và trong Chế độ xem .

Với AppML , có ít hơn (đôi khi không có gì) để viết mã .

Wikipedia: Lập trình so sánh


Phát triển ứng dụng nhanh chóng và linh hoạt

Kiểm soát độ phức tạp của ứng dụng máy tính là nghệ thuật lập trình thực sự.

Giữ kích thước và độ phức tạp của ứng dụng trong tầm kiểm soát là vấn đề chính của tất cả các lập trình.

RAD là một phương pháp phát triển phần mềm sử dụng quy hoạch tối thiểu có lợi cho việc tạo mẫu nhanh.

AppML cung cấp quá trình tạo mẫu siêu nhanh, nhanh hơn 100 lần so với các phương pháp phát triển truyền thống.

Các nguyên mẫu ứng dụng có thể chạy trực tiếp từ mô hình ứng dụng mà không cần bất kỳ mã hóa nào.

Wikipedia: Phát triển ứng dụng nhanh chóng

Phát triển phần mềm Agile là một phương pháp dựa trên sự phát triển từng bước, trong đó các giải pháp được tạo ra bởi người dùng và các nhà phát triển trong sự hợp tác.

Với AppML, các ứng dụng có thể được viết từng bước, từng bước nhỏ, từ nguyên mẫu đến ứng dụng đầy đủ.

Wikipedia: Phát triển phần mềm Agile


Mã đầu tiên

Một ứng dụng web có thể được phát triển theo hai cách khác nhau:

1. Mã đầu tiên: Sử dụng mã được lập trình sẵn, được kiểm tra trước, chỉ thêm mô tả ứng dụng mới.

2. Hợp đồng Đầu tiên: Mã hóa ứng dụng từ đầu bằng cách sử dụng mô tả yêu cầu ứng dụng đầy đủ.

AppML sử dụng khái niệm hợp lý nhất: Mã đầu tiên .


Kiến trúc hướng dịch vụ (SOA)

Kiến trúc hướng dịch vụ (SOA) là một kiến ​​trúc để xây dựng các ứng dụng web.

SOA cung cấp chi phí phát triển thấp và tính linh hoạt cao.

Với SOA , các ứng dụng có thể được tạo từ đầu hoặc từ các cơ sở hạ tầng CNTT hiện có và được các ứng dụng khác nhau sử dụng trên các phần cứng và phần mềm khác nhau.

SOA là sự phù hợp hoàn hảo cho MVCLập trình khai báo, nơi dữ liệu có thể dễ dàng được sử dụng mà không cần quan tâm đến cách thức.


Dịch vụ web

Dịch vụ Web là một giao diện với dữ liệu, được xác định bởi một URL, giống như một trang web.

Dịch vụ Web khác với một trang web, chỉ ở cách nó truyền đạt thông tin.

Một Dịch vụ Web điển hình chỉ cung cấp dữ liệu cho một trang web.

Với AppML, HTML là giao diện người dùng, một Dịch vụ Web cung cấp dữ liệu.

Dịch vụ Web gốc được thiết kế để sử dụng các tiêu chuẩn XML như SOAP, WSDL và UDDI.

Các dịch vụ Web hiện đại như AppML dễ sử dụng hơn nhiều.

  • Đơn giản hơn để hiểu - Con người có thể đọc được
  • Nhẹ - không có mã hoặc đánh dấu không cần thiết
  • Dễ thực hiện - không cần công cụ phát triển

Lợi ích của Dịch vụ Web

  • Dịch vụ web là các đơn vị mã nhỏ
  • Các dịch vụ web được thiết kế để xử lý một số tác vụ hạn chế
  • Các dịch vụ web sử dụng các giao thức giao tiếp dựa trên HTTP
  • Các dịch vụ web độc lập với hệ điều hành
  • Các dịch vụ web độc lập với ngôn ngữ lập trình
  • Các dịch vụ web có thể kết nối các ứng dụng, hệ thống và thiết bị khác nhau
  • Dịch vụ Web giúp dễ dàng phân phối thông tin
  • Dịch vụ Web hỗ trợ phát triển ứng dụng nhanh chóng

Ví dụ: Một chương trình nhỏ được thiết kế để cung cấp các ứng dụng khác với giá giao dịch chứng khoán.

Ví dụ: Lịch bay và hệ thống đặt vé.

Vì các dịch vụ web sử dụng HTTP, chúng độc lập với cả hệ điều hành và ngôn ngữ lập trình.


Điện toán đám mây

Điện toán đám mây là một phần mở rộng của SOA: Application-as-a-service, Storage-as-a-service, Data-as-a-service.

Đối với hầu hết mọi người, Điện toán đám mây là về việc lưu trữ dữ liệu trên web:

  • Email và lịch
  • Tài liệu và bảng tính
  • Sách, ghi chú và danh sách việc cần làm
  • Âm nhạc, hình ảnh và phim
  • Cơ sở dữ liệu và ứng dụng

Lý do là khá rõ ràng:

  • Để có quyền truy cập vào dữ liệu từ mọi nơi
  • Để chia sẻ dữ liệu của tôi với những người khác
  • Để tồn tại những thay đổi hoặc sự cố phần cứng

Với AppML, rất dễ dàng đưa cả cơ sở dữ liệu và ứng dụng lên đám mây.