快速、灵活的应用开发

快速应用开发(RapidApplicationDevelopment、RAD)不仅是一种需求抽取方法,它还是是软件开发为一体的方法。

快速应用开发目的是快速发布系统方案,而技术上的优美相对发布的速度来说是次要的。

AppML提供超快速的原型设计,比传统的软件开发方法高100倍的速度。

应用程序原型可以直接从应用程序模型运行,无需任何编码。

Wikipedia:RapidApplicationDevelopment

敏捷软件开发是基于用户和开发者相互协作的基础上一步一步的基发展而来的方法。

AppML应用从原型到完整的应用可以通过递增的方式一步步来编写实现。

Wikipedia:AgileSoftwareDevelopment

声明式编程

软件开发往往无法按照预期的时间和预算完成。

软件编码错误也是经常出现。

这是因为计算机代码是很难开发、测试、维护。

编码已经过时了。

你应该更多描述做什么,而不是如何实现它。

使用AppML你需要在模型中声明你的应用。

使用AppML可以少写或者不用编写代码。

Wikipedia:

Declarative

Programming

代码先行(CodeFirst)

Web应用程序开发可以使用以下两种不同的方式:

1。

代码先行(CodeFirst):使用预编程,预先测试的代码,只增加新的应用程序说明。

2。

契约优先(ContractFirst):从头开始使用完整的应用程序的说明要求编写应用程序。

AppML采用最合理的概念:

代码先行(CodeFirst)。

面向服务的体系结构(service-orientedarchitecture,SOA)

WebService是一个数据接口,通过URL指定,就像一个web页面。

但它有别于web页面,它只是一种传达信息的方式。

一个典型的WebService为页面提供了数据。

使用AppML,HTML显示为用户界面,AppML提供数据。

OriginalWebServices设计使用了XML标志如SOAP、WSDL和UDDI。

ModernWebServices比如AppML应用更加简单。

更容易理解-可以被我们阅读

轻量级-没有不必要的代码或标记

易于实施-没有所需的开发工具

面向服务的体系结构(service-orientedarchitecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。

接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。

这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

WebServices的优势

Webservices只需要少量的代码

Webservices被设计来处理一组有限的任务

Webservices使用基于HTTP的通信协议

Webservices独立于操作系统

Webservices独立于编程语言

Webservices可以连接不同的应用程序,系统和设备

WebServices可以很容易地发布信息

WebServices有利于快速应用程序开发

例如一个Webservices,可以设计一个小程序,提供其他最新的股票的交易价格的应用程序。

Webservices使用HTTP协议与其他系统进行通信,Web服务是独立于操作系统和编程语言。

调用Webservices的应用程序将始终使用HTTP协议发送请求。

调用应用程序将永远不会关心其他计算机运行的操作系统或编程语言。

Webservices可以为更多的企业创造新的可能性,因为它提供了一种简单的分发大量信息的方式。

比如:航班时刻表和机票预定系统。

云计算(CloudComputing)

云计算(CloudComputing)是SOA的扩展:应用即服务(Application-as-aservice),存储即服务(Storage-as-a-service),数据即服务(Data-as-a-service)。

对于大多数人,云计算是在web上存储数据:

邮寄很日历

文档和电子表格

书籍、笔记、待办事项列表

音乐、图片和电影

数据库和应用程序

原因很明显:

有来自世界各地的访问数据

与他人分享我的数据

硬件升级或者崩溃