没有合适的资源?快使用搜索试试~ 我知道了~
首页提升企业应用架构设计:.NET高级架构师实战指南
提升企业应用架构设计:.NET高级架构师实战指南
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 192 浏览量
更新于2024-07-20
3
收藏 808KB PDF 举报
"《系统架构师(高级)学习资料》提供了深入理解企业级.NET应用系统架构构建的关键见解。首先,架构被定义为一个系统的基础组织,它涵盖了组件、组件间的交互、与环境的关系以及设计原则。它是软件产品的核心骨架,确保组件能够有效地发挥功能。 在需求和技术与架构的关系中,架构不仅包含了软件的需求,包括功能性需求,更着重于整体性和非功能性需求,如性能、安全性和稳健性等。在软件开发过程中,架构处于需求分析和具体实现之间,起着承前启后的关键作用,它决定了软件的规模、技术选择和开发方法。 架构设计必须明确目标,符合实际需求,既要保持系统的易用性和易维护性,又要兼顾可扩展性和灵活性,这是一个平衡的艺术。安全性是架构设计中的重要因素,要求在早期阶段充分考虑软件的安全性能,以防止后期出现问题。稳健性也是架构设计的核心要素,涉及应用程序的可靠性、稳定性以及对异常情况的处理能力。 作为软件设计的一部分,架构不仅影响软件本身的实现成本,还包括测试、部署和维护的费用。因此,对于系统架构师来说,合理规划和配置资源,制定出满足企业需求的架构方案,是提高项目效率和质量的关键。通过深入理解这些原则和实践,高级系统架构师能够更好地应对复杂的企业级应用开发挑战。"
资源详情
资源推荐
而实现平台的统一运营支撑系统与客户的一些使用习惯相关,与相关业务相关,正是因为个
性化的原因,一般运营商会根据要求进行一些定制,采用一些开放式的架构,可以方便地进
行相关模块的定制,满足各种个性化的要求。
4IPTV 系统功能结构
前面介绍过。IPYV 系统按照功能结构可以分为媒体平台层、服务支撑层、运营支撑层
和终端层。但实际上,系统的分层结构根据对业务模型的构建的不同和实现方式的不同,会
有所不同,平台之间的功能只有模糊的差异,并没有清晰的界限,比如说,内容编码服务器
到底属于媒体平台层还是服务支持层,就存在分歧:而网络管理系统属于运营支撑层还是属
于服务支持层,也会有不同的声音。明确地界定这些层所包含的设备,依赖于系统架构工程
师,并和系统的相关业务流程息息相关,在这里只做了一些共性的探讨。
图 2 是一种实现方案的结构,大家可以对整个 IPTV 系统有个大致的了解。在后面则将
分别介绍各层的一些详细内容。
( 1 )媒体平台层
媒体平台层一般主要由一些和媒体相关的服务器组成。就目前提供的相关服务,主要包
括媒体存储和分发的媒体工作站(有些厂家也称之为流媒体服务器),媒体编码加密和导人的
内容工作站。考虑到今后的业务扩展,还会增加更多的内容,比如说如果增加网络可视电话
业务,必然还要增加相关的服务器来负责可视电话业务的媒体流处理;如果增加网络游戏服
务,还需要相关的游戏服务器来处理相关事务。
(2) 服务支持层
服务支持层。也称作在线业务支持层,一般可以采用分布式结构位于中心机房和城域网
机房。其主要的任务是对 IPTV 相关服务进行控制:一方面是保证合法用户可以通过正常的
渠道得到相关的服务,对用户进行认证和授权;另一方面,通过认证和授权措施来防止非法
用户接人系统。一般来说,服务支持层包括所有的和媒体服务相关的一些服务器,主要包括
DRM 系统(包括许可服务器和其他的对密钥进行引用和控制的组件)、客 户 自 服 务 服 务 器 、网
络管理服务器、媒体引人系统的一些 内容编码服务器、认证服务器、EPG 服务器等。DRM
系统主要用于流媒体的数字版权管理,许可服务器主要用于 License 的分发,认证服务器主
要用于用户 的业务接人认证。其他的服务器都是为用户的媒体服务提供在线的支持。
(3)运营支撑层
运营支撑层,也称作后台服务支持层,一般位于用户的数据中心和网络管理中心。它是
为业务运营和网络管理服务的,是运营商的业务管理和控制的核心平台,要适应不同的运营
模式和管理风格,通常情况下要考虑更多的业务模型、管理模型等方面, 运营商一般还会
提出很多定制性的要求。一般主要包括客户管理、计费账务管理和媒体资产管理这几个相对
独立的模块。一般来说,这三部分都是 OSS 的功能模块。OSS 是一个为运营商进行节目管理、
工作流管理、用户管理、计费及账务、用户自助服务的可伸缩、可扩展的业务支撑平台。同
时,它提供各种后台解决方案,如用户管理、业务管理、资费政策管理、销账处理、营收管
理、结算分摊、数据分析等功能。
(4)终端层
EPG 的客户端软件、解码设备(支持 MPEG 一 1/2/4、WMV、REAL、H.264 等格式)、
媒体播放器与系统中的服务器进行交互从而控制媒体服务的进程,并且通过 STB 将媒体流数
据转换为 Tv 终端支持的视频信号。未来还将包括 3G 手机等终端。终端层是整个系统用于和
用户交互的平台,也是呈现在用户侧的惟一设备,其设计除了考虑技术层面,还要考虑很多
因素,比如经济性、 美观性等。终端层的主要设备一般是机顶盒。当然,如果是 PC 用户,
只需要一套支持解码和播放技术的软件就可以了,可以认为它是一个软件机顶盒。
5 结语
IPTV 系统是构建在现有互联网上的业务系统,它必须适应现有的 IP 网络构建,这样才
能保证系统的可靠性和稳定性。一般来说,IPTV 的网络是一个分层的网络结构,分为骨干
网层、城域网层和接人网层,IPTV 系统的部署一般也和这种分层结构相吻合。
(1)数据中心位于骨干层,部署相应的 OSS 和网管系统,同时些内容编码服务器、中
心媒体服务器以及相应的服务支持层功能实体可以集中部署在这里。如果网络规模大,也可
以将部分组件分布式部署延伸到城域网。
(2)分布式的媒体工作站可以位于城域网层或者接人网层,取决于网络的规模,初期
可以位于城域网,后期可以在城域网和接人网分层部署。
(3)终端设备位于接人网中。这样的结构可以有效利用现有的各种网络资源,加快部
署的速度,保证低成本地部署系统的同时还可以确保系统的可扩展性。
IPTV 系统是一种基于宽带网络的新型增值业务平台,伴随着互联网技术的发展,必然
会不断发展,虽然其逻辑结构不会发生大的改变,除非互联网的架构发生大的改变,但逻辑
架构下的功能模块必然会随着业务的发展而改变,适应用户需求的功能会不断被开发出来,
IPTV 业务也将在不断的业务创新中不断发展,在个性化的家庭娱乐中占据一席之地.为用
户打造一个全新的娱乐甚至商务平台。
ObjectRDBMSMapping
原理简介
!
介绍
从微软开始推出.Net Framework 来对抗 Java 开始,其主要卖点之一就是 C#是一个可以
快速的进行 RAD 开发,它可以使用数据感知组件 DataSet,OleDbConnection 等组件来非常
快速的开发数据库应用。通常来说,只要在界面上摆放一些数据感知组件如 DataGrod,设
定同数据源的连接,以及对应的表和字段,一个简单的程序就搞定了。RAD 的数据库开发方
式非常适合于简单的数据库应用程序开发,比如桌面型数据库应用,以及 Client/Server 应用
的原型开发。但是对于复杂的应用程序来说,使用 RAD 方式开发会产生很多的问题。
首先,使用 RAD 和数据感知组件,就意味数据表现层同数据库表的紧偶合,每使用一
个数据感知组件,都 相 当 于 将 数 据 的 显 示 视 图 偶 合 到 了 数 据 库 的 某 个 表 或 者 某 个 字 段 上 ,这
样构建的系统的扩展和维护的能力都非常不好。
任何对数据模型的改变都会导致对所有绑定到改动的表或字段的数据感知组件的修改,
而从数据集中读取数据,通常是根据字段名来获取字段的对象的值,如
DataReader["Spell"].ToString(),该方法是以字符串来获得数据集中的字段值,这时编译器是
无法帮助我们发现这种组件的绑定是否全部被修正了,即便使用的字段名称错误了,编译器
仍然会认为代码没有错误,这样需要改变的组件同库表之间的绑定很难被全部发现,经常会
有所遗漏,而由改动引起的错误通常只能是在运行时才能被发现,这就意味着要花更多的时
间才能发现错误。而且如果测试时,错误的代码没有被测试所覆盖的话,则错误可能要到客
户使用时才会被发现,这时造成的后果可能已经无法挽回了。
而使用面向对象的数据库开发框架的话,对业务域对象的操作都是通过对象的属性或者
方法来进行的,如 AObj.XXX 方法,对对象属性名称或者方法进行了改变的话,编译器会帮
助我们找到所有对该对象的不正确的操作,这意味着可以更早地发现和解决 bug。
同时,使用数据感知组件,意味着同数据库的特有特性的紧偶合,比如为了减少代码量
和提高效率,经常需要使用一些数据库平台相关的特殊 sql,或 者 将 一 些 复 杂 的 sql 写成平台
相关的存储过程。
另外,使用基于数据集开发的系统象基于面向对象开发的系统那样直观和容易理解。
面向对象的数据库开发框架
近年来, 越来越多的人认识到使用面向对象的数据库开发框架来进行大型数据库应用
的开发有着很多的好处。在项目设计阶段,使用 UML 建模语言设计业务域对象模型,从模
型出发,定义业务域对象,然后使用标准的美观的组件对业务域对象进行操作,设计某些方
法将业务域对象保存到数据库,或者从数据库加载,这就是通常所说的 OR Mapping,对象
-关系映射问题。
同 RAD 开发方式相比,面向对象的开发方式比较适合信息模型比较复杂的大型系统,
同时面向对象的数据库开发框架可以很容易的实现 Lazy load 的延迟加载技术, 因此会产生
更少的网络信息 round trip,提供较好的性能。另外,框架一般都提供数据库平台无关性的
支持,适合于对移植性有较高要求的开发。此外,可以将 GUI 同数据库解偶合,更容易扩展
和维护。不过缺点是对程序员的素质要求的更高。
一般的面向对象数据库开发框架的要求:
对象持续性:框架必须能够以对象的方式存取数据,能存取复杂对象,如复合对象,支
持对象之间的关联,比如继承,聚合,关联。
支持对象查询:框架应该提供一种方式可以根据条件查询复合对象以及对象集合。支持
标准的对象查询语言,如 Object Constraint Language (OCL) 或者 Object Query Language(OQL)。
支持对象主键:大家都知道在关系型数据库中,主键可以用来唯一标识一条数据记录。
面向对象的框架中也应该有一个对象主键来唯一标识一个对象。
支持事务:创建还必须支持事务,一个交易必须是原子级别的,或者完全成功,或者完
全失败,支持类似于数据库的提交和回滚操作。交易结果要求是一致的、独立于其它交易。
支持 XML:随着 XML 这种元数据语言的越来越广泛的应用,框架必须能从 XML 文件中存
取对象。
性能能够被优化: 如果面向对象框架默认产生的操作性能不高的话, 应该允许用户优
化性能。
应该支持多种应用:应该即支持桌面型应用开发,也能支持 C/S 和多层数据库开发以及
Web 开发。
应该是数据库及数据存取 API 无关的:可以随时切换开发及数据库发布平台。
应该是兼容现有的数据感知组件的:这样在使用面向对象开发框架改动已有系统时,可
以保证平滑的移植。
SOA
开放标准大观园
——
架构的导航
!
鉴于 SOA 近几年在如此大的程度上影响了业界的思想,关于 CORBA、企业级 Java 与
Web 服务等其它技术标准如此之少的确让人震惊。当然有着各种各样的 WS-*标准和规范,
许多人将其与 SOA 关联起来,但说到那些刻意的实现无关的标准,OASIS SOA 参考模型一枝
独秀却已经很久了。今年早些时候 OMG 发布了 SOA 建模语言,The Open Group 宣告了 SOA
工作组的成立,同时还发布了 SOA 资料卷。
在过去的几个月中,来自这些组织的所有成员联合其它力量一直在努力地调和各组织的
成果,现在发布了一个新的白皮书,名为 SOA 开放标准大观园——架构的导航。(在它们的
站点上都可以获取)。如这本白皮书所表述的那样:
这一联合白皮书对于 SOA 参考模型、本体、参考架构、成熟度模型、建模语言以及治
理相关的等等标准都进行了解释,并将它们置于了整个拼图中合理的位置。它勾勒出了哪些
工作是相近的,强调了每个工作主体的优势所在,并涉及了如何将这些工作以一种互补的方
式结合起来。它同时还可以作为这些规范的用户在选择最合适他们需求的技术产品时的参考
手册,与他们现在的实际情况以及他们所计划的发展 SOA 过程相一致。
这一白皮书所检验的规范及成果包括了 OASIS 的 SOA 参考模型、OASIS SOA 基础参考架
构、OMG 的 SoaML 规范、Open Group SOA 本体论、Open Group 的 SOA 参考架构、Open Group
SOA 治理框架以及 Open Group 服务集成成熟度模型。
这对 SOA 资料库来说又是一个很好的补充。这一白皮书刻意地技术无关化了,回避了
SOA 的各种参考实现方案,比如 Web 服务或者 JBI。一方面来说这可以看作是一个很好的想
法,将供应商的吹捧保持在整体之外,潜在地增加了这一白皮书的生命周期。但从另一方面
讲,可能会有这样那样的问题,询问这个白皮书从实践的角度到底作出了怎样的报道。
根据这一白皮书的陈述,现有的标准可以被归纳到如下的几类组别当中:
参考模型——一个抽象的框架,用于理解在一定环境中各个实体之间的重要关系。白皮
书摘录了 OASIS SOA 参考模型,它抓住了 SOA 了的“本质”,以 及 为 SOA 提供了词汇和通用的
理解。这一参考模型的目标包括了一个公共的概念框架,可在不同的 SOA 实现之间得以一
致性的使用;以及公共的语义,它可以被用于无岐义的建模特定的 SOA 解决方案,统一概
念以解释和支持一个作为特定 SOA 支持的一般性设计模板,以及用于所有的 SOA 的定义。
参考架构——可以在不同的抽象层次被定义,从基础架构到公共系统架构,以及业务或
组织特定的架构。在这一类别有几种可用的技术产品。OASIS SOA 基础参考架构提供了
一个基于视图的抽象参考架构基础,从生态系统/范型的角度对 SOA 进行建模。它明确
说明了三个观点;具体来讲就是,服务生态系统的观点,实现 SOA 的观点,以及拥有 SOA
剩余76页未读,继续阅读
安全方案
- 粉丝: 2179
- 资源: 3883
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端面试必问:真实项目经验大揭秘
- 永磁同步电机二阶自抗扰神经网络控制技术与实践
- 基于HAL库的LoRa通讯与SHT30温湿度测量项目
- avaWeb-mast推荐系统开发实战指南
- 慧鱼SolidWorks零件模型库:设计与创新的强大工具
- MATLAB实现稀疏傅里叶变换(SFFT)代码及测试
- ChatGPT联网模式亮相,体验智能压缩技术.zip
- 掌握进程保护的HOOK API技术
- 基于.Net的日用品网站开发:设计、实现与分析
- MyBatis-Spring 1.3.2版本下载指南
- 开源全能媒体播放器:小戴媒体播放器2 5.1-3
- 华为eNSP参考文档:DHCP与VRP操作指南
- SpringMyBatis实现疫苗接种预约系统
- VHDL实现倒车雷达系统源码免费提供
- 掌握软件测评师考试要点:历年真题解析
- 轻松下载微信视频号内容的新工具介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功