zoukankan      html  css  js  c++  java
  • 综合应用集成项目总结与心得

    1 概述

    这篇文档是本人第一次以项目负责人的角色来参加企业综合应用集成项目的开发,项目历时了近三个月的时间,虽说最后的结果不是让人非常满意,没有达到的自己预期,但是我在项目中的成长达到了自己的预期,为下一次项目打下了坚实的基础,文中记录了本人在项目中的成长历程和一些心得。

    2 预期读者

    1. 数通畅联内部人员

    2. 相关IT技术从业人员

    3 技术总结

    3.1 AEAI DP

    AEAI DP应用开发平台是本次项目中的开发工具,基于AEAI DP快速开发出整个工程的菜单和功能页面,同时也为客户开发一些定制的portlet。通过在项目中的使用,我加深了对AEAI DP理解。

    3.2 AEAI Portal

    3.2.1  菜单集成

    菜单集成是AEAI Portal门户集成平台产品中最基础的功能。不久前我做过将AEAI HR人力资源系统和AEAI CRM客户管理系统集成到portal中展示,相信使用过我们HR和CRM系统的朋友们会知道,HR和CRM系统中只有一个菜单。做菜单集成操作时,不必去考虑菜单的选择。但是在本次项目中需要去考虑菜单的选择,因为项目的工程中有十多个菜单,这就需要在MenuDataProviderHandler中再添加一个值folderId,在门户配置菜单集成时,将folderId的值传到后台,folderId的值需要写成固定值,菜单节点的值,可以到数据库中的sys_function表中查询,FUNC_PID为“00000000-0000-0000-00000000000000000”的就是菜单的节点,FUNC_ID字段列里的值就是菜单节点的值。

    wKiom1ZL44Xz1bNTAACOUlwhvTs449.png

    wKiom1ZL44WiZ9R4AACVbFwTnQ4149.png

    3.3 AEAI ESB

    3.3.1  指标数据导入的webService接口

    指标数据导入功能是我用AEAI ESB应用集成平台写的一个webService,然后交给合作伙伴调用webService来进行数据导入,接口中涉及ESB的功能很全面,几乎用到所有的组件,技术点也非常丰富,数值计算,数值之间进行比较,然后根据比较结果来判断是否需要生成一条记录。这个程序中,因为导入的指标比较多,不能导出程序中断,经过一系列的调试和改造,最终得以使用。其中,有以下几点与各位分享:

    1. 计算公式中被除数为0时,会返回出两个值“isInfinite”、“isNaN”;

    2. 如果计算结果返回值的类型不确定时,如(INTEGER,double),可以使Number类型来接受返回值。

    3. 循环模式,循环之前我们会需要一个java组件来写DataSet.size()的总数和设置一个循环的初始值为“1”,但是我们经常会不做判断,直接将循环开始的组件(合并)的第一条线没有任何限制的连接到循环体内的第一个节点。如果DataSet.size()为0,那么就会出现报错。所以循环之前需要判断下DataSet.size()的长度。

    wKiom1ZL47rSa7f5AAEmLmDlr3Q690.png

    3.3.2  ESB消息流程表格格式数据转换(JSON)

    本次项目中配置了很多数据表格,需要转换JSON格式,我们的ESB产品中有转换组件可以很方便的转换JSON数据。如下图:

    wKiom1ZL49fSggXQAACvV9TikLE607.png

    wKioL1ZL5CqzcbsbAADJLf4_yw8950.png

    3.3.3  ESB消息流程图标格式数据转换(xml)

    本次项目中需要配置很多的数据图表,而且需要转换XML格式,我们的ESB产品中有转换组件可以很方便的转换XML数据。如下图:

    wKiom1ZL4_nTMA6xAACxXMCLgN0112.png

    wKioL1ZL5EyAiTvuAADIQlnmtqk784.png

    3.4  AEAI BPM

    AEAI BPM流程集成平台是本人在项目中首次接触,之前只是对AEAI BPM有些概念上理解,通过在这次项目中的使用,就简单举一些我认为比较方便的功能。

    3.4.1  Rest服务调用拦截器

    在本次项目中,涉及工作流的使用的模块,例如提交后,立即给审核人发送消息提醒,该功能需要使用到Rest服务调用拦截器。

       
    wKiom1ZL5A7Sj2GMAAA1HkezjqQ001.png

    3.4.2  数据库操作拦截器

    本次项目中,工作流中一般都是以提交审核为主,有的节点提交到下一个节点需要更新状态,这时可以使用数据库操作拦截器编写sql语句进行更新操作,不需要在后台写。

    wKioL1ZL5Hqi55aHAAA5VKs-uJo650.png

    3.5  Toad/Oracle

    Toad是一款Oracle数据库的管理工具,Toad非常实用,功能非常全面。

    3.5.1  Toad导出excel

    导出excel是对查询出的结果集和表的数据进行导出操作,在结果集上点击右键,然后按下“S”键,或者如下图点击箭头所指方位。

    wKioL1ZL5IrgIB14AACmKSP1jUI213.png
    点击后如下图,选择Excel Instance,点击OK。
               
    wKioL1ZL5JyxGAkzAACtlBQAmps336.png
           点OK后,会生成出一个Excel文件,就是结果集的数据,然后进行保存,保存时要注意,保存类型一定要选择如下图箭头所指方位的类型,因为Toad导入Excel时可以识别这个类型。

    wKioL1ZL5LLC1X5NAALuyMS45do706.png

    3.5.2  Toad导入excel

    需要使用数据泵导出时,在TODA的上方菜单中选择:Database –Import –Import Table Data。具体步骤如下图:
    第一个页面,需要选择表,然后点击Show Data查看表里的数据,如果不需要可以点击Truncate Table,然后点击NEXT。

    wKioL1ZL5MuQl4f8AAFT-aX2Evk929.png
    下一步,需要选择Excel文件,然后点击NEXT。

    wKioL1ZL5NvQFeZsAAL6BADJ3GM131.png
    下一步,注意箭头处要填写为2,是从第二行开始导入,因为第一行是字段名,显然不需要导入,然后点击NEXT。

    wKiom1ZL5JvT3KUtAAFMSOZ6zQ8401.png
    下一步点击OK匹配表结构,如果没有错误,然后点击NEXT。

    wKioL1ZL5P2BcdkEAAHSZEpyouM246.png
    最后一步,基本不用修改什么,点击Execute。

    wKioL1ZL5Q2QPkapAAFM0WMYpxs382.png

    3.5.3  Toad数据泵

    TOAD的数据泵是一个非常实用的数据库导入导出功能,可以将整个库的甚至整个USER下的所有数据全部导出为.dmp文件,然后可以将.dmp文件通过数据泵导入其他的数据库中。
    如需要使用数据泵导出时,在TODA的上方菜单中选择:Database – Export – Data Pump Export Wizard。具体步骤如下图:
    第一步,选择Users,点击NEXT

    wKioL1ZL5RrjIOHaAAFPXbbgH1U361.png
    选择需要导出的用户,然后点击NEXT。

    wKiom1ZL5NXQ5BkwAAFs4qMa22s237.png
    直接点击NEXT。

    wKioL1ZL5Tey2xsSAAFVGeLNtwI659.png
    直接点击NEXT。

    wKiom1ZL5PSiD8jyAAFTNfTYpwM735.png
    直接点击NEXT。

    wKioL1ZL5VXRIId5AAGtRxhCUnY838.png
    只要在箭头处填写需要导出的文件名即可,之后记住文本框上的文件夹路径,导出后直接到该文件夹下面去找,然后点击NEXT。

    wKiom1ZL5RzxaaX_AAFcKkVx9io274.png
    直接点击 Finish就可以了。

    wKiom1ZL5Sqz1R5dAAFTFPZNMBk918.png
    如需要使用数据泵导入时,在TODA的上方菜单中选择:Database – Import – Data Pump Import Wizard。具体步骤如下图:
    直接点击NEXT。

    wKiom1ZL5TqBMOqFAAFE8XqHoUg577.png
    直接点击NEXT。

    wKioL1ZL5ZviEehYAAFSiSe4iEQ364.png
    直接点击NEXT。

    wKioL1ZL5a_BM2gPAAFQGA5Bj_c865.png
    箭头处需要选择Replace,然后点击NEXT。

    wKiom1ZL5WygQIduAAFSPKYsOf8724.png
    直接点击NEXT。

    wKiom1ZL5YvwTU3lAAGnO_zSpC0468.png
    上方箭头处,要选择DATA_PUMP_DIR,之后要将需要导入的.DMP文件放到对应的文件中,名字填写在下方的箭头处,然后点击NEXT。

    wKiom1ZL5ZqAft70AAFsrw1IrJw727.png
    直接点击Finish。

    wKioL1ZL5fyiWtnaAAFC1NQcu1Q145.png

    4  非技术总结

    本次项目中我以项目负责人的身份与合作伙伴进行交互,因为是首次负责整个项目,在软件开发流程上、客户交流上还存在一些不足。在此总结出以下几点:

    4.1  与合作伙伴/客户交互

    本人认为与合作伙伴或客户交互时目标要明确,交互前一定要理清思路,需要反复确认,明确需求,绝不能模棱两可。在脑中过一遍实现的过程,之后再开始,开始的时候也需要和客户进行再次确认。

    4.2  与领导交互

    本人认为向领导汇报工作进度时,要简单明了,抓住重点,遇见问题及时汇报,绝不可在项目预计期限快结束时在暴露问题,这样会给双方造成非常大的麻烦。

    4.3  与同事交互

    本人认为在项目中与同事之间的交互也很重要,在向同事分配任务的时候,要将合作伙伴或客户的需求准确无误的传达给同事之间,与同事之间相互确认需求也是必不可少的。

    4.4  项目基本原则

    1. 项目中要对双方一些特殊的资料、信息等做好保密措施,不能有损双方的利益。

    2. 不可以得罪客户,要与客户友好的协调,就算客户提出无理的要求,也一定要与客户进行沟通,试图用强有力的理由去说服他,如果不行再与上司交互。

    3. 与同事交互中如果发生需求中的分歧,不要独裁,要按常理去考虑问题,再与客户交互,明确相关事宜。

    5  感想与体会

    总体来说在本次项目中我能力不足的地方还有很多,例如技术能力,沟通协调能力、掌控大局能力等,但是通过这次体验,我积累了很多经验,例如文档整理,很多人怕写文档,但是做为项目经理一定要牢记“好记性不如烂笔头子”的道理,有的时候会莫名的有种感觉, 有理说不清楚,就是因为没有记录,一时想不起那么多的事情。
    由于是第一次做项目经理,首先会觉得自己是一个新人,会惧怕客户提出的各种问题,答不上来特别尴尬,怕被人家埋汰或瞧不起,所以也特别紧张,其实有的时候客户也并不知道你的底细,他在提问题的时候,他也是不会或者正在跟你商榷下一步的计划,总之技术可以不好,不会可以问,如果连最基本的沟通能力都没有,那就不好办了。我在客户面前的前几天就是特别胆怯,过了一阵以后我发现了这个情况,对于这个项目而言他们的业务会比我好,技术会比我好,但是对我们自己产品的熟悉程度,那就不是一个档次的了,所以我也就不在胆怯,完全可以放心大胆的去跟他们交互。
    通过此次的项目积累和沉淀,我相信在下一个项目中放入我一定会比这次做的更好。

    综合应用集成项目总结与心得                               下载

  • 相关阅读:
    How to convert VirtualBox vdi to KVM qcow2
    (OK)(OK) adb -s emulator-5554 shell
    (OK)(OK) using adb with a NAT'ed VM
    (OK) How to access a NAT guest from host with VirtualBox
    (OK) Creating manually one VMs from an existing VDI file in CLI (VBoxManage) in Fedora 23
    (OK)(OK) Creating VMs from an existing VDI file in CLI (VBoxManage) in Fedora 23
    (OK) Creating_VMs_from_an_existing_VDI_file.txt
    (OK) Creating VMs from an existing VDI file —— in OS X
    (OK) install_IBM_SERVER.txt
    (OK) install chrome & busybox in android-x86_64 —— uninstall chrome
  • 原文地址:https://www.cnblogs.com/agileai/p/4973834.html
Copyright © 2011-2022 走看看