组件、套件、 中间件、插件
组件
位于框架最底层,是由重复的代码提取出来合并而成。组件的本质,是一件产品,独立性很强,组件的核心,是复用,与其它功能又有强依赖关系。
模块
在中台产品和非中台产品中,都会把具有同一功能价值的,或具有同一业务属性的,按不同粒度定义为一个模块。不同的是,在非中台产品中,主应用与模块、模块与模块间是强耦合关系,模块不可以独立运行;而在中台产品中,主应用与模块间的耦合变为主应用与接口、接口与模块的耦合,这样,降低了模块间的耦合,模块是可以独立运行的。
套件
技术中台产品化的过程,也是确定套件组成的过程,如:套件中有哪些模块?各模块有哪些组件或功能?
中间件
是一种独立的系统软件或服务程序。分布式应用软件借助这种软件在不同的技术之间共享资源。它位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件。这样相连接的系统,即使具有不同的接口,但通过中间件相互之间仍能交换信息。典型的云化中间件包括分布式消息队列、分布式缓存、分布式锁、分布式ID等。
插件
是一种遵循一定规范的应用程序接口编写出来的程序。很多软件都有插件,例如:在IE中安装相关的插件后,WEB浏览器能够直接调用插件程序,用于处理特定类型的文件,如Flash插件、RealPlayer插件、ActiveX插件等。
不同点
(1)组件,封装的是一个独立的功能,可以作为一个产品输出。
(2)模块,是由一个或多个组件组成,模块与模块之间的逻辑关系并不会在中台产品中体现,它们之间的逻辑关系是在新的产品或解决方案中。
(3)套件,可以是由一个多个组件,也可以是一个或多个模块组成,是一个或多个产品的组合,它最初为解决某一特定问题制定解决方案,再将其产品化。
(4)插件,将主控制流程封装在内部后,需要扩展的点让开发者去扩展。插件就是插到程序所暴露出的扩展点上的。
(5)中间件,与操作系统、数据库管理系统并称基础软件的“三驾马车”。与组件、模块、套件和插件相比,其复用性的约束更多的体现上计算机资源管理和网络通讯上。
案例
名称 | 示例产品 | 功能价值 | 示例产品应用典型 | 使用场景 |
中间件 | 消息中间件 | 解决大量处理请求的排队和缓冲,并保证高性能情况下不丢失消息。 | Kafka、RocketMQ(阿里、头条)、ActiveMQ(Apache)、RabbitMQ(美团、汽车之家)、CMQ(腾讯)等 | 削峰填谷、异步解耦、顺序消息、分布式事务消息等。 |
组件 | UI组件 | 丰富的UI绷件库,易用的拖拽式页面构建体验 | 应用魔方、易企秀等 | 通过拖拉拽快速搭建页面,达到低代码甚至零代码的目的。 |
套件 | 分布式核心套件 | 沉淀的具有高度通用性、稳定性的分布式金融核心套件,包含资产、客户、产品等多个应用组件,合作伙伴可以基于分布式金融核心套件快速实现银行业务的创新。 | 分布式核心套件(蚂蚁金服) | “大中台”理念,需要将业务中台的原子能力按照业务连续的功能进行归纳,抽象、整合成符合业务语言的能力组件,将产品的生产过程从产品设计、系统架构、研发流程进行全链路的升级转变。 |
插件 | chrome插件 | 方便快捷、提高效率 | Google Keep,Chrome版的Todolist | 在使用主应用软件时,加载插件,增加附加价值,提高用户效率和用户体验。
|