- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
功能架构——子系统划分 对于任何系统而言,系统的架构都需要从对系统的分解入手。划分子系统的主要目的在于: 简化系统设计工作 提高并行开发效率 便于系统架构的扩展 功能架构——子系统划分分析 功能性划分——功能性组件 数据分析组件:提供数据分析基本服务,产生数据分析结果(图片,文件) 定时服务组件:提供定时机制,定时调用数据分析服务和订阅服务 订阅服务组件:提供订阅服务基本服务,(Mail,FTP) 管理控制台:系统服务配置设定(定时服务,订阅服务) 非功能性划分——非功能性组件 部署管理组件:运行时装载数据分析的模版,计算组件,数据源; 数据访问组件:提供访问数据源服务(数据库,文件) 外部交互适配器:提供支持多种交互协议的连接适配器(SOAP,RMI-IIOP) 通用与定制之分——定制性组件 JasperReport:提供基于JasperReport的数据分析服务 CrystalReport:提供基于水晶报表的数据分析服务 功能架构——子系统划分设计 根据原则划分好的子系统,需要有明确的接口定义,来代表其子系统提供的功能 DAO Service void insert() void update() void delete() Object findByPk() Schedule Service void executeSchedule() Subscription Service void notifySubscriber() J2EE Connector Crystal Report Service JasperReport Service OLAP Service Repporting Service byte[] loadReport(String reportId, Map context, int type) void deploy() Deployment Management Service 功能架构——子系统划分实现与验证 在系统实施过程中,一般子系统会使用 不同的工作目录来实现。每个工作目录会需要 包含下列信息: 源程序 组件依赖配置 部署脚本 测试程序 逻辑架构——系统分层 系统分层的主要目的在于: 细化子系统,确定子系统组件之间的协作关系 提高子系统的可重用性 提高子系统的可测试性 提高子系统的可维护性 提高子系统的可扩展性 逻辑架构——系统分层分析 定义分层边界划分原则 本系统按照服务消费者和服务提供者关系来划分层次 定义消费者和服务提供者关系 数据分析服务消费者 Browser,Java Client Application, C++ Client … 数据分析服务提供者 数据分析运算组件 数据源提供组件 协议适配器 数据分析资源 消费 服务 逻辑架构——系统分层设计 可扩展架构:支持资源扩展 数据分析资源包括各种数据分析实现技术。支持资源扩展的主要需求如下: 支持数据分析资源的可替换 支持数据分析资源的可升级 实现统一的数据分析服务接口 可扩展架构:支持资源扩展分析 通用性和定制性划分 特定数据分析资源需要定制 统一的数据分析接口代表通用行为 通用性和定制性结合 行为抽象,抽象特定数据分析资源的通用行为 实现独立,把特定数据分析资源的实现看成是行为抽象的一个特定实现 可扩展架构:支持的资源扩展设计 J2EE Pattern:策略模式 现流行方式是采用Spring的 ApplicationContext或者反射模式。 构造策略实现对象 策略行为接口 策略实现 可扩展架构:支持的资源扩展实现 定义接口 public interface ReportingServiceIF{ byte[] loadReport(String reportId, Map context, int binaryType); } 定义Spring配置 bean id=jasper class=com.wn.pce.reportingservice.platform.jasper.PCEReportingServiceJasperImpl destroy-method=close property name=dataSourceLoader ref=defaultSourceLoader/ /bean 通过制定BeanName来判断使用那个实现类 ReportingServiceIF service = (ReportingServiceIF) ApplicationCtx.getBean(serviceName); byte[] reportBinary = service.loadReport(reportId, context, binaryType); 外部接口架构
您可能关注的文档
- 中职数学基础模块上册1.1集合的概念.ppt
- 主要阀门的结构.ppt
- 二次结构砌筑.ppt
- 五种基本的句子结构.ppt
- 产业园区ppp方案与政策以及案例.ppt
- 人教版四年级语文上册第7课《蟋蟀的住宅》.ppt
- 低压开关柜基本结构知识.ppt
- 住宅工程质量通病控制标准-2014.ppt
- 住宅公共区域设计.ppt
- 依恋理论详解.ppt
- 英语人教PEP版八年级(上册)Unit4+writing+写作.pptx
- 人美版美术四年级(上册)8 笔的世界 课件 (1).pptx
- 人美版美术七年级(上册)龙的制作.pptx
- 英语人教PEP版六年级(上册)Unit 2 第一课时.pptx
- 数学苏教版三年级(上册)3.3 长方形和正方形周长的计算 苏教版(共12张PPT).pptx
- 音乐人教版八年级(上册)青春舞曲 课件2.pptx
- 音乐人教版四年级(上册) 第一单元 音乐知识 附点四分音符|人教版.pptx
- 英语人教PEP版四年级(上册)Unit 6 Part B let's learn 1.pptx
- 道德与法治人教版二年级(上册)课件-3.11大家排好队部编版(共18张PPT).pptx
- 人美版美术七年级(上册)《黄山天下奇》课件1.pptx
文档评论(0)