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 连接服务提供者和服务请求者
  • 由于动态模块和动态服务可以让服务在任何时间出现和消失

我们的体验

  • 通过模块化划分问题单元,将要解决的问题分而治之
  • 通过生命周期管理层和服务层将模块进行装配连接,从而将模块转换为运行期组件完成服务提供、注册和请求。完全可以避免以前软件编程模式下那种由于软件整体过大带来的破碎问题。赋予模块、系统、应用灵活的伸缩性和扩展性
目录
相关文章
|
6月前
|
Java 持续交付 数据库
避免服务分层污水池反模式
【6月更文挑战第30天】本文介绍污水池反模式,分层架构在敏捷性、部署性和性能方面得分较低,但具有高测试性和易开发性。关键在于合理分层以降低耦合和提高解耦效果。
262 1
避免服务分层污水池反模式
|
5月前
|
缓存 项目管理
项目管理定义问题之DDD架构的分层架构中基础层作用是什么
项目管理定义问题之DDD架构的分层架构中基础层作用是什么
|
消息中间件 缓存 前端开发
新项目,不妨采用这种架构分层,很优雅!
新项目,不妨采用这种架构分层,很优雅!
240 0
|
消息中间件 前端开发 小程序
DDD实战之五:战略设计之上下文映射和系统分层架构(下)
DDD实战之五:战略设计之上下文映射和系统分层架构(下)
DDD实战之五:战略设计之上下文映射和系统分层架构(下)
|
开发框架 Java Spring
低依赖架构思想
天上飞的理念,必有落地的实现! 软件系统中一个类中用到了另一个类就产生了依赖,依赖是不可避免的。但我们尽量要降低依赖,以达到高类聚、低耦合的系统架构。低依赖软件系统架构的思想为——依赖倒置,具体可解读为两点: 1.上层模块尽量不要依赖于具体的下层模块,而是应该尽量让它们共同依赖于一个抽象。 2.抽象尽量不要依赖于具体对象,而是应该具体对象依赖于抽象。
99 0
|
测试技术
【系统架构】体系结构的演化
【系统架构】体系结构的演化
242 0
|
JSON 缓存 监控
代码分层设计
在搭建一个项目之前,除了要进行架构和业务方面的设计和分析,往往还需要对代码的结构进行规范化设计。而分层思想,是应用系统最常见的一种架构模式。
606 0
|
前端开发 小程序 机器人
DDD实战之五:战略设计之上下文映射和系统分层架构(上)
DDD实战之五:战略设计之上下文映射和系统分层架构(上)
DDD实战之五:战略设计之上下文映射和系统分层架构(上)
|
数据库连接 数据库
经典三层架构以及分层的原则
经典三层架构以及分层的原则
275 0
|
架构师 人工智能 中间件
如何自底向上推导应用逻辑架构?+如何自顶向下构建架构?(节选)
如何自底向上推导应用逻辑架构? 一、什么是架构? 大概是在11年前左右,在土豆网做广告平台,同时也做视频CDN的相关事情,当时做一个服务,基础架构是lighttpd + squid + tomcat,将静态资源分离到httpd,get请求使用squid缓存,智能路由使用HTTP post请求,并让tomcat提供服务,当时就觉得这就是架构。
11353 0