论文部分内容阅读
随着软件开发行业的发展,社会已经逐渐步入了信息化的社会,各个方面的因素导致了软件系统越来越复杂与庞大,如复杂的分布环境,灵活的应用模式,广泛的包容性能等。并且各个行业都对软件有一定的需求,导致了软件需求量的迅速膨胀。软件的最终目的就是满足企业业务的需求,使企业业务提高到一个新的层次,这是任何一个使用软件的企业的理想目标,当然同时也是软件制造商的目标了。现在的软件企业正面临着客户需求的快速变换,较短的项目周期,返工的开发成本三个主要方面的压力。软件行业依靠着自身理论与技术的不断发展在逐渐提高生产力,减少软件开发成本,增强软件质量等,但是大部分的软件公司还是无法摆脱软件计划延迟、开发预算超支、版本不能及时推出等困扰。于是构件化SOA(Service Oriented Architecture)即构件化面向服务的架构伴随着人们的强烈愿望出现了。构件化SOA是构件化与SOA的一个有机结合,它综合了两者的优点,取长补短,进而形成了一个完善的软件解决方案。其中的构件化包含了两个方面:面向构件的设计与构件技术,即使用构件技术去实现面相构件的设计,“面向构件的设计”是一个理想化的软件设计方法,它推广了对象封装的内涵,侧重于复杂系统中组成部分的协调关系,强调实体在环境中的存在形式,构件技术则是实现面向构件设计的基础。但是单独地使用构件化作为软件的解决方案,却有一个重大缺陷,就是无法处理不断变更的复杂业务逻辑,因为构件化还是停留在技术层面的,它依靠良好的模块化和层次化来提高生产率,仅仅是面向技术层面的一种设计与实现方法,始终无法适应业务不断变化并且更复杂的的企业环境。而SOA则带来了业务和管理的模块化、层次化和专业化,它通过引入“服务”的概念,成功将业务作为一个可管理与设计的模块引入到软件架构中。于是,在软件系统中付出最小的代价以适应不断变化的复杂的业务逻辑变为可能。SOA弥补了构件化在整体架构与体系上的不足,考虑到了真正的业务需求,而构件化使我们在实现SOA时候提供了一个很好的设计与技术曾面的支持。于是构件化SOA架构应然而生,它是一次信息架构的变革,也是现实信息服务与企业客观需求的反应。本文针对实际的工程需求,运用构件化SOA开发与设计方法,设计并实现了一个证券网站。证券网站作为一个信息量庞大、业务复杂、多变的大型系统,它不仅仅需要成功地实现,并且还要保证有良好的安全性,扩展性,健壮性与效率等等,所以项目决定采用构件化SOA作为解决方案。本人作为资深软件工程师参与了项目开发的整个过程,具体包括:1)部分股票信息查询功能的设计与实现,例如查询股票今日交易信息总结,查询当前股价等等,具体工作内容包括了界面显示、业务逻辑、服务、数据访问的开发等。2)部分用户账户信息维护功能的设计与实现,例如创建用户,用户注册,修改用户资料等等,开发内容包括了界面显示,业务逻辑,服务、数据访问。3)用户登录信息记录与管理功能的设计与实现,比如记录用户登录IP,用户的访问频率,查询和管理用户登录信息,具体工作内容包括了界面显示、业务逻辑、服务、数据访问的开发等。4) NHibernate二级缓存方案的设计与实现,方案中采用了Memcache作为NHibernate的分布式二级缓存策略,该方案将Memcache与NHibernate、数据访问层结合在一起,具体的工作内容包括方案设计、方案调研、方案实现、集成等。5)异步访问数据源(AJAX)的前台显示构件的设计与实现,包括了访问框架框架与用户显示控件,其中使用了微软最新的MVC(Model-View-Controller)框架与第三方Ext JavaScript框架作为实现的技术,开发人员可以借助本框架迅速地定制、开发符合用户需求的、异步调用的、高效的前台界面。具体的工作内容包括框架设计、方案调研、构件实现、集成等。