`
xiaotuTiger
  • 浏览: 1656 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

软件架构是在今年所要知道的10个重要话题

阅读更多
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应用) ,并了解他们如何可提供真正的实用价值。


------转载之jdon上的一篇文章
分享到:
评论
4 楼 yyc_it 2009-05-21  
好像现在到处都是什么SNS,联通也有SNS!!!
3 楼 一蓑烟雨任平生 2009-05-21  
思想真是深邃,闲的没事干啥不好。
2 楼 xiaotuTiger 2009-05-21  
关系数据库是系统的瓶颈,对象的管理超过了一切!
1 楼 RCFans 2009-05-21  
2. 无关系型数据库Non-relational databases。

这个挺新鲜,和空间数据库有没有交集啊?

相关推荐

    软件架构师应该知道的97件事.pdf

    软件架构师作为一个专业领域的高级职位,其核心职能...《软件架构师应该知道的97件事》这本书通过多位专家的经验分享,提供了一个关于如何成为优秀软件架构师的丰富知识库,对于提升软件架构师的专业能力具有重要价值。

    软件架构实践 第2版

    《软件架构实践 第2版》是一本深入探讨软件架构设计与实践的重要著作。软件架构是构建大型、复杂软件系统的基础,它定义了系统的组件、组件之间的关系以及指导系统开发和演进的原则。这本书的第二版提供了最新的理论...

    软件架构和架构师

    综上所述,软件架构师在现代软件开发中扮演着至关重要的角色。他们不仅是技术专家,更是项目的领导者和推动者。为了更好地发挥软件架构师的作用,企业和组织需要重视其培养和任用,同时也要建立一套完善的评估体系,...

    软件架构--软件架构讲义

    软件架构是软件开发过程中的核心组成部分,它定义了软件系统的高级结构、主要组件以及它们之间的关系,为系统设计提供了一个蓝图。本讲义将深入探讨软件架构的基本概念、重要性以及如何进行有效的架构设计。 首先,...

    软件架构师培训资料,软件架构师培训资料,软件架构师培训资料

    这份“软件架构师培训资料”涵盖了软件开发过程中的多个关键环节,旨在帮助学员全面掌握架构师所需的核心技能。 首先,我们来看“01_软件流程实施方案选择.pdf”。这一部分主要讲解如何在不同的项目环境中选择合适...

    软件架构设计说明书

    软件架构设计说明书是指在软件开发过程中,对软件系统的整体架构进行设计和描述的文档。该文档旨在为软件开发团队提供一个统一的架构蓝图,以指导软件的设计、开发和测试工作。软件架构设计说明书通常包括软件架构的...

    架构风格与基于网络的软件架构设计(中英文版)

    《架构风格与基于网络的软件架构设计》是网络软件领域的一部重要著作,作者通过深入研究,探讨了软件架构的设计原则和模式,特别是在Web环境下的应用。这本书的中英文版本都为读者提供了全面理解现代互联网软件架构...

    软件架构实践(第三版)林巴斯

    1. **软件架构的重要性**:介绍软件架构在现代软件开发中的地位和作用,强调其对于构建高质量软件系统的必要性。 2. **架构模式与原则**:讨论常见的软件架构模式及其应用,比如分层架构、微服务架构等,并介绍设计...

    架构实战——软件架构设计的过程

    在现代软件开发中,软件架构设计扮演着至关重要的角色。良好的架构设计能够确保软件系统的可扩展性、可维护性和性能等关键特性。《架构实战——软件架构设计的过程》一书深入探讨了软件架构设计的方法论和技术实践,...

    什么是软件架构

    软体设计师中有一些技术水平较高、经验较为丰富的人,他们需要承担软件系统的架构设计,也就是需要设计系统的元件如何划分、元件之间如何发生相互作用,以及系统中逻辑的、物理的、系统的重要决定的作出。在很多公司...

    软件架构师入门教程,成功架构你的软件

    作为软件开发领域的关键角色,软件架构师承担着设计和指导软件系统整体结构的重要职责。本教程旨在帮助初级软件工程师掌握软件架构的基础知识,逐步提升到架构师的水平。软件架构是软件开发过程中的核心环节,它决定...

    软件架构设计教程(非常好)

    《软件架构设计教程》是一本全面且深入的指导性书籍,专为那些希望在软件开发领域提升自己架构设计能力的人员而准备。该教程涵盖了软件架构设计的核心概念、原则、模式以及最佳实践,旨在帮助读者从宏观层面理解和...

    软件的架构与设计模式之什么是架构

    在软件开发中,架构设计至关重要,因为它影响着系统的稳定性和可扩展性,直接关乎项目的成功与否。 架构主要包含两个核心要素:架构元件(Architecture Component)和联结器(Connector)。架构元件是构成系统的...

    软件系统架构图_参考案例.pdf

    软件系统架构图是软件开发中一个非常重要的步骤,它对软件系统的设计和实现产生了深远的影响。在本文中,我们将通过一个共享平台架构图的介绍,来了解软件系统架构的设计思路和技术架构设计。 一、逻辑架构设计 ...

    软件架构师教程

    《软件架构师教程》是一份全面且深入的学习资源,旨在帮助程序员逐步成长为专业的软件架构师。这份教程涵盖了软件架构设计的...通过系统学习,程序员可以逐步掌握软件架构师所需的关键技能,从而在职业生涯中实现跃升。

    关于软件架构的一些书籍

    在IT行业中,软件架构是构建复杂系统的核心环节,它决定了软件设计的整体结构、组件划分以及它们之间的相互关系。本资源包含一系列与软件架构相关的电子书,对于深入理解这一主题至关重要。下面将对软件架构的基本...

    经典软件架构及设计模式

    在这个主题中,我们将详细剖析软件架构的重要性、基本元素,以及如何通过合理的设计模式来优化软件的结构和功能。 首先,软件架构是构建大型复杂系统的基础,它定义了系统的组织结构和组件之间的关系。一个良好的...

Global site tag (gtag.js) - Google Analytics