文档章节

关于某企业系统集成的一些初步思考

猪刚烈
 猪刚烈
发布于 2014/10/12 11:47
字数 1991
阅读 11
收藏 0
点赞 0
评论 0

关于技术路线:

  新系统的集成注定不会是将所有应用的前端移植到Flex平台那样简单,这对客户的吸引力非常有限,同时也决定了客户的投入。我认为我们提出的整合方案在强调基于Flex的富客户端技术为客户提供的良好用户体验的同时,应该把重点放在系统整合后给客户带来的“1+1>2”的聚合效应上,这是系统整合的主要价值所在,也是吸引客户追加投入的主要动力。目前我们能直接预见的具有聚合效应的“整合点”有:统一的身份认证和权限管理(包括单点登入)、统一的业务流程制定和监控,还有更多深层业务上的整合需要我们结合客户的实际需求进行挖掘,特别是那些过去需要跨越多个部门和多个应用才能完成的繁琐工作,在系统整合之后将会变得简单而快捷。从技术的角度看,这一切都意味着过去独立的子系统在整合后必须对外开放,保证各子系统之间能够实现互操作,很显然这需要分布式技术的支撑.同时我们可能需要在架构中引入一种平台或媒介负责协调各子系统间的通信和统一的安全机制(这与SOA中的ESB非常相似)。总之,目前看来我们的解决方案必然会涉及SOA和云计算特别是私有云方面的技术。就私有云方面我认为我们可能更多的是借鉴一些思想和理念来包装我们的解决方案,作为重要的特性向客户宣讲,毕竟目前云计算并没实质的技术标准和规范,而在实际采用的技术上,我们可能会更依重SOA的相关技术。(就Mashup技术,我会在最后谈一下我的认识。)

项目的实施策略:

  1.最为稳妥的实施方案应该是分多期推进,分批地将现有应用整合起来,或将它们慢慢地迁移到新架构上来。在项目初期,我们应该优先选择那些客户依赖度高,改造难度低的系统进行整合,这有利于团队逐步积累经验以应对更加复杂的系统,更重要的是有利于建立客户对我们的信任,吸引客户在项目中的持续投入。

  2.目前可以预见的是,基于java或.net构建的B/S系统比重应该会比较大,且改造起来也会相对容易一些(当然这也取决于系统本身的质量和复杂度)。

  3.对于那些使用了陈旧技术的老系统,情况就不容乐观了,一方面掌握这类技术的人才已经很少,且相应的文档等资源也可能很难再找到,并且这类系统的源码或原供应商的可能都已不存在了,如果出现这类情况,则需要考虑重写这个系统。对于开发人员,重写总是比修修补补更受欢迎,最大的问题还是在历史数据的迁移上。从公司角度看,改造有改造的报价,重写有重写的报价,如果能以重写的方式扩大合同额,自然是一件好事,问题主要在于客户是否肯为此买单。对于客户来说,重写这类系统也是有一定吸引力的,因为既有的陈旧系统普遍存在用户体验差、与现有业务流程脱节等问题。但是技术团队会有一个底线,这个底线就是:如果没有源代码,或系统使用了过于陈旧的技术以及系统本身因质量问题无法清晰分离前后台时,都应该选择重写系统。在大的策略上,我们应该尽可能地将这类系统的改造放在我们路线图中靠后的位置上。

  4.我们应该对所有子系统采用的技术平台进行分组,考察同类技术平台下的系统数量从而确定是否会为此类技术平台组建专职团队来改造这类系统。比如在44个既有系统中,如果仅有1-2个delphi应用我们会怎么做和有7-8个delphi应用我又该怎样做应该是有明显差别的。

  5.如果是重写系统,对于历史数据的处理是需要特别考虑的。这里不外乎基于原有数据库重写应用服务、在原有数据基础上扩展和重新设计数据库并转储历史数据三种方案,对此,我们应该根据每个系统的实际情况,特别是新需求的影响来确定选择何种方案。

项目的挑战与风险:


  如果真正达到上述的整合目标,我认为这将会是一个规模非常大的项目,持续时间也会相当的长,对于客户 ,我不知道他们是否有同样的预期,以及愿意为这样的预期投入多少。对于技术团队,众多子系统使用了不同的技术平台,整合这些系统需要我们熟悉并掌握所有这些技术平台,这是一项非常艰巨的任务,对于一些过时和淘汰的技术而言,更是“得不偿失”。对于公司,是否会招募某些特定平台的技术人才以及日后对他们的规划也是需要考虑的。

一些技术策略:

  对于那些在客户端混杂了业务逻辑的C/S系统,若混杂程度不是很高,可以考虑在后台端再铺设一层服务层,将原客户端中的业务逻辑移植到新的服务层。这一策略秉承了OO设计中的开闭原则:系统对扩展开放,对修改关闭。因为任何对既有部分的修改都可能会带来潜在的bug,因而需要重新进行回归测试。但如果只是扩展,则对已有系统的影响非常小,团队可以集中于新增部分的测试,并信任原有实现。我们应该在所有系统的改造中广泛使用这一原则,能通过扩展实现的一定不要去修改已有部分。

