写点什么

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

评论

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

华为云CDN为企业下载加速,极大提升客户体验

i生活i科技

CDN

2023-01-12:一个n*n的二维数组中,只有0和1两种值, 当你决定在某个位置操作一次, 那么该位置的行和列整体都会变成1,不管之前是什么状态。 返回让所有值全变成1,最少的操作次数。 1 <

福大大架构师每日一题

算法 rust Solidity 福大大

华为云ECS弹性可扩展,为企业提供可靠、稳定、灵活、高效的计算环境

秃头也爱科技

Spring Cloud Alibaba 2022.0.0.0 版本发布啦!

阿里巴巴中间件

阿里云 云原生 Spring Cloud Aliababa

用大数据服务医疗行业,华为云大数据BI,为医院智能决策提供保障

秃头也爱科技

【玩转 Cloud Studio】 Cloud Studio的入门教程

Geek_7ubdnf

studio

Jira + GitLab 实践 DevOps

跟YY哥学Jira

DevOps gitlab jenkins Jira

解决企业数据存储难题:华为云OBS,企业“上云”的不二之选

路过的憨憨

华为云弹性云服务器 ECS,如何引领行业高速发展?

路过的憨憨

Java在Mac里启动一个新的Terminal

IT蜗壳-Tango

IT蜗壳教学

数据即价值,华为云大数据BI解决方案助力企业实现数据高效转化

秃头也爱科技

更可靠、更高效的华为云ECS,助力企业业务迅速起飞

秃头也爱科技

瑞萨E1/E20烧录工具自检方法

不脱发的程序猿

嵌入式 汽车电子 MCU 瑞萨 RH850

Atlassian FaaS 云开发平台 Forge 解析

跟YY哥学Jira

Jira Atlassian 云版 app development Forge

告别“自建房”,华为云ECS为企业提供更优选

科技说

华为云桌面Workspace荣获CSDN年度创新产品与解决方案大奖

Geek_2d6073

Python数据可视化:数据分布图表可视化

不脱发的程序猿

Python 数据可视化 大数据分析

聊一聊华为云弹性公网IP的那些事儿

路过的憨憨

读 2022 年 JavaScript 趋势报告

devpoint

typescript vite SOLID tauri

Dubbo 正式支持 Spring 6 & Spring Boot 3

阿里巴巴中间件

spring 阿里云 云原生 Spring Boot dubbo

CSDN 2022年度榜单揭晓,华为端云协同智能流程机器人斩获大奖

Geek_2d6073

看不见的控制流 — Rust 异步取消问题的几点思考

Greptime 格睿科技

数据库 rust 异步编程 tokio

华为云为瑞星量身打造下载加速方案,助力瑞星完成产品升级

秃头也爱科技

Serverless 奇点已来,下一个十年将驶向何方?

阿里巴巴中间件

阿里云 Serverless 云原生

本地数据怎么备份上云?华为云对象存储服务OBS帮你实现

科技说

华为云OBS对象存储,企业存储的好帮手

科技说

架构实战营 模块四作业

白杨

数据上云难?华为云对象存储服务OBS给企业最便捷体验

路过的憨憨

华为云OBS助力企业解决数据存储难题

科技说

安全、高效、便捷,华为云CDN助力企业体验升级!

i生活i科技

CDN

华为云CDN全站加速助力网站性能全面优化

i生活i科技

CDN

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