【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

针对许可证、OSGi、以及 SpringSource 应用平台技术现状的反应

  • 2008-05-26
  • 本文字数:2571 字

    阅读完需:约 8 分钟

两周前 InfoQ率先报道了SpringSource 应用平台beta 版的发布。我们的报道引发了剧烈的讨论,在 The Server Side 上的报道同样也引发了众多讨论。在过去的两周里,开发者及业界权威的评论焦点集中在两个方面:许可证 / 一般战略以及 OSGi/ 技术的实现。

许可证及一般策略

在如此之多的评论中,人们既可以找到赞同的声音也可以找到反对的意见。Impala 项目(该项目提出了一个类似于 Spring-DM 的解决方案,采用的是 Apache License 2.0 许可证)的 Phil Zoio 在博文中这样写道

……本质上是 Spring OSGi 的强大集成。我已经表明了我的关切:与应用服务器厂商相比,普通开发者能在多大程度上接受 OSGi。一直以来,总是有人说服我说:普通的 Java 开发者都将对 OSGi 特质表现出极大的热情……有一个许可证的问题。第一次,SpringSource 推出的主要产品使用了非 Apache V2.0 的许可,取而代之,其使用了 GPL 许可证。这种主要变化反映了该公司对自己在市场定位方面的改变……最终,在我脑海中盘旋的一个问题是 Spring 框架本身如何适应这种变化。我一直认为 Spring 框架是出自 Rod Johnson 的旗舰产品……但是对于 Spring 应用框架,他们下了重注……

相反,Per Olesen 看上去对这一产品和许可证表现出极大的热情

……我已经把 spring 框架作为我使用的主要引擎,而且在 POJO ORM 道路上走了很长时间了。远早于 JEE5 和 JPA。而且我喜欢这种方式。在新产品上,我甚至放弃了 JEE5 EJB,因为我发现在许多方面 spring 模型更胜一筹。至于说它正在走向非公开化,这个平台使用的是 GPLv3 许可,我很喜欢。在我眼里,GPL 许可正好适合这类产品。它既确保了开放性,又能被他人所利用……

IBM 的 Billy Newport 从应用服务器厂商的视角提出一些意见:

……这看起来像是我和他人准备在下几年计划 / 希望要做的事情。我们大都在寻找一个具有商业友好许可的(EPL、BSD 或 Apache)基于 OSGi 的分布式平台……总之,我不认为这个平台有价值。我认为它是件商品而已。我认为 profile 和监控 profile 是有价值的东西,我更愿意看到一个具有商业友好许可的 OSGi 分布式运行环境,将它作为厂商构建中间件 /profile 的新的 JVM。假如 Spring DM 是 Apache 许可的,我就会认为在 Spring 服务器上所作的额外工作是纯净的,很快就可于以 EPL 或 Apache 许可证使用,而这将会限制出售 SpringSource 服务器的价值……我并不想贬低 SpringSource 所做的一切,它确实很好也是必须的,但是假定它的大部分组件是 Apache2.0 或 EPL 的许可,那么最终的隔阂比构建一个 Java EE 或 BPEL 流程引擎要简单的多,就这些。

IBM 的 Jerry Cuomo也作出了评论

……InfoQ 上的一篇文章带来了这则消息之后,我的收件箱里就充满了邮件。标题行这样写道——“SpringSource 向 WebSphere 宣战”。真的吗?我不这么认为。我是一个 Spring 迷,我认为 OSGi 基础和 Spring 框架这样的技术是基于 Java 应用服务的未来形式。适用于所有服务器的那种放之四海而皆准的方式已经逐步进化为针对特定类型工作负载构建专门的服务器……现在,我觉得 SpringSource 变质并在 GPL 许可下做这件事是可耻的。业界将从 Apache 许可的“参考”应用平台中获益……因此,进化为合适大小、能满足多种个性需求的平台的趋势并不会引发混乱,更不是 SpringSource 和 WebSphere 之间的一场决战——这只是业界进化的方式——或许 Java 社区可以像以前那样齐心协力,制造公平的竞争机会。我们的客户十分赞赏这一点……

最终,Marc Fleury(JBoss 创始人)的深思对众多的反应进行了总结:

事实是,我有点关心但是又不太关心。在我看来这是风险投资驱使的结果。作为一个开发框架,Spring 是一个天生的顾问,但是他们在运转过程中一直与他们的销售不断奋斗。瞧,我们现在有一个画在 OSGi 核心周围的方框……最后,我不知道这会对它与其它应用服务器的关系产生怎样的影响。他们不再中立……大伙瞧瞧,应用服务器大战曾经打响并在 2005 年结束了。现在是 2008 年了,到处都是 POJO 编程,EE 编程模型被淡化了。

OSGi 和技术现状

在对所期待的战略进行说明的同时,SpringSource 应用平台宣布也对来自众多活跃在 OSGi 社区的开发者进行了回应。 Neil Bartlett 给出了许多积极的评价,包括:OSGi 的常规使用、已宣布的 bundle 库、以及 SAP 解决了在哪里启动 OSGi 的问题。可是,他也关注新的 bundle header:

