今天看一篇文章《http://www.intertwingly.net/blog/2006/08/08/WOA-vs-ROA 》(http://www.intertwingly.net/blog/2006/08/08/WOA-vs-ROA )时,突想知道到底有多少OA。
google一把,发现xxx-Oriented Architecture比我想象的还要多!在这里八卦一下,比较大众化的就不说了。
Application-oriented Object Architecture (AOA)
Aspect-oriented_programming(AOP) (http://en.wikipedia.org/wiki/Aspect-oriented_programming )
Agent-oriented Architecture (AOA)
Delegation-Oriented Architecture (DOA)
http://nms.csail.mit.edu/doa/
MIT为了解决Internet边界包问题提过的一种网络架构.
Human-Oriented Architecture (HOA)
http://www.artima.com/intv/balance.html
其实这个有点夸张了,这只是一片访谈的标题,而我私自加了一个HOA用来充数吸引眼球。此文中宣称将软件架构映射到人的需求上来,根据社会原因选择语言,并且选择适当的架构粒度。
Pattern-Oriented Software Architecture (POSA)
http://www.cs.wustl.edu/~schmidt/POSA/
POSA是一个新的软件开发方法:一个模式系统(pattern system)底层提供了很多常见设计问题的切实可行的解决方案;另一方面,它表明了如何将这些独立的模式(pattern)组合成各种异质的结构,并为结构性软件系统开发提供方便.
Resource oriented architecture (ROA)
http://en.wikipedia.org/wiki/Resource_oriented_architecture
Web就是Resource!
ROA是REST架构实现中的一组专用的规则。
REST(Representational State Transfer)
Dion Hinchcliffe在《The hidden battle between web services: REST versus SOAP》(http://hinchcliffe.org/archive/2005/02/12/171.aspx )说:REST本身只是一个风格,它只需要HTTP服务器和XML Parser的支持。REST web service风格是指:
- 数据表示的格式使用原始的XML。(原文中为Plain XML,即POX(plain old XML))
- 传输协议是HTTP
- 访问/处理操作的谓词采用HTTP提供的GET,POST,PUT和DELETE。
- URI指向独立的数据记录。
- 安全靠HTTP认证和SSL来保证。
REST web service的优点在于:
- 性能:REST比SOAP快。据Amazon称其能快至6倍。
- REST不需要额外附加的标准,它建立在已有的大众已知的标准之上。
- 几乎不存在花在学习上的弯路。【FT:指SOAP以及其上的WS-*协议簇太难学。】
- REST建立在4个HTTP谓词提供的简单交互操作上。无状态并且能处理任何复杂的交互。
然而,当建立在SOAP之上的那些WS-*协议簇都定义出来,并且成为一个平台的底层的基本配备(SOA已P得到MS,IBM等的支持),甚至可能在下一代web应用语言的底层实现从而将其对外隐藏起来。那时候,还有REST么?
Service-oriented architecture (SOA)
Semantic Servive-Oriented Architecture (SSOA)
http://ericschnell.blogspot.com/2008/01/syndication-oriented-architecture-synoa.html
SSOA技术上有三个“基本点”构成:
- The principals of Service-oriented architecture (SOA);
- Standards Based Design (SBD);
- Semantics-based computing.
Syndication Oriented Architecture (SynOA)
http://ericschnell.blogspot.com/2008/01/syndication-oriented-architecture-synoa.html
SynOA为了解决信息敏捷(information agility)而提出的架构,包括五个部分:
- Publication. RSSifing all data feeds.
- Subscription. Make it easy to remix feeds.
- Distribution. Wide range of delivery options, smartphones, etc.
- Personalization. What each recipient needs to know, now
- Collaboration. Tapping into the wisdom of crowds to learn from groups.
Web-Oriented Architecture (WOA)
http://hinchcliffe.org/archive/2006/08/05/8489.aspx