关于mashup的补充说明:


  通过最近两天阅读mashup的有关书籍,我对mashup已经有了一个整体的概念。mashup有一个非常大的背景,那就是互联网开放的生态环境。mashup所依赖的三大数据来源:public API, web service, data feed的共同特征就是开放。所有mashup案例都是将两种以上的开放服务或数据,揉和成新的应用。我觉得将mashup应用于企业应用集成是可行的,特别是如果能依赖过去两个独立系统开放出来的API,复合出过去客户无法统计和得知深度数据,将会给客户带来巨大的增值效益。但是我相信大的前提一定是需要所有系统要先开放,这实际上与SOA的要求是一致的。唯一不同的是SOA倾向于使用统一的机制(ESB)管理所有服务,并作为中介沟通前台与台端服务,而在互联网背景下的mashup是不存在这一问题的。

© 著作权归作者所有

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
如何让新员工快速成长

1概述 对于企业而言新员工是公司新鲜的血液,如何使新员工能够尽快熟悉和适应公司文化、制度,了解岗位情况,快速地胜任新的工作,以满足公司发展需要一直是企业领导的一块心病。 本文是笔者...

数通畅联 ⋅ 2016/10/28 ⋅ 0

软件的社交能力

两个人之间互不相识,则无法交往,两个系统之间相互不能识别,那么也就不可能相互通讯。但是人有一种社交能力,这种能力可以保证两个不相识的人,相互认识,开始交往。两个系统之间没有这种能...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

关于ETL工具的思考

阅读 有感! 通常认为ETL 就是数据抽取, 转换, 加载的过程, 完全正确. 就像数据库就是存储和管理数据的工具一样, 然而数据库并不全部是数据的存储, 最重要的是管理, 即数据的并发性一致性可恢...

技术小美 ⋅ 2017/11/19 ⋅ 0

华中电网项目日志:再梳理一下SG186概念

梳理一下SG186概念的问题。目的是做服务就得揣摩服务目标和目标程度,所谓知己知彼吗。那么什么是电力“186”工程呢?这个工程与电力的信息化有什么关系呢?与那些为电力行业服务的IT厂商有什...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

【智能工厂】— 五大核心系统介绍

前言 小编最近在做MES系统,MES(Manufacturing Execution System)制造执行系统,工业4.0时代已经到来,智能制造、智能工厂的打造是国内生产制造企业势在必得的项目。 正文 为什么会有智能工厂...

zt15732625878 ⋅ 04/01 ⋅ 0

SOA的关键是什么?

2006,SOA闹的沸沸扬扬,连11月份的系统分析师的考试SOA都成了案例分析的必答题。但是大多人一听到SOA,感觉还是很茫然,SOA如何整和现有的企业系统?SOA关键是什么呢? 我个人认为,SOA的关键是...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

企业级云若遭受安全攻击,我们第一时间应做哪些紧急措施?

面对云安全挑战,企业必须有效地应对不断变化的环境,确保其业务在未来继续蓬勃发展。当然,网络攻击事故总是难以避免,时刻保持云安全的警惕性也应成为企业战略的重要组成部分。 如何在众多...

你好伤人 ⋅ 03/08 ⋅ 0

华中电网项目日志:业务与项目背景

最近需要和电力系统的客户打交道,需要长期驻入电网项目组。时间很紧,12月份的数据规划与业务建模必须通过国家电网的验收。本文旨在记录我对这个项目的业务与技术记录,以与同事进行沟通。 ...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

2011新的开始,介绍一下AgileEAS.NET平台在新的一年中的发展方向

2010年总结 这时间真是好东西,在那闲的时候,在你无所事事的时候,它总是那么的缓慢以至于白天等不到晚上、晚上等不到白天,却在你最需要的时候,在你忙的时间,它总是那么的转瞬即逝,多少...

agilelab ⋅ 2011/01/04 ⋅ 0

ML梳理02 | 线性回归、逻辑回归

ML.jpg 关于线回归、逻辑回归,各位大神总结的很精辟了,下面收藏几个好的讲解,以备忘。 逻辑回归三部曲 机器学习系列(1)_逻辑回归初步 机器学习系列(2)_从初等数学视角解读逻辑回归 机器学...

RookieDay ⋅ 02/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Boot整合模板引擎thymeleaf

项目结构 引入依赖pom.xml <!-- 引入 thymeleaf 模板依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId......

yysue ⋅ 16分钟前 ⋅ 0

ConstraintLayout使用解析

AndroidStudio3.0创建Project默认的布局就是ConstraintLayout。 AndroidStudio3.0前的可以自己修改,使用ConstraintLayout。 为了要使用ConstraintLayout,我们需要在app/build.gradle文件中...

_OUTMAN_ ⋅ 28分钟前 ⋅ 0

OSChina 周三乱弹 —— 这样的女人私生活太混乱了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 胖达panda :你经历过体验到人生的大起大落吗?我一朋友在10秒内体验了,哈哈。@小小编辑 请点一首《almost lover》送给他。 《almost love...

小小编辑 ⋅ 今天 ⋅ 9

自己动手写一个单链表

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。 一、概述 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对...

公众号_好好学java ⋅ 今天 ⋅ 0

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部