……现在,这儿有些让我紧张的事情……有两个新的 bundle headers:Import-Bundle 和 Import-Library。在我看来,Import-Bundle 与 Require-Bundle 存在同样的问题。这一新的 header 只是提供了间接引用(例如,你提供一个逻辑 bundle 名,而不是真实的 Bundle- 符号名——Bundle-SymbolicName)。这并没有修正关于绑定到一套 package 周围的 wrapper 上而不是 package 本身这个问题。Import-Library 看起来更糟,它会在整套 bundle 上立即执行 Import-Bundle!……

Peter Kriens 有着类似的想法:

……总而言之,bundle 仓库非常好。……这个 bundle 仓库必须要做一个艰难的工作。名誉!……然而,SpringSource 应用平台是一种冲击。从文档中,我发现了很多感觉像是 OSGi 的 headers,但是我并不承认,包括:Import-Library、Import-Bundle、应用等等。看起来 SpringSource 已经全面“改良”了 OSGi……

SpringSource 团队也发表了几篇博文,详细描述了应用程序平台的不同方面:

使用 SpringSource 应用平台在 OSGi 上运行 Spring 应用

  • 装载时编织(Load Time Weaving)
  • Classpath 扫描
  • 线程上下文类装载器管理

SpringSource 应用平台开发选项

  • 原始(Raw)OSGi Bundles
  • Java EE WAR
  • Web 模块(Modules)
  • 平台存到文件 (PAR)

SpringSource 应用平台 Manifest Headers

  • Import-Bundle
  • Import-Library

使用 SpringSource 应用平台的供应库(provisioning repository)

  • 运行时供应(Runtime provisioning)
  • 给供应库中增加项目
  • 在不同安装之间共享供应库

SpringSource 应用程序框架的一个主要好处是,它有按需供应依赖能力。这个好处有两方面作用:它确保了平台内存占用尽量小;不需要把所有依赖都封装到一个部署个体中(例如,一个 WAR 文件)就可以部署。为了利用这些能力,你将需要理解平台的供应库和本博文将要提供的信息……

查看英文原文: Reactions to Licensing, OSGi, and Technical Aspects of the SpringSource Application Platform

2008-05-26 09:15675
用户头像

发布了 150 篇内容, 共 43.1 次阅读, 收获喜欢 9 次。

关注

评论

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

实施知识管理过程中存在的问题(内附解决方案)

小炮

知识管理

天翼云新一代V5云主机,Kvm之生,Xen之死!

天翼云开发者社区

Vue DevTools 使用指南 - 如何安装和使用 Vue DevTools 调试 Vue 组件

蒋川

Vue vue devtools

洞见科技荣获隐私计算新势力奖!创始人姚明出席华夏时报「2022智能数据论坛」

洞见科技

隐私计算 数据智能

程序员不好招了吗,web前端培训应该怎么学习

@零度

前端开发

手绘模型图带你认识Kafka服务端网络模型

华为云开发者联盟

kafka 多线程 网络模型 Reactor多线程 Processor

Linux 管道操作符详解

CRMEB

书单 | 一季度重磅级上榜新书!

博文视点Broadview

国内20家优秀一线低代码平台推荐,经典收藏

J2PaaS低代码平台

低代码 开发工具 低代码平台 J2PaaS低代码

墨天轮访谈 | 腾讯张铭:带你揭秘王者荣耀背后的游戏数据库 TcaplusDB

墨天轮

数据库 TcaplusDB 国产数据库

再论ORACLE上云通用技术方案

天翼云开发者社区

科学防控 云天励飞打造抗疫全场景方案

科技新消息

云天励飞全场景方案助力科技防疫

科技新消息

GPU时代来临!

Finovy Cloud

人工智能 gpu GPU服务器

制造业企业数据平台建设最佳实践分享

华为云开发者联盟

数字化转型 数据平台 制造业 华为工业云平台 数据应用

整机生产制造头部厂商雷神科技加入龙蜥社区

OpenAnolis小助手

Linux 开源 整机

java培训浅谈程序员怎么避免面试过程中碰壁

@零度

面试 JAVA开发

Kubernetes官方java客户端之五:proto基本操作

程序员欣宸

4月月更

深圳“摘星”!但常态化疫情防控工作不可松

科技新消息

VMware Workstation Pro虚拟机网络设置

DS小龙哥

4月月更

关于防御性编程,你应该知道的事

架构精进之路

编程 4月月更

大数据培训程序员面试屡次碰壁怎么办

@零度

面试 大数据开发

压测做的不对,等于白做

基调听云

性能测试 压测 全链路压测

蒙牛2021年报:数智化大脑为乳业插上腾飞翅膀

科技新消息

【课程汇总】OpenHarmony全场景Demo数字管家系列课(附链接)

OpenHarmony开发者

OpenHarmony 数字管家

人工智能融合赋能平台,赋能智慧城市智能化升级

脑极体

PolarDB-X 正式发布2.1.0版本,Paxos 重磅开源

阿里云数据库开源

数据库 阿里云 开源 分布式 PolarDB-X

每周更新 | Verilog测试用例及波形展示图功能上线

ShowMeBug

TDengine 应用实录:存储缩减超过 60%,HBase 等集群指数级下线

TDengine

数据库 tdengine 物联网

领域驱动设计入门与实践[下]

LigaAI

团队管理 DDD 领域驱动设计思想 LigaAI

专属云资源包计算规格探秘

天翼云开发者社区

针对许可证、OSGi、以及SpringSource应用平台技术现状的反应_Java_Scott Delap_InfoQ精选文章