- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
档案项目架构文档_SOA搭建过程_2010-06-18
档案项目 — 软件架构过程文档
Archive
Software Architecture Document
Version 1.0
Revision History
Date Version Description Author 2010-4-30 1.0 软件架构过程文档第一版,逐步完善 潘志鹏
记录SCA框架的搭建过程,并写一个简单的demo,方便开发人员在这个框架中进行开发。
面向读者
,技术经理,架构师等
注意事项
本文 假设读者有spring使用经验,请没有Spring使用经验的读者自己查找Spring 的相关资料。
缩写词
SOA:面向服务架构(Service-Oriented Architecture)
SCA:服务组件架构(Service Component Architecture)
SDO:服务数据对象
1 软件架构
关于软件架构的目标、思想、技术选型等。
1.1 设计目标与愿景
正如软件本身有其要达到的目标一样,架构设计也有需要达到的目标。我们的目标是:
可靠性(Reliable):集群,24小时持续运行
安全性(secure):各种安全技术
可伸缩性(Scalable):分布式
可定制化(Customizable):动态化、模块化
可扩展性(Extensible):
可维护性(Maintainable)
可户体验(Customer Experience):Ajax,可选择用户界面风格
市场时机(Time to Market)
我们将定义和设计软件模块化、动态化、接口、组件、用户界面风格、创新等设计特性,以及高层事物的对象操作、逻辑和流程,来达到以上这些目标。
软件架构愿景
编写服务组件:基于组件编程一直是软件业简化编程、提高效率和质量的一个重要方法。
组装服务组件:不直接面对具体的技术细节,而是通过组装服务组件的方式来构建企业应用。
所有的服务器端都独立开发和部署,并且这些服务器端可以随意地被外部依赖和调用。如果要实现新的功能,只需要开发新的服务即可。
B/S的分布式架构,既便于服务的扩展,又便于服务的管理,且实现了压力的分解对系统的可扩展性和可复用性有很大好处。
1.2 设计思想
为了实现以上的目标与愿景,最终决定采用 服务组件架构SCA。
SCA是为实现SOA而产生的一种规范;
SCA是目前实现SOA的最佳方式;
SCA是为在SOA中构建和组装业务解决方案而专门设计的一个新编程模型,旨在集成和组装服务。可以使用任何语言,能够把各种已经存在的服务十分方便、快速的构建SOA所需要的系统和应用。
1.3 整体设计
SCA服务端技术选型:SCA + Spring Hibernate + Jackrabbit + Lucene
SCA客户端技术选型:Spring + SCA + JSF
我们这里选择的SCA解决方案是 Apache Tuscany
各框架的版本分别是:Spring 2.5、Tuscany-sca-2.0-M3、Hibernate-3.3、Jackrabbit-1.5.5、JSF-2.0
整体软件架构图如下:
图1-1 软件架构图
2 搭建SCA服务器端
2.1 主要原理
根据上面的 图1-1,SCA服务器端应用的主要原理如下:
简单的说,就是Tuscany与 Spring集成,Spring容器运行在Tuscany容器中,Spring容器管理内部的服务,Tuscany则把Spring所管理的服务发布为Web服务。
以Spring为内核,利用Spring的IOC管理各种服务组件,利用AOP做各种事务管理与事件监听。服务器端分为3层,
DAO层:以Jackrabbit做文件存储,以Hibernate做数据库存储,
Service:提供一些只能在内部使用的服务,如XMap配置、XSD引擎、Schema管理、文档模型(DocumentModel)、仓库管理、生命周期、版本管理、安全管理和全文检索等服务。
Fa?ade:根据业务流程组装服务。
Tuscany则把Fa?ade层中组装的服务 发布为SCA服务,服务的协议采用Web Service方式发布。
2.2 简要步骤
搭建服务器端框架的简要步骤:
增加Tuscany和Spring 的支持jar
增加service远程接口和实现类,并在spring配置好
将Service发布为Web服务:集成配置Tuscany + Spring 组件
增加SCA服务启动Servlet类
启动SCA服务并做测试
2.3 详细过程
本文使用的IDE工具是 MyEclipse6.5。
第1步:增加Tuscany和Spring 的支持
新建一个Web项目ArchiveService,并增加Tuscany和Spring
文档评论(0)