基于Ajax的新式服务模型

总的思想:

将后台的服务与前台的 js 函数签名自动同步,一个服务由开发者在一个地方进行维护。

受到博客园文章的影响:http://www.cnblogs.com/wzcheng/archive/2010/05/20/1739810.html

服务方法的自动暴露与代理js函数的自动生成

function SetPhotoShareMode()
{
    var tPhotoID = $id("Photo_ID").innerText;
    var tShareMode = $("#SelectShareMode").val();
    if (tShareMode=="NotSet")
    {
        alert("没有选择共享属性!");
        return;
    }
    if (confirm("此操作将影响照片的共享性,请确认是否执行?","执行","取消"))
    {
        $.post("/AjaxServer/Server.ashx?service=photo&method=SetShareMode", {id:tPhotoID,ShareMode:tShareMode }, function(data){ ShowJSONMsg(data);} );   
    }
}

AjaxServer/Server.ashx?service=photo&method=SetShareMode&format=js

== photo/SetShareMode.javascript

.javascript 为虚拟文件,最终指向  AjaxServer/Server.ashx?service=photo&method=SetShareMode&format=js

而上面的服务在 Format=js 时自动生成包装其 SetShareMode 的 js 函数;

客户端的应用:
1、将上面的 .javascript 虚拟文件插入网页,这就是自动生成的js文件
2、在页面上使用js的 SetShareMode(photoid,sharemode); 方法调用后台的服务即可。

API文档的自动化与同步:

所以客户端的任务就是一个:只需要知道一个 js 方法如何使用就行了。
如果不知道如何使用,使用  AjaxServer/Server.ashx?service=photo&method=SetShareMode&format=api 即可调出参考

当然,后台的所有服务应该有一个总的 api 可供参考,如此,则前台人员随时可以有完整的文档可以看。

文档的编写应该由程序员自己完成,就写在自己开发的类当中,与代码一起编辑。自己写的东西自己看,系统再准备一个测试工具,提供给程序查阅自己的程序,随时保证代码正确,并且文档正确。

api如何保证安全呢?

在交付后,采用系统的一个变量,指示一下系统当前的状态,如果是发布状态,就不要出现文档。
在应用程序出现问题后,如果需要查看api文档,登录应用程序的后台,将系统的状态设置一下即可。

原文地址:https://www.cnblogs.com/chinaontology/p/1762789.html