现代AJAX Webapp范例

时间:2013-08-15 18:30:51

标签: java javascript json web-applications asp-classic

简介

我的公司有一个基于经典ASP的webapp。随着我们的webapp的增长,我们发现很难维护系统。我觉得代码的复杂性和许多ASP页面的需求使得系统的维护超过了新功能的开发。我对如何使系统现代化有一些想法,我很感激社区对现代webapps如何工作的反馈。

问题:

我目前的理解是,现代webapp的架构有两个主要部分。有前端(面向浏览器/用户)和后端(服务器/数据库)。在我们当前的ASP架构中,来自数据库的后端和数据请求与我们的客户端代码一起被混合。我觉得两个组件之间应该存在分离,而JSON就是那个解决方案。

下图展示了我设想的架构: Architecture concept

我的想法是让前端开发人员和后端开发人员通过同意某种“API”来工作。例如,假设业务需求表明我们需要发送当前客户列表。

前端开发人员:我需要向用户显示客户列表。

后端开发人员:我需要从数据库中获取客户列表,并将其发送给前端开发人员。

JSON看起来像这样:

[
    {
        "fname": "John",
        "lname": "Doe",
        "price": "5"
    },
    {
        "fname": "Jane",
        "lname": "Deer",
        "price": "5"
    }
]

我如何设想这项工作

前端代码:

假设:单页应用,所有请求转到一个服务器页面,Javascript with JQuery,Knockout.js

//AJAX request for data using jQuery and GET request
$.getJSON('/index',         //The page where I request data from
    {"request":"customers"} //JSON to let server know what I want
    , function(data) {      //Function to execute
    //Get the data in the pre-defined format
    //Add to MVVM (knockout.js)
    someKnockoutMappingFunction();
});

后端代码:

假设:Java

 String request = req.getParameter("request");
    if (request == null) {
       //Error case
    }
    //The AJAX request came in requesting customers
    else if(request == "customers")
    {
        //Get the data from the database and format it
        someDatabaseToJSONFunction();
        //Send that data back to the client
        someSendJSONBackFunction();
    }

总结

那么,我是在正确的轨道上吗?有没有人实施过这种模式,可以在我潜入之前提出有用的建议?关于如何从ASP快速迁移的任何建议?

提前致谢!

1 个答案:

答案 0 :(得分:0)

你有几个选择。

如果您的要求使您无​​法从ASP Classic迁移,那么您可能希望集成一个(仍然)现有框架/库,使ASP / VBScript成为一个更易于管理的开发环境。

目前我有三个链接,我知道有2个或3个(我知道)但我不记得在哪里找到它们......

如果你可以转移到另一种语言/框架,你可能仍然想使用上面的一个库来帮助构建一些将旧代码绑定到新代码的粘合剂(ASP-Ajaxed有一个用于发出JSON的类) 。我会对快速更改/升级您的代码库持谨慎态度,因为您永远不知道在此过程中您可能会破坏旧的业务规则或旧的错误修复。

有一些问题有很棒的答案,概述了将代码移动到新平台的合理方法。