数据分析服务消费者Browser.ppt

谢谢! - 关心您的软件工程实践- Thank you for your attendance! * 功能架构——子系统划分分析 功能性划分——功能性组件 数据分析组件:提供数据分析基本服务,产生数据分析结果(图片,文件) 定时服务组件:提供定时机制,定时调用数据分析服务和订阅服务 订阅服务组件:提供订阅服务基本服务,(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); 外部接口架构:系统外部接口支持多种交互协议 系统的外部接口会被多种交互协

文档评论(0)

1亿VIP精品文档

相关文档