文档章节

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

猪刚烈
 猪刚烈
发布于 2014/10/12 11:47
字数 1991
阅读 34
收藏 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是不存在这一问题的。

本文转载自:http://blog.csdn.net/bluishglc/article/details/6423893

猪刚烈

猪刚烈

粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
私信 提问
加载中

评论(0)

如何让新员工快速成长

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

数通畅联
2016/10/28
100
0
软考架构师(7)——信息系统基础

全文链接:https://www.cnblogs.com/nullering/p/9684820.html 一:信息系统基础 1:信息 不确定性的减少,系统有序程度的度量 信息论:单位bit,   熵: 信息的基本特征: 客观性,普遍性...

osc_88djj30s
2018/10/18
1
0
HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-上篇

一、开篇 上一篇《HRMS(人力资源管理系统)-从单机应用到SaaS应用-系统介绍》我们已经详细的分析了HRMS系统具备的功能,并且从HRMS系统的概念、系统功能、HR行业管理现状及痛点、发展趋势及行...

何戈洲
2018/09/20
0
0
关于销售手册和培训工作的关联和启动

@ginger_jiang @Jeasun ,两位的周报中好像都还没有非常完整的关于这项工作的关联思考和当前作用力判断,我们其实非常需要这个工作的推进,具体的工作步骤和计划,我很有兴趣与两位及各位兴趣...

Mishell
2016/06/20
114
5
程序员转型架构师,推荐你读这几本书

从CRUD的程序员,到系统的架构师,进阶推荐读这几本书。架构师书单分为两部分,第一部分是关于系统架构的方法论,包括领域驱动设计,微服务,整洁架构,第二部分介绍各大互联网大公司是如何做...

邴越
2019/10/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL 8.0中的 explain analyze(译)

原文地址:https://mysqlserverteam.com/mysql-explain-analyze/ MySQL 8.0.18刚刚发布(译者注:原文发表时间为October 17, 2019),它包含了一个全新的特性来分析和理解查询是如何执行的:ex...

osc_jt4jtar1
2分钟前
0
0
终于有人把 java代理 讲清楚了,万字详解!

什么是代理 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类...

osc_ff00dxfp
4分钟前
0
0
Java中this和super的用法总结

这几天看到类在继承时会用到this和super,这里就做了一点总结,与各位共同交流,有错误请各位指正~ this this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 this的...

osc_mxz6aybo
6分钟前
0
0
LINQ之路 4:LINQ方法语法

书写LINQ查询时又两种语法可供选择:方法语法(Fluent Syntax)和查询语法(Query Expression)。 LINQ方法语法是非常灵活和重要的,我们在这里将描述使用链接查询运算符的方式来创建复杂的查...

osc_7z601p6x
7分钟前
0
0
MyBatis核心配置文件模版

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration>   ......

osc_8133ea6r
8分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部