2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

SCA 的未来

  • 2007-05-21
  • 本文字数:1168 字

    阅读完需:约 4 分钟

David Chappell(来自于 Chappell & Associates,不要误以为是 Sonic/Oracle 的 David Chappell)在他的博客帖子里道出了他在 JavaOne 上主持的一个关于服务组件架构(Service Component Architecture,SCA)座谈会的感受。David 强调了 SCA 是两个事物的组合这一事实,也就是:

[…] 在 Java(和 C++)中创建面向服务组件的一种新编程模型,以及一种描述如何将组件装配进入组(被称为“组合”)的方法。“组合”既可以包含使用了 SCA 的新编程模型构建的组件,也可以包含使用了其他技术(如 Spring 和 BPEL)构建的组件。SCA 没有为这些其它的技术定义新编程模型,但是它描述了使用它们构建的组件如何成为“组合”一个部分的方法。

SCA 和 JBI(Java Business Integration)的相对价值,已经在之前InfoQ 的文章中讨论过了——现在有份关于它们关系的官方声明。在之前的帖子中,Chappell 认为SCA 是 Java EE 的威胁。IBM 和 BEA 是 SCA 的重要支持者,他们的 J2EE/Java EE 投资都将不会有严重的问题——但是正如 David 指出的,这就意味着不同的事情:

这其中需要注意的一点是:当厂商声称他们支持 SCA,只有当你问他们时,你才会知道他们说的意思。当 Oracle 这么说时,他们似乎是指技术的装配方面。 当 BEA 这么说时,他们似乎是指装配方面和 Java 组件模型,而未必是指 C++ 组件模型。当 IBM 这么说时,他们似乎是指当前 1.0 规范中几乎所有的内 容。当 Sun 这么说时——嗯,恐怕我也不知道他们真正指什么了。

来自 Google 的 Gregor Hohpe分享了他的感受

这个编程模型与微软的 WCF 非常类似,它为所有类型的分布式系统通信提供了一套统一的 API。在微软的世界中,这可是个大事情, 公正地说确实如此。因此,有些令人惊讶的是厂商对于 SCA 编程模型的支持并不热心。甚至很多“官方”文档似乎对于规范方面不予重视。只有 IBM 和 BEA 是 在真正支持这两个方面,而其他的则公开声明他们并不关心编程模型。

同时,Hohpe 也质疑 SCA 是否有什么真正与 SOA 有关的东西:

我以前看规范的时候,我完全忽略了规范的假定:“组合”必须运行在单一厂商环境中。这个限制对我来说意味着 SCA 几乎与 SOA 没关系,SOA 必须处理异构且不被单一厂商控制的环境。

事实上,SCA 似乎在表达一个不同于典型“高级”的 SOA 方面的主题。尽管那不意味着它就不是一个可行的技术,但它避开了 SOA 相关标准是否真正可用的这一老生常谈的问题。

查看英文原文: The Future of SCA


译者简介:胡键,自 2000 年西安交通大学硕士毕业后一直从事软件开发。2002 年开始使用 Java,在项目开发中经常采用 OpenSource 工具,如 Ant、Maven、Hibernate、Struts 等,目前正在研究信息集成方面的规范和技术。可以通过 jianhgreat@hotmail.com 与他联系,或访问博客: http://foxgem.javaeye.com/ 。为 InfoQ 中文站贡献内容,请邮件至 china-editorial[at]infoq.com

2007-05-21 21:001205
用户头像

发布了 255 篇内容, 共 67.7 次阅读, 收获喜欢 10 次。

关注

评论

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

跨域:后端工程师最熟悉的陌生“人”

华为云开发者联盟

后端 华为云 跨域 企业号 1 月 PK 榜

怎样快速地迁移 MySQL 中的数据?

C++后台开发

MySQL 数据库 中间件 后端开发 C++开发

小令观点 | 去中心化可没那么难,古代令牌就已经做到了

令牌云数字身份

身份 Web3.0

Linux下OpenCV出现错误:ASSERT false in file qasciikey.cpp, line 501

Geek_7ubdnf

Linux OpenCV

pip安装报错:Command python setup.py egg_info failed with error code 1

Geek_7ubdnf

Python

MegCC 新版本来啦!新增 Benchmark 等工具,性能大幅提升!有奖征文活动同步启动

MegEngineBot

深度学习 benchmark MegEngine MegCC 模型编译器

软件测试/测试开发 | Jenkins 如何参数化job ?

测试人

软件测试 持续集成 jenkins 测试开发 测试开发自动化测试

WXSS 如何进行编译?

FN0

小程序 微信

Java中Get和Post的使用

Geek_7ubdnf

Java

Dubbo3 在同程旅行的实践

阿里巴巴中间件

阿里云 云原生 dubbo

软件测试/测试开发 | Jenkins 节点该如何管理?

测试人

软件测试 持续集成 jenkins 自动化测试 测试开发

Kratos微服务框架实现权鉴 - Casbin

golang 微服务 鉴权 rbac Kratos

Halcon快速入门教程

嵌入式视觉

定位 算子 测量 HALCON 工业智慧视觉

写作的“收益”超乎想象

王中阳Go

深度思考 学习方法 写作 写作技巧 写作感悟

SpringBoot实例

Geek_7ubdnf

Java springboot

盘点16款跨平台应用程序开发框架

FN0

跨端框架 跨端运行 跨端发展

Java基本语法

Geek_7ubdnf

Java

我理解的金融级数据库

宫博

分布式数据库 金融行业 oceanbase 金融信创 金融科技创新

备份谷歌或其他浏览器插件

Geek_7ubdnf

浏览器 Google

大银行数字化升级之后,火山引擎VeDI这次要把能力带给中小金融机构

字节跳动数据平台

大数据 金融 数字化 金融行业

从数据到价值,DataOps精益数据运营概述

阿里技术

数字化 DataOps

Kratos微服务框架实现IoT功能:设备实时地图

golang 微服务 物联网 IoT Kratos

服务网格|如何使用 Amesh 配置插件

API7.ai 技术团队

Service Mesh 服务网格 APISIX 网关 Kubernetes Serverless

使用 DataEase 制作动态轮播仪表板

搞大屏的小北

透视华为云云原生数据库的演进,能给行业带来哪些启发?

华为云开发者联盟

数据库 云原生 后端 华为云 企业号 1 月 PK 榜

ModuleNotFoundError No module named 'PIL'问题解决

Geek_7ubdnf

Python

10分钟在 Rainbond 上部署 mall 电商项目

北京好雨科技有限公司

当你输入网址,小手一点,然后发生了什么

华为云开发者联盟

前端 HTTP 华为云 企业号 1 月 PK 榜

pip安装后仍有ImportError No module named XX问题解决

Geek_7ubdnf

Python

SCA的未来_Java_Stefan Tilkov_InfoQ精选文章