QCon北京|3天沉浸式学习,跳出信息茧房。 了解详情
写点什么

使用 OSGi,SCA,BPEL 和 Spring 增强可管理性

  • 2008-03-04
  • 本文字数:1218 字

    阅读完需:约 4 分钟

自 OpenSOA 最初发布名为“优势整合,SCA,OSGi 和Spring ”的白皮书以来,这三种技术的整合产生了一些有趣的事情。甚至有一个这种基础设施的商业实现 Spring 动态模块早已合并了 Spring 和 OSGi,同时 Spring Bean 可以被作为一个 SCA 的组件实现使用。最近,Tuscany 的 Java 实现被构建在了 Apache 的 OSGi 框架 Felix 之上。

如果 William Vambenepe愿意承认这种新型基础设施所声称的

  • “灵活性” (感谢 OSGi)
  • “可测试性”(感谢 Spring)
  • “可重用性” (感谢 SCA)

那么他不太同意白皮书作者的观点,表现在:

  • “简单性”……除非你是一少部分对所有三种工具都有涉猎的人之一。
  • “可管理性”,让我们称之为“可管理潜力”,并保持友好。

可管理性是 SOA 的一个重要方面。在一次私人通信中,Brian Cowan,一个位于西雅图的大型保险公司的首席商业架构师指出: > SOA 似乎正将一些单块(monolithic)应用模型的复杂性推给了管理和运营。这是你得以实现、部署、伸缩或者保护你解决方案的每个独立部分所必须付出的代价。

William 在他更早的一篇文章里对 SCA 在可管理性上的影响做了评论

我看到了 SCA 的另一个优势:它是机器可读的组合应用的逻辑的描述,并位于一个对应用和服务管理有用的粒度层次。

与 SCA[类似],BPEL 不是针对可管理性而设计的。它更多定位于提高生产力、可移植性以及灵活性。[……] 它还提供了对应用管理非常有用的元数据。无论是从突显应用流程(通过活动),还是从阐明依赖和关联策略(通过伙伴链接)的方面来说。

SCA,OSGi 和 Spring 还有助于填补那个空白。它们提供额外的应用元数据,这些元数据可以被应用管理工具用来给管理任务提供更多的应用上下文。

在这篇对 OSGi 进行了广泛介绍的白皮书里,作者指出:

OSGi 服务平台是专为那些能够无人值守操作或者在一个平台操作员的控制下操作的设备而设计的。这些就是需要远程管理的设备。

远程管理设备需要一个协议。选择一个适当的协议很困难,因为有太多的选择,包括 SNMP、CMISE、CIM、OMA DM 或者其它协议。

OSGi 联盟决定不优先选择其中一个协议而否定其它的,因为没有一种协议能够适合各种情况。因此 OSGi 联盟选择了一个体系结构,其提供了一个能够被一个经过授权的 Bundle 使用的管理 API。这时,这个经过授权的 Bundle 就能够扮演一个管理 Bundle,在这里 Bundle 将一个协议映射到 API 调用上。

事实上,西班牙的马德里综合技术大学(Universidad Politécnica de Madrid)电讯工程系(Departamento de Ingeniería Telemática)已经为OSGi 服务平台开发出了一个叫做 JMood 的基于 JMX 的管理代理。

结尾,William 提出了一些注意事项:

虽然这一切很令人兴奋,不过我们中的一些人还想知道,这样冒着风险将这些规范过于紧密的衔接到一起是不是太早了。我见过太多这种“标准框架”的 powerpoint 幻灯片,来展示一系列开发中的规范能够如何如何准确地协同工作来满足世界的所有需求。

查看原文: Enhanced Manageability with OSGi, SCA, BPEL and Spring

2008-03-04 09:481810
用户头像

发布了 29 篇内容, 共 42178 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

🌏【架构师指南】教你如何设计和规划系统架构(13条)

洛神灬殇

架构设计 架构设计原则 架构师技能 6月日更

Kubernetes手记(9)- Ingress 控制器

雪雷

k8s 6月日更

Windows 使用 PowerShell 来管理另外一台 Windows 机器

HoneyMoose

22 图 |M1 和 Docker 谈了个恋爱

悟空聊架构

Mac M M1 Dock 6月日更 dokcer

JAVA对象直接输出的打印结果是什么?

加百利

Java 后端 字符串 6月日更

系统设计系列之任务队列

看山

MQ 6月日更

Python——列表元素的排序

在即

6月日更

Java Shutdown Hook 场景使用和源码分析

陈皮的JavaLib

Java 线程安全 Thread

金三银四跳槽季,美团、字节、阿里、腾讯Java面经,终入字节

Java 程序员 架构 面试

给dubbo贡献源码,做梦都在修bug

捉虫大师

dubbo

如何拆分大型单体系统为微服务

Zhang

微服务

深入SpringBoot的异常处理(一)

卢卡多多

异常 SpringBoot 2 全局异常 6月日更

栈和队列没想象中那么难

北游学Java

Java 数据结构 队列

🌏【架构师指南】带你分析认识缓存穿透/雪崩/击穿

洛神灬殇

缓存穿透 缓存击穿 缓存雪崩 6月日更

网络攻防学习笔记 Day42

穿过生命散发芬芳

网络攻防 6月日更

读深入ES6记[五]

蛋先生DX

ES6 6月日更

并发王者课-黄金1:两败俱伤-互不相让的线程如何导致了死锁僵局

MetaThoughts

Java 多线程 并发

三步教你编写一个Neumorphism风格的小时钟

空城机

JavaScript Vue 大前端 6月日更

马丁策略量化交易系统搭建,网格量化策略系统

kubelet分析-pvc扩容源码分析

良凯尔

Kubernetes 源码分析 kubelet Ceph CSI

颠覆与创新,区块链将成音乐产业的下一个风口

CECBC

图解 SQL,这也太形象了吧!

xcbeyond

MySQL 6月日更

2021年最新阿里巴巴Java面试权威指南(泰山版)震撼来袭

Java 程序员 架构 面试 计算机

Django组队学习Task0

IT蜗壳-Tango

IT蜗壳教学 6月日更 Datawhale

职场礼仪之坐车礼仪

石云升

6月日更 职场礼仪

区块链行业的《高考志愿填报指南》

CECBC

GitHub已霸榜!阿里技术官肝了3个月才完成的20万字Java面试手册

Java 程序员 架构 面试

【Flutter 专题】106 图解 AnimatedWidget & AnimatedBuilder 动画应用

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

Windows PowerShell ISE 是什么和 PowerShell 有什么区别

HoneyMoose

NQI国家质量基础设施“一站式”公共服务平台开发建设

源中瑞-龙先生

开发 NQI 质量基础设施“一站式”

小型电商微服务架构拆分

Simon

架构实战营

使用OSGi,SCA,BPEL和Spring增强可管理性_SOA_Jean-Jacques Dubray_InfoQ精选文章