SOA路线图

      在开始任何一段伟大的旅程之前都应该制订一个目标,企业决定实现SOA时也不例外。与乘马车出发西行的拓荒者一样,前方等待的是什么以及如何到达目的地都是未知的。要取得成功,您必须评估自己的长处与缺点,确定明确的方向,选择一条路线,然后在沿此路线前行的过程中不断重新评估此路线。简而言之,您必须为您的旅程建立一份独有的路线图。

  何为SOA路线图?为什么需要SOA路线图?

  面向服务的架构是一种IT策略,它将企业应用程序中包含的分散功能组织为可互操作的基于标准的服务,这些服务可按照业务需求快速组合和重用。只有平衡了企业的长期目标与短期需求,SOA的益处才会显现出来。通过在开始采用SOA时就指定一组组织、资金、操作、设计和交付准则,就可保持这一平衡。但“大爆炸”式的方法是不可取的,应按照循序渐进的学习曲线,选择一种往复渐进的方式来部署架构更改,这非常重要。大体而言,SOA路线图就提供了这样一种往复渐进的方式,使您随着进展得出(重新得出)您的企业的独有规划。

  您的SOA路线图应包含3个关键特征:

  成熟:SOA路线图应该是不断融入经验和教训的“活动文档”。SOA路线图成熟时,您的SOA行动也就以一种可控的方式达到了一个更为精妙的级别。SOA路线图的创建应该从评估企业当前在SOA方面的能力和要求开始。此过程可使用 BEA的在线自我评估工具 做为起点。

  作用域:完整的SOA路线图应包含6个域(如图1所示)。这6个域之间有明确的界限,但是仍相互关联、相互依赖。各个域的执行情况是企业级SOA行动成功的基石。SOA路线图应清晰地定义SOA行动的边界,并确定一个实现SOA目标的明晰、灵活的时限。这些目标应该被分散到多个易于管理的阶段中,随后便可以以一种往复渐进的方式实现。

  质量:通过在各里程碑处使用一个“学习与调整”的过程,同时采用往复渐进的方式,您的路线图将在整个SOA行动中保持相关性。为确保SOA路线图的质量,应在所有涉众之间进行沟通及确认,并向各方征求反馈意见。

  图1. BEA域模型

  构建SOA路线图的步骤

  SOA路线图的开发共分4个阶段:SOA规划、SOA成熟度评估、SOA前景展望和SOA路线图定义。

  SOA规划

  这一阶段组织并定义SOA行动。涉众通过通信和简报等方式参与此过程,并设置一致通过的优先级和参数。由于此阶段牵涉到整个企业的员工,因此清晰、充分的沟通非常重要。在此阶段中,要完成的任务包括:

  •   定义SOA的作用域。
  •   确定与其他IT行动的边界并建立合作。
  •   适当地展示SOA的业务论证。
  •   展示现有业务行动与未来业务行动的衔接关系。

  SOA成熟度评估

  在SOA成熟度评估阶段,要为当前所处状态建立一个度量标准。此时将定义当前已经实现、可作为SOA起点的服务和功能,并确定出可作为基础项目的项目。团队应通过一系列访问调查和问卷调查查看各域——分析、制定基准并验证各域的现状。使用BEA的域模型组织检查如下各方面:

  •   业务策略与过程:对业务策略与过程进行自顶而下的查看。
  •   架构:评审当前架构、策略和标准。
  •   成本与收益:概述现有成本构成与收益情况。
  •   构造块:对现有服务、过程、工具和技术进行分析。
  •   项目与应用:评审现有系统以及未完成的和已规划好的项目。
  •   组织与管理:对现有管理结构和策略进行分析。

  SOA前景展望

  在这一阶段中,团队通过专题研讨会来确定并定义要求的“预期”状态,并确保举办整个企业范围内的联合讨论。

  •   业务策略与过程:SOA前景展望与业务策略与过程的关联。
  •   架构:导向原则、需求、策略、标准和参考架构。
  •   成本与收益:指标和测量要求。
  •   构造块:共享的服务基础架构需求及标准化的工具。
  •   项目与应用:对项目与应用的SOA映射。
  •   组织与管理:管理并遵循结构与策略。

  SOA路线图定义

  从这一阶段起,着手定义SOA路线图。应该根据前三个阶段所收集的信息,对企业的SOA目标和适当的时限进行彻底的差距分析(gap analysis)。近期事件要详细,而较远的事件要灵活——以便在前进中融入所得到的经验教训。

  •   业务策略与过程:按业务价值排列机会。
  •   架构:近期、中期、长期参考架构路线图。
  •   成本与收益:未来指标、成本构成及收益情况的路线图。
  •   构造块:将共享服务战略和标准化进程列入优先地位。
  •   项目与应用:项目与应用的影响。
  •   组织与管理:提出的管理结构与策略。

  SOA路线图应该是不断融入经验和教训的“活动文档”。SOA路线图成熟时,您的SOA行动也就以一种可控的方式达到了一个更为精妙的级别(如图2所示)。

  图2. SOA“学习与调整”路线图

 
bbs论坛开发的部分源码1.3、实验内容 1、动态显示主版块信息 (1)在index.jsp上,使用page指令引入相关包,例如: <%@ page language="java" pageEncoding="GBK" import="java.util.*, s2jsp.lg.entity.*, s2jsp.lg.dao.*, s2jsp.lg.dao.impl.*"%> (2)编写脚本和表达式,得到板块Map并显示,只显示主版块信息 使用BoardDao的findBoard方法查找版块Map 使用for循环从Map中取出主版块信息 2、动态显示子版块信息、本版主题数、最后发表的主题 使用到的接口和方法 TopicDao findListTopic(int page,int boardId) findCountTopic(boardId) UserDao findUser(int uId) <!-- 子版块 --> <% List listSonBoard = (List)mapBoard.get( new Integer(mainBoard.getBoardId()) );//先取得主版块mainBoard的id for( int j=0; j<listSonBoard.size(); j++ ) { Board sonBoard = (Board)listSonBoard.get(j); // 循环取得子版块 Topic topic = new Topic(); // 最后发表的主题 User user = new User(); // 最后发表的主题的作者 int boardId = sonBoard.getBoardId(); List listTopic = topicDao.findListTopic( 1, boardId ); // 取得该板块主题列表 if( listTopic!=null && listTopic.size()>0 ) { topic = (Topic)listTopic.get(0); // 取得最后发表的帖子 user = userDao.findUser( topic.getUid() ); } %> 3、在detail.jsp上动态显示主题和回复的内容 实现思路及关键代码: 使用page指令引入包 使用到的接口和方法 设置页数page=1: 第1页:主题、回复 其他页:回复 页数、主题id用户id暂时固都定为1 接口和方法如下: TopicDao findTopic(int topicId) ReplyDao findListReply(int page,int topicId) UserDao findUser(int uId) 4、动态显示主题列表  让list.jsp动态显示“JSP技术”版块的主题列表  页数暂时固定为1,版块id暂时固定为“JSP技术”的版块boardId=9 使用到的接口和方法 TopicDao findListTopic(int page,int boardId) UserDao findUser(int uId) ReplyDao findCountReply(int topicId)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值