龙空技术网

Oracle集成开发总结

数通畅联 9184

前言:

如今看官们对“oracle开发工作”大体比较关心,大家都想要知道一些“oracle开发工作”的相关知识。那么小编在网上网罗了一些对于“oracle开发工作””的相关知识,希望你们能喜欢,姐妹们快快来了解一下吧!

在企业中,由于开发时间或开发部门的不同,往往有多个异构的、运行在不同的软硬件平台上的信息系统同时运行,这些系统的数据源彼此独立、相互封闭,使得数据难以在系统之间交流、共享和融合,从而形成了“信息孤岛”。随着信息化应用的不断深入,企业内部、企业与外部信息交互的需求日益强烈,急切需要对已有的信息进行整合,联通“信息孤岛”,共享信息。

为消除各企业间的“信息孤岛”,需要对各企业的数据格式进行映射处理,保障数据在传输到目标企业时,与目标企业接口所规定的格式相同,目标企业可以直接接收存储,保障企业间实现数据互通,消除“信息孤岛”。以往的集成开发基于MySQL进行,现阶段接触到Oracle并基于Oracle完成集成开发,本篇文档将对整体集成开发过程、在开发过程中遇到的问题以及如何解决进行介绍。

整体说明

本次集成开发是在实际项目中开展,此项目为数据中台方案的实际应用,本篇文档将主要围绕数据中台方案中的数据治理方面展开介绍,同时阐明在实际开发过程中,从MySQL转为Oracle需要注意的地方。

1.工作背景

本次工作为数据中台板块项目其中的一部分,实现企业内部数据的集成与统一,达成集团公司内组织、人员、岗位、客户、供应商、资产、项目、合同等基础数据的统一。从当前各应用系统以及线下Excel表格获取数据信息,使用ESB企业数据总线创建主数据同步流程,各应用系统服务接口将数据同步到MDM主数据管理平台,在各业务系统需要主数据信息时将其进行分发。

2.业务需求

由于人力资源管理系统、NCC财务管理系统无法实时推送,所以采用提供视图的方式,由ESB定时拉取。当关键应用系统以及投资、建筑、房地产、信息化系统发生变更时调用ESB企业数据总线的接口进行实时推送。同时,各业务系统复用一套主数据,主数据平台将清洗过后的数据进行分发,将数据分发至上述描述的消费系统中。各系统就像一个大系统的各个业务功能模块,实现企业IT架构的柔性调整、升级、改造,从而支撑企业的业务战略目标落地。

本篇文档主要围绕人员主数据进行介绍,其集成架构如图:

3.功能需求

各类主数据核心功能需求如下:

1.主数据平台保障数据的一致性、完整性以及准确性,同时保障数据质量,杜绝“一物多码”的情况发生;

2.数据同步流程应严谨,考虑数据为空的情况、数据批量同步的情况;

3.为保障主数据实施的落地,各业务系统应配合提供数据的同步接口以及数据接收接口,如果不能提供接口可提供对应的数据库及视图;

4.主数据平台应记录数据同步日志,便于后续问题排查。

需求分析

在得到需求之后,针对需求进行具体分析,明确工作目标,理清工作思路。本次工作主要目标是实现数据从源头业务系统至主数据平台的数据同步,以便支持后续其余工作的开展。

1.需求说明

本次工作主要完成源头业务系统的数据获取并同步至主数据平台,在进行同步前,需要根据源头系统的字段信息进行主数据中数据模型以及功能模型的创建,在创建过程中,要考虑到数据质量的问题,配置必要的校验条件,在完成模型创建后,进行SMC集成场景的开发,根据源头系统同步数据的方式:视图或是JSON,进行针对性的集成开发。

2.实现思路

针对上文中给到的需求,对本次集成开发做出如下规划:

1.整理源头业务系统的字段信息,挑选出需要的字段;

2.根据挑选出的字段,完成MDC中的基础数据建模;

3.完成MDC中的功能模型的创建;

4.在SMC中根据源头系统同步数据的方式,创建集成场景;

5.在ESB设计器中生成集成流程,进行针对性的适配调整,完成集成开发。

3.接口说明

确定工作思路之后,对本次开发工作中需要使用到的接口进行整理,具体内容如下(在此用本机地址代替实际地址):

1.主数据获取tokenId接口:

接口入参:

2.数据导入临时表接口:

接口入参:

3.数据导入实体表接口:

接口入参:

实施阶段

在明确具体实施需求的同时完成前期的接口准备之后,接下来正式进行集成开发工作,本次集成开发主要可分为三部分,一是主数据部分的模型构建,二是SMCAPI服务的创建,三是集成流程的构建。

1.模型构建

数据建模是正式开始工作的第一项,其创建步骤如下:

在MDC的基础数据建模中点击新增,配置主数据的基本信息、来源系统以及分发系统,如图:

双击新增的数据模型即可对该模型进行字段的配置,如图:

点击创建表即可完成对该主数据相关的数据表结构的创建,如图:

在MDC的功能配置中点击新增,如图:

