发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

WebShpere 7 支持基于 OSGi 的应用部署和 SCA 集成

  • 2010-08-02
  • 本文字数:2333 字

    阅读完需:约 8 分钟

WebShpere 应用服务器 V7 的功能包针对OSGi 应用和Java 持久化API2.0 提供了标准实现,该实现遵循 OSGi Blueprint Container 和 Java EE 6 JPA 2.0 规范。该版本还提供了一个可选功能,可以把 Java 应用作为版本化的 OSGi Bundle 的一个集合来装配、部署和管理。IBM WebSphere 团队最近宣布正式发布的功能包是基于Apache 的项目 Aries OpenJPA 。WebSphere 应用服务器的功能包是可选的安装产品,用于应用服务的扩展,提供了一系列新的相关标准和特征。

OSGi 和 JPA 的新特性包括,既能独立安装,也可以一起安装,提供基于 POJO 的组件模型和持久化框架,同时还为 Web 应用的开发和单元测试提供模块化的部署系统。OSGi 的应用特征支持以模块化的风格来开发和部署企业应用,并且为 WebSphere 应用的部署流程引入了 OSGi Bundle 的配置仓库。这使得一些通用的 Bundle 从独立的企业应用档案中分离出来,以 Bundle 仓库的形式集中管理。Bundle 的多版本都可以安装在 Bundle 仓库中,根据应用中的元数据描述,不同的版本可以为其相关的企业应用提供服务。OSGi 的应用特征包括 OSGi V4.2 的 Blueprint 容器,与 WAS 的运行时环境集成后可以简化 POJO 组件的开发和配置,同时可以让容器中的 Bean 以声明式机制来发布和消费 OSGi 服务。这里提到的容器不仅仅是 Bean 的组件,容器中的 Java 包依赖于 OSGi 框架和服务器运行时环境,这样可以在服务器环境以外对 Bean 的组件进行单元测试。新版本的 Rational Application Developer (RAD) V8 Beta 提供了 OSGi 应用的开发工具。

RAD 为 OSGi Bundle 项目和 OSGi 应用项目引入了新的项目类型,可以自动生成 Manifest 信息,并提供了格式化的编辑器。OSGi 的模块化语义已经被加入到了项目的构建路径,提供开发环境支持模块化设计。RAD 的基于 Facet 的配置方式使得 OSGi 项目可以像 OSGi Web 项目或 OSGi JPA 项目那样进行配置,同时提供了针对 web.xml、persistence.xml 和 blueprint.xml 的集成工具。OSGi 应用项目可以从企业 Bundle 档案中导入和导出,既可以运行在 RAD 选装的 WebSphere Application Sever V7 的 RAD 工作空间,也可以运行在远程的安装了 OSGi 应用功能的 WSA V7 上。

JPA2.0 的新标准包括持久化领域建模的改进,新的元模型和标准 API,实体 Bean 校验,JPQL 和更多的 O/R Mapping 元数据的更新。JPA2.0 提供了轻量级的 2 级缓存集成,当 WebSphere extremeScale 可用时,OpenJPA2.0 将采用它作为二级缓存来改进数据存取的性能。

InfoQ 找到了 IBM 的 WebSphere 架构组的杰出工程师 Ian Robinson,请他谈一下新功能包的发布。他表示 OSGi 已经是 IBM 策略的一部分,但它主要用于内部项目(例如 WebSphere 和 Eclipse )。随着 OSGi 企业版本 4.2 的发布以及 OSGi 在企业应用部署方面扮演的角色,OSGi 成为了相关领域的主题,OSGi 可以通过 Bundle 的模式部署应用模块来简化部署流程,同时支持开发人员和 IT 操作人员。Ian 最近了一篇博客,介绍了OSGi 和SCA 集成,以及通过工具支持使用这些新功能。当安装了SCA 的1.0.1.5 或更新版本的WAS V7 功能包发布时,OSGi 的功能就可以与WebSphere 应用服务器的服务组件架构(SCA)联合使用了。SCA 提供了装配模型,可以把异构的模块进行粗粒度的组合,这样的组合可以为那些不同的可配置的绑定定义外部服务和引用。通过组装成SCA 组件,OSGi 应用可以远程暴露它的任何Blueprint──把OSGi 服务配置为SCA 服务,远程配置绑定这些服务。

InfoQ:你能介绍一下 OSGi Blueprint Container 是怎么工作的吗?与其他的 OSGi 框架比较呢?例如 SpringDM 项目。

Blueprint 容器是 OSGi 企业级 V4.2 规范的一部分。它为 OSGi 应用提供细粒度的装配模型,同时支持以简单声明方式来发布 OSGi 服务,该服务是由 POJO Bean 组件提供的。POJO Bean 组件的生命周期和依赖注入由 Blueprint 容器来管理,Blueprint 通过 Bundle 级别的 XML Bean 定义文件来进行配置,这种配置方式是根据 SpringDM Bean 的 xml 文件标准进化而来。目前存在一系列兼容的 Blueprint 容器的实现──例如在开发的 Apache Aries 项目(该项目在安装 OSGi 应用特征时已经被集成到 WAS 中),以及 SpringDM 项目,该项目被 VMWare 贡献给了 Eclipse Gemini 项目。通过许多企业级扩展可以不断增强 Apache Aries Blueprint 容器的功能,这还包括,把容器集成到类似 WAS 的企业环境时,对其事务和持久化的支持。

