主要变化是,架构师面对新的应用需求,比如可以重复使用的平台,开放API,可以即时支持全球分布,处理数百TB海量数据,以及数以千万用户的挑战的时候,在寻找新的解决办法。这些创新尤其在今天***的系统上得到验证,其运行面对独特的挑战:规模,性能,或者特性设置。这些软件的进步,跨过日常软件,企业系统,到互联网应用,新的移动设备和新兴的社会化网络应用。
应用架构的支柱类似关系型数据库模型,单块运行时run-times,和确定的行为,已经被非关系型系统,云计算,和新的以拉式为基础的pull-based 系统所挑战,一致性和数据完整性的重要性有时让位于正常运行时间和效率。
让我们不要忘记web 2.0方法,和在线应用和企业架构的设计模式已经越来越稳定。社会化架构,群众外包crowdsourcing,开放供应链open supply chains 已经在***的软件系统众成为规范,速度比预期快的多。
另外,SaaS的迅速发展,超越了传统商业应用的领域,大幅度进入云计算领域;移动网络的普及,无线技术的发展,虚拟化和便携能力的增强,让存储和应用发生了巨大的变化。Web 2.0网络提供的工具和协作性也将进入主流的企业应用,提供富有创意的沟通交互方式。
下面是2009年10个必须知道的软件架构主题列表:
1。云计算:这个概念目前非常火爆,但是概念不是那么清楚,涉及面从常规的主机到平台作为服务Platform-as-a-service (PaaS)。我在DZNET上详细定义了云计算,并对厂商进行了分类,云计算就是下一代的操作系统之战!
2。非关系型数据库:Tony Bain写一篇文章“关系型数据库已死?”虽然得出这个结论可能为时过早,但是很多数据库应用一开始更改使用非关系型数据库,尤其是文本的资源为中心的存储需求。新数据库,比如:CouchDB,Amazon SimpleDB,Drizzle(来自MySQL),Mongo,以及Scalaris 现在越来越成熟。
3。下一代分布式计算:JavaEye新闻以前曾报道过“Yahoo! 启动了世界上***的Hadoop生产应用”,分布式计算能够处理大量的超乎想象的数据能力。同时商业软件GridGain 和开源的 Disco 也在分布式运算领域发展强劲。
4。Web-Oriented Architecture (WOA):REST架构应用更加广泛,在此基础上包括数据代表,安全,完整,组合和分布,这样的应用更加自然,富有效率的建设基于互联网的应用。
5。Mashups:mashup是糅合,是当今网络上新出现的一种网络现象,将两种以上使用公共或者私有数据库的web应用,加在一起,形成一个整合应用。一般使用源应用的api接口,或者是一些rss输出(含atom)作为内容源,合并的web应用。Mashup概念已经融入SOA,为企业架构带来价值。我认为Mashup是下一个最主要的新应用开发模式.
6。Open Supply Chains via APIs:有越来越多的企业开始开放API,将填平传统IT应用和互联网应用之间的鸿沟。通过提供API开放供应链系统。
7。动态语言:动态语言类似Javascript, Perl, Erlang,以及动态语言框架Rails,CakePHP,Grails等都发展非常迅速。
8。Social computing:通过社会化开发的软件比非社会化开发的软件更加优秀,比如很多开源项目,Wiki等。
9:群众外包crowdsourcing 和 平行生产架构 peer production architectures:很适合部署到互联网的业务模式,通过互联网聚合群体的智慧和力量。
10。新的应用模式:随着Facebook和下一代移动应用的出现,widget流行,软件原子化趋势预示者微型应用的时代必将到来。不同的微型应用将嵌入到其他应用中,能够快速平行扩展。
【编辑推荐】