任务背景
在实际应用中,我们所使用的各个系统所用使用的数据库是相互独立的,比如,学生的图书管理系统使用的是Oracle数据库,学生课程管理系统所使用的MySQL数据库,假如学校领导想要知道学生在对于自己所学习的课程的借书情况,这对于一般的系统就很难完成,因为通常一个系统只配置一种数据库,这就很难满足领导的需求。因此,本次任务的目的和意义在于,将存储在不同数据库的表根据某种关系建立连接,产生新的数据表,满足实际应用的需求。例如,将图书管理系统存储在Oracle数据库的[借书表] 和 学生课程管理系统存储在MySQL数据库中的[学生课程表] ,根据学生的学号建立连接,并分别在借书表和课程表选取所需的字段,建立一张新的表,来满足实际应用需求。
知识背景
1.Oracle数据库:是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。本次任务中,使用的Oracle版本:11g。
2.MySQL数据库:是一种开放源代码的关系型数据库管理系统,大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。本次任务中,使用的MySQL版本:5.6。
3.Kettle:一款国外开源的ETL工具, 中文名称叫水壶,希望把各种数据放到一个壶里,然后以一种指定的格式流出。它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。本次任务中,主要使用transformation脚本,使用的Kettle版本是:7.0。
4. Carte: Kettle有多种运行模式,最简单易用的是直接运行Kitchen/Pan应用程序来执行job/transformations。Kettle自带的Carte,是一个轻量级的web服务,允许远程请求HTTP进行监控、启动、停止在Carte服务上运行的job和trans。运行Carte的服务器在kettle术语里称为slave server。关于Carte实践的例子:Carte实践1,Carte实践2
5. SpringBoot:是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。其实就是简单、快速、方便!关于SpringBoot的简单案例:SpringBoot入门
6. DataTables:是一款jquery表格插件。它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能。学习网址:DataTables官网,Datatables中文网
任务分解
步骤一、建立一个虚拟的业务背景,发布几项业务需求。
步骤二、根据业务背景,在Oracle和MySQL 上建立多张表。
步骤三、在Kettle上,新建转换文件(transformation),设计一系列步骤,这能使得分别存储在两个数据库中的两张表,根据某种关系建立连接,通过字段选择后,生成一张新表,并能在Kettle中预览数据。然而,新生成的表不会存储回到数据库中。
步骤四、使用Kettle自带的Carte,开启一个web服务器,实现登录web来触发执行某一任务。这样,通过Carte,可以在网页端看到步骤三中从转换生成的数据(Json格式)。
步骤五、搭建基本的SpringBoot的基本框架,并能与Carte建立连接,获取某项任务执行后的数据。
步骤六、借助DataTables,在网页端显示从Carte服务器所获得的数据。
步骤七、最终实现:直接在网页端提交任务(即转换文件),以DataTables的形式,直观看到执行任务后的数据。
网友评论