InfoQ:IBM 把 OpenJPA 2.0 集成到 WebSphere 应用服务器,到底对哪些方面有增强和改进,你能详细描述一下吗?

当安装了 JPA 功能后,JPA 2.0 的功能是由 OpenJPA 2.0 提供的,OpenJPA 2.0 已经作为 WebSphere 应用服务器运行时的一部分。除了与 WAS 的管理、调试、监控和安全集成外,JPA 2.0 运行时还可以通过集成 Data Studio pureQuery Runtime(现在叫 Optim pureQuery Runtime )进行扩展。PureQuery Runtime 是一个高性能 Java 数据访问平台,可以帮助应用系统实现数据访问。PureQuery 能对现有的 Java 类进行挖掘分析,收集绑定到静态包的 SQL 语句,而不需要执行应用程序,还能够显式的改变 DB2 静态 SQL 执行的好处。它可以帮助 DBA 对系统进行修改和锁定 SQL 而不需要修改应用程序,能够提供足够的信息快速跟踪 SQL、找到根源。

InfoQ:在新功能和增强方面,WebSphere v7 OSGi 和 JPA 功能包有哪些规划?

你可以看到在未来我们会进一步增强这些功能,例如作为新版本的 OSGi 企业特性进行发布。既然我们已经开始基于更为广泛的开源社区开发底层技术,那么未来你就可以通过关注 Apache OpenJPA 和 Aries 这样的项目看到 WAS 的集成方式和发展前景。

查看英文原文: WebSphere 7 Feature Pack Supports OSGi-based Application Deployment and SCA Integration

2010-08-02 07:223947

评论

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

中小型城市商业银行数字化转型实践(一)整体技术架构转型(双态IT)

泡菜小仙

数字化转型 架构设计 技术架构

MyBatis支持的jdbcType 枚举类型

Kevin Liao

部门最漂亮的妹子离职了

无箭的丘比特

团队管理 生涯规划 企业文化 职场

如何设计一款“高可用高性能”的发号器?

捉虫大师

Java 高可用 发号器 高性能 raft

程序员的晚餐 | 5 月 19 日 蒜香鸡腿,味道令人惊讶

清远

美食

回“疫”录(21):你这样做的样子真丑

小天同学

疫情 心理 回忆录 现实纪录 纪实

在Gitlab-ce的Docker中使用自定义端口

天飞

Docker gitlab

看得懂的区块链及智能合约概念

石君

区块链 智能合约

谁能让你安稳

Neco.W

工作 稳定性 努力工作

520 我用算法帮女朋友的闺蜜选男友

cherubines

Python 算法 数据分析 蒙特卡洛 最优解

Kubernetes时代的云容器平台:各家云产品模式逐渐丰富

韩超

腾讯云 阿里云 Kubernetes IaaS PaaS

《零基础学 Java》 FAQ 之 9-Java里的各种数据类型占用多少内存空间

臧萌

Java

看完这篇 HTTPS,和面试官扯皮就没问题了

cxuan

https

「Postman教程 」接口测试-2

Megatron7

测试 Postman

Oracle 数据恢复一例

wong

oracle windows dbf

SQL 生成斐波那契数列

zero

sql 斐波那契 MySQ

中小型城市商业银行数字化转型实践(二)集成关系ESB APIGateway ServiceMesh

泡菜小仙

架构设计 集成架构 ESB

2020年5月19日 Java并发编程专题

瑞克与莫迪

Java

中小型城市商业银行数字化转型实践(三)数据中台建设思路和路径

泡菜小仙

数据中台 数字化转型 数据架构

Android | Tangram动态页面之路(四)vlayout原理

哈利迪

android

实现一个比LongAdder更高性能的计数器有多难?

捉虫大师

Java jdk LongAdder

我的读书笔记-樊登读书法

lmymirror

学习 读书笔记 方法论 读书方式

linux文件系统-inode学习整理

戈坞昂

Linux inode

生活就是这么讽刺,有时候你嘲笑他,有时候你想成为他......

代码诗人

中年危机 文艺 短片小说

关于键盘的一些事

BabyKing

vim 缓存 键盘 快捷键 karabiner

MacOS 下使用VSCode进行GoLang Test报错

北纬32°

macos vscode Unit Test debug Go 语言

「Postman教程 」功能介绍-1

Megatron7

测试 Postman

从Deepl说起,聊一聊未来的“安全职业”

孤岛旭日

程序员 AI 职业

你的c++团队还在禁用异常处理吗?

泰伦卢

c c++ C#

奇怪知识点系列:Office 365 CDN 揭秘

手艺人杨柳

Office 365 Microsoft 365 SharePoint Online

比特币是新生事物吗?

Haiyung

比特币

WebShpere 7 支持基于OSGi的应用部署和SCA集成_Java_Srini Penchikala_InfoQ精选文章