一些大的变化是:传统的霸权的第3和第4层应用模型 ,重量级的运行平台(集中式数据库计算模型),以及古典面向服务SOA的架构已经主宰了近十年,现在几乎被四分五裂了一系列新办法的设计和架构应用。
这些听起来似乎很轻率的话,但确实在悄悄发生,架构师正在寻找新的解决办法,因为他们在新的领域中遇到了新的挑战。
因此,这些新的方式可以解决现行做法的缺点或添加新的功能, 例如一些例子包括建立可重复使用的平台的应用,OpenAPI开放API的故事,或符合成本效益的创建架构,可以即时支持全球分销,数百TB的数据,以及数以千万计的用户。
这些创新的特点是因为当前超大的系统正在构建(遭遇到由于规模scale,性能performance或功能集 feature set等引起的独特特点) ,软件的进步,也宽范围地跨越从日常的软件企业系统及互联网应用新移动设备,如新兴空间的社会化网络应用。
主流结构的应用,如关系型数据库模型,集中独占式计算运行方式,甚至是一些已经确定成熟多年的软件技术也正在受到挑战:非关系数据系统non-relational systems , 云计算cloud computing ,新的拉动为基础 pull-based的系统的一致性和数据的完整性,甚至是大型支持系统的运行和性能设计。
我们也不要忘记,Web 2.0带来的方法和设计模式也是越来越广泛地在在线系统和企业架构上的应用。 Social architectures,
crowdsourcing, 和open supply chains正在成为规范,这些最新的软件系统的发展速度比预期快得多
不幸的是,有关这些专门知识以及如何有效地使用设计在架构上还是不很丰富。
掌握的最新情况,并探讨这些新出现的问题........
这里列出的最重要的新领域,软件架构师应该精通并期待在2009年:
10个软件架构师在2009年必须知道话题:
1. 云计算Cloud Computing。.......
2. 无关系型数据库Non-relational databases。托尼贝恩Tony Bain 在readwriteweb.com问:Is The Relational Database Doomed?关系数据库注定要死了吗?,虽然到目前为止还为时过早宣布关系数据库消亡,但是有大量的有希望的替代品出现。为什么要摆脱传统的关系型数据库?
某些应用程序的设计可以大大受益于优势资源的文件或为中心的存储方法。
使用非关系型数据库性能将高的很多;关系数据库有非常惊人的低天花板,即使伴随集群和网格计算。 不但存在对象数据库阻抗
,不仅产生更多的开销,而且还同一时间在服务请求中对付高并发请求存在性能瓶颈,非关系数据库的解决方案包括CouchDB ,开始看到越来越多的产品,Amazon SimpleDB, Drizzle (from
the MySql folks), Mongo, 和Scalaris.。
虽然许多应用程序将继续相处得很好的关系数据库和对象关系映射,它们还是不断地需要他们。
3.新一代分布式计算Next-generation distributed computing。一个出色的故事今天在纽约时报关于Hadoop提供了一个良好的背景下,关于这个问题:新的分布式计算模式正走出实验室,并成为不可或缺的选择,可以连接计算处理以前无法想象的大量的数据。
而传统的请求响应模式,网络的主体为导向的计算是重要的,所以越来越多的有效的方法来处理大量的数据,现在常见的现代软件系统。 视频采访雅虎的Mark
Risher 和Jay Pujara ,讨论Hadoop如何使他们能够通过数十亿片的邮件隔离模式 ,
并确定垃圾邮件发送者。他们现在能够创建新的查询 , 并在几分钟内得到结果,得到问题的发生时间或被认为是以前不可能的做到的结果。虽然Hadoop已经相当大的势头,其他类似的产品包括商业 GridGain 和open source Disco 。
4.面向
Web的架构( WOA ) 。 我已经讨论了面向Web的体系结构好几年,总之,前提是,RESTful
是一种更自然,生产,和有效的方式,建立日益开放和联邦网络为基础的应用。
该WOA的辩论已经持续了一段时间,因为它已经成为一个热门话题,但去年最大的网络世界已经投票赞成WOA的方式,网络正在变大;
WOA为基础的应用程序更好地跟随这种方式。
在我看来,这是一个更好的方法来建立面向服务的架构,几乎所有要求,从而导致更多的柔软和弹性的软件,是那么困难和昂贵的建设和维护。
为企业考虑转向WOA ,这里是很好地概括我做了简短而回的问题和演变的SOA 。
5.混合集成Mashups。David Linthicum不知道今天在信息世界的Mashups已经澄清,他相信他们已成为不可分割的SOA和提供有价值的企业架构。 Mashup Patterns是一个很好的开始,可以研究它们如何影响软件体系结构。混合集成mashups是提供一个快速投资回报,使用一些比如AJAX 基本浏览器技术工具和重用Web服务和Web组件比如RSS等。
6.Open Supply Chains via APIs 开放API 。,其中越来越多的证据表明它是一个非常强大的模型,跨组织的SOA ,所以我已经开始称他们为“ 开放的供应链 。 ” 开拓您的业务的可扩展性,成本效益的方式,作为一个平台,为合作伙伴建立的是一个在21世纪最强大的商业模式。 ..... 因为越来越多的组织开放。 我最近提“国家联盟”的开放API 。
7.
动态语言。虽然动态语言已经在网络上流行了,最早的是Javascript和Perl,这只是最近,它已经成为可以接受的发展“真正的”软件。
.NET和Java的仍然极为引人注目(共同)平台,但它的动态语言,如Ruby, Python, PHP, 和 Erlang动态语言越来越受欢迎 。
这是为什么呢? 正如我探讨了详细比较了一段时间后,权衡在运行时性能一般被发现,凭借动态语言可以完成一个大的生产力提高。....越来越多框架如
Rails, CakePHP, 和 Grails
是建立在动态语言上,他们带来了最新的最佳实践和设计模式,现在动态语言正在开始阶段,会有很大比例的新项目。 软件架构师应该对此做好准备。
8.
社会计算Social computing。开发人员和软件架构师往往不适应社会计算方面的软件系统,但是Reed's
Law已明确表明,社会制度的价值通常远远高于非社会制度。
或者你可以只看了许多流行的应用程序存在的主要驱动力的社会行为以及由此形成的(往往巨大)价值的参与造成的。 例如YouTube的脸谱,
Twitter的,或数以千计的其他社会应用(企业和消费者都) ,教训是很清楚的:社会结构是一个重要的新的应用层协议栈......。
9.
端到端的计算结构Crowdsourcing and peer production
architectures。强大的开放的商业模式已经开始改变我们运行我们的企业和研究机构。
开始是开放源码软件,并已转移到媒体和现在蚕食各种行业。 这是利用群体智慧....。 只要看看亚马逊的Mechanical Turk
或CrowdSound ,认为后者是一个widget 工具,允许甚至最终用户的动态包括crowdsourcing到他们自己的应用。 .....
10.
新的应用模式New Application Models。语义Web(Semantic Web
)似乎再次上升,和我已经涵盖平台作为服务和混合集成,除了这些我们看到了全新的应用模式中出现大规模网络上。
无论是Facebook的应用,下一代移动应用服务( iPhone的机器人, RIM公司等) ,
OpenSocial还是日益流行的工具和设备,这一趋势在雾化软件(这是做也许仍然是最好和最有效迄今还在Unix
),但是这提醒我们,我们仍然有新的发现在我们面前。 虽然这些看似琐碎,....,对下一代内部网和门户网站以及在线“桌面”
,微型应用程序都不得不与scale伸缩性和安全做斗争,而其他嵌入应用程序中越来越飞速发展。
需要知道他们是如何工作的,为什么他们这么受欢迎(有几万对数以万计的Facebook和OpenSocial应用)
,并了解他们如何可提供真正的实用价值。
09年必须关注的10大软件架构主题
精选 转载在过去一年左右的时间里,在相当平静,企业的软件架构变得相当令人振奋的一次。 我们终于看到新出现的一些课题已经融入主流,并潜在地改变了游戏规则,一些创新,本来徘徊在边缘的技术也开始进行颠覆式革命。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
2023年开发人员必须知道的10大代码网站!
2023年开发人员必须知道的10大代码网站
开发人员 CSS HTML -
09年最受关注的十大Visual Studio插件
.
Visual vim 开发者 -
【七大软件架构设计原则详解】
设计原则一句话归纳目的开闭原则对扩展开放,对修改关闭降低维护带来的新风险依赖倒置原则高层不应该依赖底层更利于代码结
java 数据库 前端 ide ci -
10大软件替代微软产品
正 如你们当中许多人所知道的那样,对于很多我们所常用的微软软件产品来说,其实这个世界上还存在着一系列对应的,完美的,通常也是更加优秀的替代产品。
搜索 应用程序 linux firefox windows操作系统