打破信息壁垒,建设一体化大平台

简介: 打破信息壁垒,建设一体化大平台

孤岛和烟囱

十几年前有个很火的概念

“信息孤岛”

指的是互相不关联、互相脱节

没有业务和数据流动的多个系统

本来嘛,系统是一个个建立

建设目标不同,使用人员不同

最后就成了孤岛

一旦需要联动、集成

就会遇到各种问题


后来,有了更高级的说法

“信息烟囱”

他比孤岛稍微好了一点

上下是贯通的

但是横向形成了信息壁垒

比如民政的数据

消防的数据

交警的数据

彼此自成体系


在新形势下

各种大数据、一体化平台慢慢兴盛起来

破圈,解决发展的不对称

确保安全可靠的前提下

实现数据共享,业务灵活传递

Facade门面模式

在编程领域,很早就有一种做法

通过统一的门面

将不同的功能集成在一起

比如我们有两个类

一个提供短信服务

另一个提供邮件服务

就可以采用门面集成

/**
 * 邮件服务类
 */
public class MailService{
    public void send(String mailfrom, String mailto, String content){}
}
/**
 * 短信服务类
 */
public class SmsService{
    public void send(String mobile, String msg){}
}

现在使用的时候

需要根据情况选择调用不同的service

但如果采用门面集成一下

就变成了一个类

public class FacadeService{
    private MailService mailService=new MailService();
    private SmsService smsService=new SmsService();
    public void sendMail(String mailfrom, String mailto, String content){
        mailService.send(mailfrom, mailto, content);
    }
    public void sendSms(String mobile, String msg){
        smsService.send(mobile, msg);
    }
}

这样无论发送什么

都只需要调用 FacadeService 即可

有什么意义吗?

这个代码的难度相当低

初学者也能看的明白

但意义何在?

就是为了包装一层吗?


门面模式的应用场景

通常是降低系统访问的复杂度

将多个复杂的程序整合

然后提供给使用者一个简洁的入口

把上面的例子改一下

假如 MailService 和SmsService 里

各自已经封装了数十个方法和内部属性

而 FacadeService 仍然保持不变

那请问,调用服务的人

让他选择调用2个基础类

和只调用门面类

是不是变得简单了呢?

系统演化

对于遗产系统

比如用了很多年的、或是其他厂商的遗产

改造的方法通常有四种:

改造、集成、继承、淘汰

一般是根据原系统的价值和技术决定


比如我们用Java开发

原来的系统是 vb 或 dephie 的

这个就很难继承下来

还有的系统虽然能访问

但简直就是代码shit山

看着就恶心


所以我们一般的原则如下:

技术水平高的系统:改造或集成
技术水平低的系统:继承
业务价值高的系统:改造
业务价值低的系统:集成
技术低,业务也低的话就要淘汰

采取门面集成

大家都用过微信

可以简单的认为

小程序走的就是集成的模式

根据入参的不同,提供大量的应用

而作为用户,只需要一个微信号就可以


这几年微信的野心很大

作为群众基础最庞大的生态

小程序的应用,实际上让微信成了最大的系统入口

无论是用户授权,OAuth,扫码登录,一键登录等等

让众多的应用放在一个统一的平台里

为什么很多人手里的app存活量少?

一是很多低质量的厂商自己作死

广告、消费陷阱等等

另一方面也是空间和代价的考量

现在让一个新用户安装软件

成本基本上在10-20元

诸位都见过滴滴、饿了么、拼多多拉新人有多疯狂


所以这种集成模式

其实还是对用户比较友好的

化繁为简

很多细节无需知道

好用就行了

Spring中的应用

我们最常见的Spring Boot

启动类里都有这么一段:

@SpringBootApplication
public class DemoSvrApplication {
 public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(DemoSvrApplication.class, args);
    }
}

不知道有多人去研究过这个 SpringApplication.run();

这里面就封装了大量细节

包括创建bean容器、初始化bean工厂、上下文设置、监听启动

我们启动的时候控制台显示的一堆日志

就是在隐式的做了大量工作的体现

所以,如果您有以下的需要:

  1. 多个平台合并在一起,提供统一入口
  2. 多个相关功能,避免耦合
  3. 隐藏诸多细节,给使用者简单的入口

这些情况下,就可以考虑使用Facade门面模式

多说无益,动手开干

相关文章
阿里巴巴发布《城市数字孪生能力平台总体技术要求》企业标准, 促进数字孪生互联互通生态建设
2023年3月21日,阿里巴巴集团举办城市数字孪生企业标准发布及研讨会,发布了《城市数字孪生能力平台总体技术要求》企业标准。
阿里巴巴发布《城市数字孪生能力平台总体技术要求》企业标准, 促进数字孪生互联互通生态建设
|
人工智能 供应链 小程序
数智洞察 | 构建新型共治模式,打造开放与生态和谐的平台价值定位
编者按: 在移动互联网时代,人与手机合一,手机与移动互联合一,实现了个人身份的数字化。数亿人聚集在互联网上,形成了一个个巨大的平台。平台经济已经成为共识,无论是政府还是企业,都提出要构建平台。然而,什么是平台?平台的本质属性和基本特征又是什么?本期内容将从平台思维带你探寻平台的价值与定位问题。 本文约3104字,建议阅读时间8分钟。
289 0
|
数据采集 存储 供应链
大型集团企业数据治理实践,推进全域数据资产体系建设 | 数字化标杆
数据治理是推动大型集团企业转型升级、提升竞争优势、实现高质量发展的重要引擎。沉淀了丰富的集团型企业数据治理项目经验,助力客户构建全域数据共享中心,实现数字化升级。
404 0
大型集团企业数据治理实践,推进全域数据资产体系建设 | 数字化标杆
|
存储 Cloud Native 数据挖掘
郑州商品交易所与阿里云达成合作 推进核心数据分析平台建设
5月20日,郑州商品交易所(以下简称“郑商所”)日前与阿里云达成技术合作,通过引入阿里云AnalyticDB云原生数据仓库,进一步提升郑商所数据平台数据分析效率和用户体验。
407 0
郑州商品交易所与阿里云达成合作 推进核心数据分析平台建设
|
大数据 云计算 计算机视觉
大数据合成作战指挥平台建设,情指勤一体化管控系统开发
合成作战平台依托现代化科技手段,包括云计算、大数据、人脸识别、车辆识别、视频结构化等新技术,建立一个多警种共同使用的合成作战平台,为打击侦查、联合办案、合成作战增添有力的利器,从而提升了公安办案效率和增强办案效力。
245 0
|
供应链
羽顺热能:进一步加强上下游供应商战略合作伙伴体系建设
羽顺热能:进一步加强上下游供应商战略合作伙伴体系建设
|
存储 人工智能 监控
应急管理大数据社会化治理体系下媒体数据的价值
近年来,我国应急安全管理工作取了了巨大的成绩,但是,从一些突发应急安全事件处置的情况来看,我们的应急安全处置能力建设尚存在很多短板。当前,我国全社会上下正在进行一场数字化、智能化革命,将数字化和智能化技术引入应急安全管理领域,是提高我国应急安全管理水平,增强对应急安全事件处置能力,最大程度减少应急安全事件对我国社会的所造成的的生命和财产损失的必然选择。
585 0
应急管理大数据社会化治理体系下媒体数据的价值
下一篇
无影云桌面