NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:223957

评论

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

数字经济快速发展下企业需要什么样的数智平台?

用友BIP

企业数智化 数智平台

漫画告诉你什么是生成式 AI(二)

FN0

AIGC

测试左移右移,到底是什么?

老张

测试右移 测试左移

顶象发布《车企App安全研究白皮书》,剖析车企App两大风险

说山水

前端AST详解,手写babel插件

不叫猫先生

6 月 优质更文活动

旺链科技赋能泳池卫士守护人身安全

旺链科技

区块链 泳池安全 泳池卫士

GaussDB(DWS)查询过滤器原理与应用

华为云开发者联盟

数据库 华为云 华为云开发者联盟 企业号 6 月 PK 榜

面试官:什么时候 MySQL 查询会变慢?

做梦都在改BUG

Java MySQL 数据库

立即报名 | Microservices June 微服务之月再度开启

NGINX开源社区

nginx 微服务

【体验有奖】玩转 AIGC,函数计算 x 通义千问预体验,一键部署 AI 应用赢 Airpods

阿里巴巴云原生

阿里云 云原生 AIGC

漫画告诉你什么是生成式AI(一)

FN0

AIGC

【Netty】「NIO」(三)剖析 Selector

sidiot

Java 后端 Netty 6 月 优质更文活动

亚信科技AntDB数据库荣获赛宝优选信创优秀解决方案奖

亚信AntDB数据库

AntDB AntDB数据库 企业号 6 月 PK 榜

BH1750 传感器实战教学 —— 驱动移植篇

矜辰所致

传感器 I2C 6 月 优质更文活动

线程池性能提升之道:核心线程数选择与定制实战

做梦都在改BUG

Java 多线程 线程池

vue2.x与vue3.x中自定义指令详解

不叫猫先生

Vue 自定义指令

Flink实例:处理IoT事件流

TiAmo

IoT Flink实例 事件流 6 月 优质更文活动

跨平台开发工具 kbone 实操经验分享

Onegun

小程序 跨平台 前端框架 kbone

选择优质的led透明屏的7个步骤

Dylan

产品、 LED显示屏 售后服务

vue2.x,vue3.x使用provide/inject注入区别

不叫猫先生

Vue 6 月 优质更文活动

中企出海,数智人力重构企智人效的人才供应体系

用友BIP

人力资源 中企出海 数智人力

深度学习应用篇-计算机视觉-图像分类[2]:LeNet、AlexNet、VGG、GoogleNet、DarkNet模型结构、实现、模型特点详细介绍

汀丶人工智能

人工智能 深度学习 计算机视觉 图像分类 6 月 优质更文活动

【云原生】Docker的基本使用方法与优势

不叫猫先生

Docker 6 月 优质更文活动

进阶篇丨链路追踪(Tracing)很简单:链路成本指南

阿里巴巴云原生

阿里云 云原生 链路追踪

【Netty】「NIO」(二)阻塞模式与非阻塞模式

sidiot

Java 后端 Netty 6 月 优质更文活动

Vue项目中实现ElementUI按需引入

不叫猫先生

Vue Element UI 按需加载 6 月 优质更文活动

Vue3项目中Pinia状态管理工具的使用

不叫猫先生

Vue Pinia 6 月 优质更文活动

前端内存泄漏详解

不叫猫先生

内存泄露 6 月 优质更文活动

聚焦数智人力,让员工“跳槽”不再尴尬!

用友BIP

人力资源 数智人力

人工智能创新挑战赛:海洋气象预测Baseline[4]完整版(TensorFlow、torch版本)含数据转化、模型构建、MLP、TCNN+RNN、LSTM模型训练以及预测

汀丶人工智能

人工智能 数据挖掘 深度学习 LSTM 6 月 优质更文活动

【JavaScript】手写Promise

不叫猫先生

JavaScript Promise 6 月 优质更文活动

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