您的位置:首页 > 运维架构 > 网站架构

物理架构的设计 推荐

2009-02-04 15:13 281 查看

1.1.1 物理架构的设计

物理架构是部署和运行层次的架构。在有了逻辑架构后可以开始实现SOA系统,对于一个实现好的SOA系统需要将其部署到实际环境中运行,这时就需要一个物理架构。
在理论上进行SOA实现过程中只需要考虑逻辑架构和逻辑实现即可,但大部分情况下还是需要考虑实际物理部署的,这时就需要物理架构作为解决问题的基础。物理架构主要支撑服务的实际运行,和运行管理工作。
在设计物理架构时,需要考虑实际运行环境,需要考虑逻辑架构与物理架构之间的映射。
物理架构需要考虑整个系统中有多少独立的运行节点,有多少已有的业务系统以及需要建立的新的业务系统,需要考虑这些已有或新的业务系统都在哪些节点上运行。其次需要考虑业务系统之间如何进行通讯,以及将业务系统之间的通讯转换到节点之间的通讯。
在业务流程实现时需要考虑是否需要BPM系统,需要多少个。一般一个BPM系统有一个独立的服务器引擎,在服务器引擎上可以运行多个业务流程。在现有技术条件下,一般一个业务流程的执行都在一个服务器引擎上运行,如果需要跨多个服务器引擎,则需将某一流程定义为一个子流程,同时封装为一个服务,供另一个业务流程使用。
在物理架构中需要考虑是否有一个独立的服务注册中心,需要确定服务注册中心与运行节点之间是联机的还是脱机的。
在物理架构中也需要考虑如何对运行环境,SOA基础设施,以及各种服务进行管理,是提供集中管理,还是需要一定的分布管理能力。

示例,在人力资源业务系统中物理架构
本示例采用集中的物理架构,如下图所示:


在物理架构中包含3台服务器
独立的邮件服务器
人力资源服务器,存放人力资源的所有文件
共用的服务器,上面运行系统包括:
作为基础设施的服务总线ESB产品,
应用服务器(J2EE),已有公司内部信息网站,用于信息发布;同时新实现的工资发放和午餐补助发放的操作界面也将在此应用服务器上运行
为了连接邮件服务器,其上面需要部署邮件服务器适配器
为了保证人力资源文件的安全性,防止非法访问,存储于人力资源内部服务器上。在该服务器上需要安装TEXT文件和EXCEL文件适配器。

1.1.2 技术的选择

在确定逻辑体系架构和物理架构后,还需要确定在项目实施中准备采用的SOA实现技术和准备采用的技术标准。
SOA是一个思想,它并不限定SOA应用的实现技术,所以在具体实现项目时就需要根据实际项目情况,根据技术人员的能力,根据时间要求,根据技术的成熟度综合来选择所准备采用的技术和方法。
从大的技术体系上SOA应用实现可以采用传统技术,也可以采用Web Services技术,对于传统技术来说,它成熟,在效率、可靠性和易用性等方面都有比较明显的优势,但其标准化程度较低;对于WebServices技术来说,一开始就强调标准,并且有一些列标准加以支持和规范,但标准本身还不完善在发展过程中,所以导致实现技术也不够成熟,处于发展和完善阶段中。所以具体采用哪些技术需要根据实际需要来确定,如果在组织内部使用,对效率、可靠性和易用性等方面有较高要求时可以重点考虑传统技术;如果对互操作性,对标准要求更高,主要应用于组织之间,则需要着重考虑WebServices技术。
实现技术第二个方面是考虑业务流程实现是否需要使用BPM系统,还是通过服务组装技术,将若干服务通过编码方式进行组合应用。BPM方式一般应用于实时性要求不高的业务流程处理,一个业务活动完成转下一个业务活动,按顺序执行,这种运行模式对时间要求不是很好,一个任务活动的完成可以是几个小时,甚至是几天,或更长时间;而组装方式比较灵活,可以支持同步交互模式,也可以支持异步交互模式,更加适用于编程模式,对于需要连续加以运行处理的业务过程,则可以通过服务组装方式加以实现。
实现技术第三个方面需要考虑服务如何实现,是利用已有IT系统,通过服务化封装实现,还是重新实现。对已有系统进行服务化封装时不一定要封装成WebSerivces,如果新实现则可以采用多种编程语言来实现。服务实现还可以采用上面提到的服务组装和服务流程方式加以实现。对于服务来说服务描述是最重要的部分,服务强调接口,明确使用合约,在合约接口基础上,具体如何实现一个服务可以根据实际需要,如果服务实现改变,其实并不会改变服务之间的交互模式,不会改变整体业务的运行。一个新的服务实现可采用技术包括WebSerivces、EJB、C/C++、Java类,BPEL,甚至采用Spring和PHP等技术。

示例,在人力资源业务系统中采用技术和标准
本示例中采用技术和标准如下:
选用J2EE技术架构
服务实现采用JAVA类,和适配器封装已有系统(邮件系统和信息发布系统)
服务使用采用组装技术
暂时不采用WebServices技术

1.1.3 基础设施的建设

在确定技术架构和采用技术后,就需要进行基础设施的建设,可以采用自建方式,也可以采用购买产品方式。
一般需要首先获得开发工具,需要建立开发环境,然后可以逐步建立运行环境。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 SOA 休闲 中间件