OSGi 理论: 分层

简介:

OSGi 架构分层

  • 模块层 (Module Layer)
  • 生命周期层 (Lifecycle Layer)
  • 服务层 (Service Layer)

osgi02_fgr1_4

模块层

关注于代码包和重用代码

osgi02_fgr1_5

  • 模块在 OSGi 中被称为 bundle
  • 模块包含: 元数据、类文件和资源文件
  • 模块向外部申明可见包 (exported packages) 和依赖包 (imported packages)
  • 模块解析: 进行导入、导出包的一致性检查

生命周期控制层

关注于模块在运行期的安装、更新、初始化、销毁等过程管理

osgi02_fgr3_1

  • 通过 (install, update, start, stop, and uninstall) 操作动态管理运行期模块
  • 让模块之间,模块与运行期上下文之间建立交互体系

服务层

关注于模块之间的交互协作

osgi02_fgr1_6

  • 实现面向服务架构理论
  • 服务提供
  • 服务请求
  • 服务注册
  • 以 Java interfaces 连接服务提供者和服务请求者
  • 由于动态模块和动态服务可以让服务在任何时间出现和消失

我们的体验

  • 通过模块化划分问题单元,将要解决的问题分而治之
  • 通过生命周期管理层和服务层将模块进行装配连接,从而将模块转换为运行期组件完成服务提供、注册和请求。完全可以避免以前软件编程模式下那种由于软件整体过大带来的破碎问题。赋予模块、系统、应用灵活的伸缩性和扩展性
目录
相关文章
|
SQL Oracle 关系型数据库
项目中经常看到数据库Connection连接与Session这个你好不知道吗?
项目中经常看到数据库Connection连接与Session这个你好不知道吗?
283 1
|
缓存 网络协议 算法
计算机网络常用知识总结!(二)
计算机网络常用知识总结!
685 4
|
监控 Java 开发者
掌握SpringBoot扩展接口:提升代码优雅度的16个技巧
【10月更文挑战第20天】 SpringBoot以其简化配置和快速开发而受到开发者的青睐。除了基本的CRUD操作外,SpringBoot还提供了丰富的扩展接口,让我们能够更灵活地定制和扩展应用。以下是16个常用的SpringBoot扩展接口,掌握它们将帮助你写出更加优雅的代码。
463 0
|
存储 关系型数据库 数据库
在 Postgres 中使用更改列类型
【8月更文挑战第11天】
746 0
在 Postgres 中使用更改列类型
|
搜索推荐 Java 大数据
Java中的数据流处理与流式计算实现
Java中的数据流处理与流式计算实现
|
XML 监控 Java
【JMX】JAVA监控的基石
【JMX】JAVA监控的基石
242 1
|
关系型数据库 MySQL
mysql中插入语句ON DUPLICATE KEY用法
ON DUPLICATE KEY是mysql中特有用法
564 0
|
Java Spring 容器
深入理解BeanDefinition和Spring Beans
本文深入探讨了Spring框架中的BeanDefinition和Spring Beans。BeanDefinition是Bean的元数据,包含类名、作用域、构造函数参数和属性值等信息。Spring Beans是根据BeanDefinition实例化的对象。文章详细阐述了BeanDefinition的属性,如类名、作用域(如单例和原型)及构造函数和属性值。此外,还介绍了如何使用BeanDefinition动态注册、延迟加载和实现依赖注入。通过示例代码,展示了如何创建和自定义BeanDefinition以满足特定需求。理解BeanDefinition有助于更高效地开发和维护Spring应用程序。
354 0
|
关系型数据库 数据库 PostgreSQL
PostgreSQL分区表(Table Partitioning)应用
一、简介   在数据库日渐庞大的今天,为了方便对数据库数据的管理,比如按时间,按地区去统计一些数据时,基数过于庞大,多有不便。
2035 0
|
Java
Java—优化 if-else 代码的 8 种方案
Java—优化 if-else 代码的 8 种方案
917 0
Java—优化 if-else 代码的 8 种方案