页面

2010年6月3日星期四

面向异步消息的Web应用(AMOWA)

    第一反应:新瓶装旧药。不过在IT界,很多时候都是同样的技术不同的概念而衍生出一种新的事物,像AJAX,SOAP等,但世界就是这样一步步发展的,那些旧技术套上新的外衣会创造出一个新的生态圈,而在这个新的生态圈中又会滋生出新的技术,这就是进化!
    言归正传,Asynchronous-Messaging Oriented Web Application,这是一个很早的的技术了,大概在04年就提出来吧!只是在今天偶尔看到了,就再回味一下,从08年开始参加工作其实就接触的全是异步,什么消息啦,事件啦等,所以觉得一切就是理所应当,今天看到这个概念的提出,始知道什么技术都是有个过程的。
    说起来其实这个概念是由两个技术来支撑,消息与异步。消息就是把所有的调用都包装成消息,用消息来通知对方,而不是调用,比如:
以下是一个AMOWA接口的伪代码
* 客户端将操作包装成消息并发送:
    clientOperation.sendMessageBundle(msgBundle, callback);
    callback定义了消息的处理策略。
* AMOWA Gateway负责获取前台发送的消息,并处理
    messageBundle = buildMessage(request); //将Request包装成MessageBundle
    returnedMSGBundle = process(messageBundle); // 处理消息包
    sendReturnedBundle(returnedMSGBundle );  //发送处理结果
* 在process方法内部,简单的调用业务逻辑层的处理方式:
    bizDTO = bizService.doSomething();
    return bizDTO;
AMOWA Engine将会将bizDTO序列化为系统能够辨认的消息格式,生成消息包。

而在消息包中加入回调函数即构成了异步的消息处理

没有评论:

发表评论