写点什么

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

评论

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

To B产品经理需要哪些能力呢?

博文视点Broadview

如何实现在直播中播放音频文件

anyRTC开发者

音视频 WebRTC 直播 RTC 音频

产品文档总结

mas

数仓GaussDB(DWS)全量备份总结

华为云开发者联盟

数据安全 GaussDB 备份 Roach 数据备份

产品更新 | 阿里云CDN边缘图像处理功能开放内测

阿里云Edge Plus

CDN 边缘计算 图像处理

云计算、大数据已经过时?不,正是因为它们RPA才能大流行

王吉伟频道

人工智能 云计算 大数据 RPA 自动化

3月份开始了

Nydia

挑一个产品,想一个你想做的新功能,然后写个相对完整的文档

mas

第五六周心得

Trigger

极客时间 产品经理训练营

一文详解什么是可解释AI

华为云开发者联盟

AI mindspore Gradient GradCAM RISE

一个100%省力的,让城市管廊运维变得轻松的秘诀

一只数据鲸鱼

物联网 数据可视化 智慧城市 3D可视化 智慧管廊

算法刷题提醒——微信小程序 [持续优化ing]

小匚

深度思考 随笔杂谈 成长与思考

玩家永远是对的——认知失调

Justin

心理学 28天写作 游戏设计

Linux 多线程详解 —— 线程创建、终止、等待、分离

赖猫

Linux 多线程与高并发 服务器开发 Linux服务器开发 Linux线程

第五周

Jove

在云中应用自动化的5种方法

云计算

来自农村的大学生开发者,用技术改变自己的家乡

华为云开发者联盟

开发者 物联网 IoT 华为云 智慧大棚

可视化表单编辑器

day day up

区块链助力山东文化旅游整体行业解决方案

源中瑞-龙先生

【万字好文】一文看懂持续部署按需发布!DevOps部署和发布方法大全

京东科技开发者

DevOps SaaS

设计模式【3.1】-- 浅谈代理模式之静态、动态、cglib代理

秦怀杂货店

动态代理 代理模式

一文帮你搞懂 Android 文件描述符

vivo互联网技术

android 文件 文件系统

滚动加载的网页只需点 10 下鼠标即可抓取,无编码学爬虫之四

梦想橡皮擦

Python 28天写作 3月日更

产品经理如何帮助减少技术债务 ?

禅道项目管理

产品 代码规范 技术债

Atlassian Data Center 如何优化企业中新员工的远程入职流程

Atlassian

HR Atlassian 远程工作

Elasticsearch search scroll 游标查询

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

ICDAR2021首届文档图像与自然语言处理研讨会征稿开始

爱极客侠

MySQL异常问题经验贴

华为云开发者联盟

MySQL 数据库 时区 SSL 连接

基于GES图数据库的大规模数据追溯服务优化

华为云开发者联盟

数据 华为云 图数据库 数据追溯 华为云GES

力扣(LeetCode)刷题,简单+中等题(第29期)

不脱发的程序猿

面试 LeetCode 编程之路 28天写作 算法面经

架构学习20210302日(001)

张小胖

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