在填写并配置完成主数据功能模型的基础信息之后,点击表单信息可以对该主数据的具体页面显示效果进行调整,位置如图:

打开管理列表对数据管理页面中的显示效果进行调整,如图:

打开管理表单调整数据详情页面的显示效果,如图:

在SQL中点击解析SQL并进行部署即可完成功能模型的调整,如图:

2.服务创建

API服务采用注册或导入的方式生成,对场景创建过程中需要使用到的接口进行服务的注册,对服务中需要使用的接口进行入参、出参的配置,具体配置步骤如下:

由于本次源头系统并未提供接口,所以虚拟出一个源头系统接口,并配置出参,如图:

注册主数据系统服务,填入对应的主数据服务地址,点击解析,如图:

打开主数据系统服务,配置入参信息,如图:

3.集成场景

在场景配置中点击新增,并填写相关基本信息,如图:

在映射参数中点击解析,如图:

在集成流程中可以看到配置完成的集成流程,如图:

在设计器中创建消息流程,选择应用服务集成,如图:

点击Next,点击刷新,选择需要的集成流程,如图:

调整生成出来的默认流程,完成集成开发,如图:

问题总结

在本次集成开发过程中,遇到了一些问题,在本章节中将对这些遇到的问题及其解决方法进行总结,同时分析问题出现的原因,使在开展后续的工作时可以避免这些问题的发生。

1.问题描述

在本次开发工作中,遇到了一些问题,在此将对花费时间较多以及出现次数较多的问题进行整理:

1.在通过编码作为查询条件进行SQL查询时,查询不到所需数据;

2.在执行数据写入时,提示时间字段引发报错;

3.在执行临时表数据同步真实表的过程中,提示StringIndexOutOfBoundsException错误;

4.执行SQL语句时,函数不生效。

2.问题分析

在处理上述问题以及其他零散问题的过程中,有很多问题是由于对Oracle的相关SQL书写不熟悉导致的,这些问题也相对比较容易进行解决;其次就是由于开发时不够细心,如字段末尾出现空格这种问题,是能够避免的;最后就是由于现如今的特殊时期,很多时候都需要通过远程桌面的方式进行办公,这时就会受到很多因素的影响,如网络波动,远程桌面电脑的性能以及多人同时使用该远程桌面进行办公;以上种种问题的原因,在后续开发工作前需着重注意。

3.解决方法

在上文提到的几个问题中,可以分为几类,一是MySQL与Oracle的SQL书写差异,二是远程服务器性能以及网速引起的问题,最后就是字段类型间的差异,具体如下:

1.数据库中存在满足条件的数据,但是SQL查询为空,后检查字段发现,作为查询条件的字段末尾存在大量空格,将字段类型更改为VARCHAR2解决;

2.DATE类型数据,在源头系统推送的过程中,末尾添加了’.0’,修改后解决该问题;

3.经检查该报错是获取年份的过程中产生的报错,后怀疑是字段类型配置错误,在数据库中查看发现有一字段类型错误,修改后问题解决;

4.在使用日期函数时,该函数未生效,后删除函数末尾(),问题解决。

总结归纳

本次开发工作是项目工作的一部分,主要进行源头系统数据的映射转换处理,同时将处理后的数据存储到主数据平台中;在实际工作中,遇到了很多问题,同时也收获颇多,在此将对近段时间的工作进行总结。

1.工作总结

近端时间在项目现场进行工作,也因为疫情原因进行了一段时间的远程办公,同时本次工作也是首次接触Oracle,所以遇到了许多问题;通过本篇文档不难发现,本次开发工作其实与以往工作区别不大,但是由于本次工作是首次使用Oracle,所以撰写了本篇文档加以总结,在后续的工作过程中,将以本次工作为戒,避免出现同样的问题。

2.后续规划

近段时间的工作内容都以主数据为主,主要完成源头数据的初始化,在后续的工作中,可以分为两大重心,一是继续推进主数据部分工作,完成与下游系统的集成,保障上下游系统数据的一致性;二是在完成主数据部分的工作后,继续开展数据分析部分工作,整体达成数据中台项目的预期目标,满足客户的需求;同时在工作过程中,通过分析客户的实际需求,优化已开发完成的功能。

3.心得总结

本次工作是首次前往项目现场,也是首次接触Oracle,在开发过程中由于使用不熟练浪费了一些时间去解决问题,通过本次开发完成的功能,已经完成几类主数据从源头系统同步至主数据,接下来就像上文所说去推进分发工作的开展,完成主数据这一部分的工作内容。

本次工作是在数据中台项目中开展,处理的数据为基础数据;数据中台方案涉及到的产品共有三款,此次工作只用到了MDM、ESB这两款产品,后续将结合DAP这款产品,进行各类数据的分析展现,从而达成项目目标,完成数据同步、数据治理、数据分发、数据分析、数据展现等一系列功能。

本文由@数通畅联原创,欢迎转发,仅供学习交流使用,引用请注明出处!谢谢~

标签: #oracle开发工作