Posts tagged ‘soa’

InfoQ 文章 你的架构应该关注SOA,还是BPM?

BEA的Dain Hansen最近发表了“SOA整合的成功蓝图”,对如何在组织中实施SOA给出了详细的指导。在讨论过程中,Hansen指出了BPM-SOA整合的重要性。

Continue reading ‘BPM & SOA’ »

InfoQ 文章 有关REST的十点疑惑

其中有几点论述很精辟:

“3. 谁真会把他们应用中如此多的实现细节暴露出来?”中提到“REST 应用是以 数据为中心(data-centric),而不是 操作为中心(operation-centric),这符合我们一直以来的直观理解。

“4. REST只能配合HTTP使用,它不是传输协议无关的。”中提到“协议无关性是一个缺陷,而不是一个特性”,追求 彻底/pure 的通用抽象在实际的开发应用中往往导致负面的结果。

“6. REST不支持事务”中提到“很大程度上,在SOA或REST环境中需要ACID事务,其实是一种设计异味(design smell)——你很可能已经为你的服务或资源采用了错误的模型”,验证了实际开发中的体验,着眼处应该是正确的模型。

“7. REST是不可靠的”。GET/PUT/DELETE 是 identpotent 的 – 重复请求得到同样的结果,但 POST 不能保证。一种可能的解决方案:将语义映射到 PUT。采用Joe Gregorio描述的一种常见的最佳实践

“9. 无异步交互”。使用 HTTP 代码 202 Accepted 来表示“收到请求,异步处理过程开始”。“至于处理结果,有多种办法:服务器可以返回一个资源的URI,然后客户端通过向该URI发送GET请求来访问结果(尽管在专门为一个请求创建资源时采用响 应代码201 Created更为恰当)。或者,客户端可以提供一个URI,并期待服务器在处理完成后把结果POST上去”。

进一步的阅读参考【RESTful Web Services】。