- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
架构设计包含哪些内容
架构师和架构设计
曾经有句调侃的话“⼗个⼈九个是经理,还有⼀个是副经理”形容头衔的泛滥,⽽今更进⼀步经理升级为“总”了。与此类似,在IT技术圈
架构师也越来越多了。包括各种级别的,⾼级,资深,⾸席。也可以看到做着各种不同范围⼯作的架构师,有的只写PPT的,有的还要编
码,写测试⽤例,给⽼外维护⽼旧产品的架构师,兼着项⽬经理的架构师。⼀次以前同事的聚会,⼀堆IT⽼男⼈还是饶有兴趣地讨论⼀些技
术问题,⾃然免不了提到架构⼀词。席间⼀位发问,架构设计具体包含哪些⼯作?呵呵,⼤家之前没有正式思考整理过,也没即席得到⼀
个全⾯的答案。就在这整理⼀下,我现在的名⽚上也印着资深架构师,先要⾃⼰明⽩⾃⼰的⼯作。
架构设计包含⼏个⽅⾯。⼤家架构师⼯作范围彼此认知不⼀致,多半是因为事先没有界定究竟是哪个⽅向的架构。⼀般来说分四类业务架
构,应⽤架构,数据架构,基础架构。以下⼀⼀描述。
1.业务架构。主要的⼯作是梳理业务需求,确定业务活动流程。其中⼀个重点是确定业务流程涉及的职能部门或者⼯作⼈员⾓⾊。每个职
能部门或者⼈员的⾓⾊职责,和哪些业务活动节点相关。职能部门和相关⼈员的组织结构,上下级关系,或者在业务活动中的交互关系等。
整理业务活动流程中流转的数据信息。将众多的业务活动流程划分为若⼲个业务系统,包括抽取出每个业务系统中共同的业务流程,构建出
新的业务系统,为其他业务系统提供⽀撑。确定在各个业务系统之间交互的数据信息。业务架构设计是业务⼈员的⼯作,但IT⼈员也需要很
细致深⼊地了解。
2.应⽤架构。有了业务架构分析结果,就要考虑怎么样构建应⽤系统来实现这些业务需求。应若⼲个业务系统,⾃然会有多个应⽤系统。
应⽤系统和业务系统可以是⼀⼀应的,具备相同的边界,也可以不应。⼀般为了复⽤,功能集中的要求,会设计很多细粒度的应⽤系
统。另外也会有⼀些新的应技术层⾯需求的应⽤系统,⽐如监控系统,集成总线,前置系统等等。要定义这些应⽤系统的接⼝和调⽤接⼝
的规范,确定各个应⽤系统相互交互的内容和过程。接⼝的设计包括⼈机接⼝的设计,要规定应⽤使⽤⼈员的不同⾓⾊和不同权责。
于⼀个应⽤系统,要设计由多少个应⽤程序,或者客户端API库组成。每部分各⾃实现什么功能,分布在多少个节点上,彼此怎么交互。
每个程序的层次结构,线程驱动的应⽤逻辑流程。还要选定实现应⽤系统的技术⼿段。以前都是代码实现,运⾏在操作系统上,所以需要选
择使⽤什么编程语⾔实现,运⾏在什么操作系统上;之后越来越多的技术层⾯的需求被归纳抽取实现为中间件作为应⽤的开发和运⾏平台,
为开发应⽤系统节省了时间,提供了基础功能⽀持,提供了新的应⽤逻辑实现⼿段。消息中间件提供分布式环境下应⽤的异步消息交互功
能;交易中间件实现分布式事务;集成中间件提供不同数据协议和接⼝技术之间的转换;流程编排⼯具可以让开发者不⽤编写程序,⽽是⽤
图形化编排流程的⽅式实现审批⼯作流或者⾃动流程;规则引擎帮助应⽤来做规则判断和推理等等。
使⽤中间件平台开发的应⽤程序可以有两种运⾏⽅式。⼀是作为独⽴的程序运⾏,⾃⼰还是需要编写main函数,只是调⽤了中间件的功
能;另⼀种是程序实现为⼀组组件运⾏在中间件平台的容器⾥,程序本⾝不⽤编写main函数。应⽤服务器上的EJB组件,ESB上的服务都属
于第⼆类。这种中间件平台容器提供应⽤的部署管理,监控,以及其他多种功能,使得应⽤开发⽐较⽅便快捷,但也付出了放弃⾃由独⽴的
代价。
完成应⽤系统功能的设计,还要考虑应⽤系统的性能,负载能⼒,如何⽅便地做处理能⼒的扩展。确定应⽤的部署⽅案,HA或者是负载均
衡模式的。性能,负载处理能⼒经常会成为应⽤系统运⾏中的问题,应⽤系统为了满⾜性能和扩展性需求,往往要做很多不规范的设计实
现。这些设计实现经常会打破应⽤系统本来的架构和层次,让程序变得⾯⽬全⾮,这是系统运⾏多年后常见的⽆奈状况。好消息是随着虚拟
化技术的发展,我们可以在所谓的云平台上开发应⽤⽽不必关注扩展性等问题。虚拟⽽容量⽆限的计算资源,操作系统,存储系统,缓存使
得我们的分布式应⽤系统彷佛变成在⼀台超级计算机上的⼀个超级应⽤程序。⽆论负载处理要求怎么提⾼,应⽤程序本⾝不需要做什么修
改,甚⾄不⽤重新部署启动,应⽤下⾯的虚拟平台提供了应负载处理能⼒扩展的计算,存储和内存的扩展。当然这是最理想的模式,⽬前
⾰命还未成功。
在这⾥需要提⼀下,应⽤系统的管理和监控。每个应⽤程序需要有管理监控的接⼝,每个应⽤系统都要实现管理和监控功能。监控的重要性
不
文档评论(0)