Download presentation
Presentation is loading. Please wait.
Published byJerónimo Gomes Modified 5年之前
1
江南大学 信息化建设与管理中心 沈叶忠 2017-12-01 yzshen@jiangnan.edu.cn
从“小应用、大平台”说起 江南大学 信息化建设与管理中心 沈叶忠
2
案例一(新版e江南)
3
案例二(网上服务大厅)
4
一个总体架构例子
5
?????
6
从组合到集成再到组合
7
“自顶向下,逐步求精” 分而治之 模块化,从整体到局部再到整体 模块的颗粒度,模块如何表达 各种模块在一个进程空间,单体结构
模块间如何交互? 多组模块在多个进程空间,集成结构 一个模块在一个进程空间,组合结构
8
模块的表达 非自治 自治的 静态库/动态库/静态类(*.lib、*.dll、*.jar) COM/ActiveX组件/控件
OLE Automation服务器 DCOM服务/RPC服务 WS*服务 微服务
9
应用开发模式 结构化方法 面向对象法 良好的秩序 从DFD开始,导出功能结构 从ERD开始,导出信息结构 从用例开始,导出交互结构
从对象开始,导出领域结构 良好的秩序 分层 良好的API及调用关系
10
单体结构 拌面结构 分层结构 (三明治)
11
协同系统(DCS、MIS)
12
协同结构
13
协同模式 独家模式(主体由一家公司独立完成,基于专用标准) 集成模式(主体由多家系统协作完成,基于开放标准)
组合模式(主体由多个组件组合完成,基于开放标准)
14
2002年,亚马逊总裁发了个内部邮件,于是有了今天的SOA(1)
今后所有的团队都必须通过服务接口公开他们的数据和 功能。 团队之间必须通过这些接口来进行沟通。 将不再有其他形式的进程间通信:没有直接连接,团队 与团队之间不再允许直接读取数据存储,不再使用共享 内存模型,没有任何形式的后门。唯一允许的通信方式 是通过网络调用服务接口。
15
2002年,亚马逊总裁发了个内部邮件,于是有了今天的SOA(2)
不论他们用什么样的技术,HTTP、Corba、Pub/Sub、自 定义协议,都不重要。 所有的服务接口必须从底层设计上支持外部化。也就是说, 团队必须在暴露再外界的接口上计划和设计自己的内容,没 有例外。 不按照我说的去做的员工立即离职。 感谢,祝好!
16
筒仓式架构
17
SOA架构
18
集成 为啥要集成?协同的需要 集成的效果!1+1>2 集成点什么? 如何来集成?
19
集成点什么? 系统要求,被集成系统的良好结构 功能集成,API 数据集成,API
20
如何来集成?API! 基于共享库 基于消息系统 基于远程调用(RPC、ESB、HTTP) 文件、DBMS、ODI等
Rabbit MQ、ActiveMQ、Kafka、、、 基于远程调用(RPC、ESB、HTTP) Corba、RMI、DCOM、Thrift、OLE Automation、OPC、 WS-*、REST、、、
21
应用程序的基本结构
22
组合 根据事物之间的联系,将它们有机 地结合成为一体,具有化零为整的功能。 集成是重量级的,系统间的联系。 组合是轻量级的,组件间的联系。
23
基于微服务的组合
24
案例三(常熟理工)
25
在哪里组合? UI前端(混搭,JS) UI后端(BPMS) 业务接口层(BPMS、ESB) 业务层 持久层
26
组合的利弊 RESTful目前是组合的主要技术手段 用例级组件及DDD(领域驱动设计)是组合的立足点
组合模式的好处:CD&CI、跨平台&语言、负载均衡 组合存在的挑战 给运维带来新压力 需要新的技术措施 需要新的支撑平台 需要新的开发模式
27
结论 集成与组合过程长期并存,是1+1>2的过程 应用系统要有良好的API,功能性API与数据性API都需要
单体、SOA、微服务、碎片化都有存在的场景,我更关注 API 组织的体系结构决定信息系统的体系结构(康威),信息系 统需要合适的支撑环境及体系
28
THANKS
Similar presentations