AI 时代下组织如何快速变革?如何提升全员 AI 技能?戳> 了解详情
写点什么

Siwpas 1.0——针对 EE6 Web Profile 基于 Tomcat 的服务器

  • 2011-05-29
  • 本文字数:1928 字

    阅读完需:约 6 分钟

最近 MechSoft 公司发布了 Siwpas,它是基于 Apache Tomcat 的轻量级应用程序服务器,特别专注于 Web 应用程序。

Siwpas 是基于 Apache Tomcat 7 的 Java 应用程序服务器,其中整合了:

  • Apache OpenJPA 提供的对 JPA 的支持
  • Apache OpenEJB 提供的对 EJB 的支持
  • Apache OpenWebBeans 提供的对 CDI 的支持
  • 通过 Apache MyFaces 提供的对 JSF 的支持
  • proprietary 服务层,这使得我们可以通过各种库来注入易于使用的组件,从而使用 Java EE 6 Web Profile。
  • proprietary 监控控制台(只在企业版中提供)

我们有幸联系到 MechSoft 公司的首席技术官 Gurkan Erdogdu,从而了解到更多关于 Siwpas 的信息。

InfoQ: Siwpas 到底是什么呢?

Siwpas 代表的是“简单的 Web Profile 应用程序服务器”。它是一种旨在实现 Java EE Web Profile 规范的轻量级 Java 应用程序服务器。它基于多种 Apache 项目。其中的一些直接集成在 Siwpas 中(像 OpenJPA 和 MyFaces),另一些则经过了 MechSoft 的扩展(像 OpenWebBeans 和 OpenEJB)。

InfoQ: Siwpas 的目标受众是谁? 是现有的 Tomcat 用户? 还是使用全功能应用程序服务器的开发者?

Siwpas 和 Tomcat 更相近,而与重量级的应用程序服务器——像 WebLogic、WebSphere、JBoss 等——相差比较远。它只包含针对 Java EE 6 Web Profile 的特性。例如,它没有整合 CORBA、JMS 等等。使用 Siwpas 你可以很轻松地在几分钟之内实现 Java EE Web Profile 应用程序。此外,和全功能应用程序服务器相比,Siwpas 的速度非常快。在一般的使用环境中,它在 2-3 秒之内就能够启动。对于开发团队来说,重新部署的时间意义重大。而 Siwpas 大大减少了“部署 / 测试”周期所需要的时间。

InfoQ: 那么 Siwpas 只是 Tomcat + EJB + JPA +JSF 的集合,或者还有更多? 我们可以通过整合相同的 Apache 项目获得相同的功能吗?

不能,MechSoft 对很多库进行了扩展,从而适应 Java EE Web Profile 的需要。如果开发者使用基本的 Tomcat 并添加了 EJB、JPA 和 JSF,那么他们无法确保 EJB 能够被注入到 JSF beans 中,也无法确保 CDI beans 能够注入到 Servlets、Filters、EJBs 和 CDI beans 中,更无法确保所有 Java EE 的资源依赖都能够得到完美地处理。根据规范,所有 Java EE Web Profile 组件都必须协同工作。例如,当你的 web 应用程序包含 EJB 的时候,web 应用程序的 JNDI 上下文就必须共享 EJB 的 JNDI 上下文。 如果不编写整合(内核)层,你就无法实现这种类型的互操作性。MechSoft 以统一的方式实现了包含这些组件的内核。

此外,Siwpas 企业版还包含了带有状态的 EJB 的集群和灾难恢复,以及带有 Tomcat 本地集群的 CDI beans。这些特性并没有包含在标准的 EJB 或者 CDI 实现中。MechSoft 对 OpenEJB 和 OpenWebBeans 实现进行了扩展,然后才实现了这些特性。将来的版本还会包含对 WebSocket 协议和 Comet 协议的实现。

InfoQ: 你想要完全符合 Web Profile 吗? Web Profile 对于开发者来说很重要吗? 对你来说,符合规范很重要吗?

是的,现在我们正试图寻找一种方式,让我们可以合理获得 Java EE Web Profile TCK。为了使用 Java EE Web Profile TCK 对 Siwpas 进行完整测试,MechSoft 需要从 Oracle 获得许可。 如果我们获得的话,那么我们就想要让 Siwpas 通过 Java EE Web Profile 的认证。对于开发者来说,Profile 的兼容性很重要,但那并不是所有,因为真正的应用程序更需要 TCK 的兼容性。 然而对我们来说,拥有 Java EE Web Profile 认证非常重要。

InfoQ: 你觉得应该如何与 Spring tc Server 竞争呢? 他们也提供了基于 Tomcat 的轻量级应用程序服务器,并且其中带有一些其他的扩展。

Spring tcServer 基于 Tomcat + Spring 框架。而 Siwpas 则基于 Tomcat + Java EE 技术。与之前的版本相比,Java EE 6 更容易使用。如果你查看 EJB 3.1 Lite 规范,就会发现使用事务和安全保护实现 EJB 非常容易。当引入 Spring 的时候,其中并没有 Web Profile 和兼容服务器需要实现完整的 J2EE 规范(使得它变成重量级的服务器)。此时,开发带有 J2EE 技术的 web 应用程序会耗费很长时间。而现在不再是那样,因为 Java EE 6 Web Profile 只包含定义良好的组件,而不是企业应用程序可能会使用的所有组件。所以,和 Spring tc Server 相比,最基本的区别就在于 Siwpas 是基于 Java EE 标准而不是自定义框架的。

Siwpas 有两个版本: 社区版和企业版。社区版是开源的,没有任何官方的支持。而企业版是基于社区版的,还包含了其他特性,另外还有 proprietary web 控制台,让你可以轻松地管理服务器。MechSoft 公司还提供了演示视频

此外,他们还为在IDE 中部署应用程序发布了 Eclipse 插件

查看英文原文: Siwpas 1.0 - a Tomcat Based Server for EE6 Web Profile

2011-05-29 05:252272
用户头像

发布了 340 篇内容, 共 133.8 次阅读, 收获喜欢 13 次。

关注

评论

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

最佳实践|从Producer 到 Consumer,如何有效监控 Kafka

阿里巴巴云原生

kafka 阿里云 云原生 Promethues

华为云&易观分析《互联网出海白皮书2022》:新兴市场成掘金热土

易观分析

华为云 出海

LabVIEW控制Arduino采集电位器电压(基础篇—4)

不脱发的程序猿

单片机 LabVIEW LIAT Arduino Uno 采集电位器电压

MDM结合ESB数据集成说明

agileai

数据治理 数据集成 企业服务总线 主数据平台 基础数据方案

面试官:项目中常用的 .env 文件原理是什么?如何实现?

若川

JavaScript 前端 Node

从 vue-cli 源码中,我发现了27行读取 json 文件有趣的 npm 包

若川

JavaScript 前端 前端开发 Node web前端开发

动态规划:打家劫舍 ⛄

空城机

算法 5月月更

什么是区块哈希?哈希游戏开发技术原理方案(源码搭建)

开发微hkkf5566

从 vue3 和 vite 源码中,我学到了一行代码统一规范团队包管理器的神器

若川

JavaScript 前端 前端开发 Node web前端开发

LabVIEW控制Arduino流水灯(基础篇—3)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT 流水灯

直播预告|来啦!「DevOps+MLOps Meetup」火热报名中!

第四范式开发者社区

人工智能 DevOps 极狐GitLab 特征平台 MLOps

得物Tech Leader对管理授权的思考是什么?/得物技术管理集锦

得物技术

管理 思考 技术管理 事前授权 任务分配

MOVE PROTOCOL全球健康宣言,将健康运动进行到底

小哈区块

Vue团队核心成员开发的39行小工具 install-pkg 安装包,值得一学

若川

JavaScript 源码 前端 前端开发 Node

ZEGO 开发者文档速查|常用视频配置

ZEGO即构

音视频开发 视频配置

Vue3 TypeScript 使用教程 - 实战 Vue3 element-plus 开发「待办清单」

蒋川

typescript 低代码 开发工具 Vue 3 Element Plus

LabVIEW控制Arduino实现PWM呼吸灯(基础篇—5)

不脱发的程序猿

单片机 LabVIEW LIAT Arduino Uno PWM呼吸灯

Maven 跳过测试的几种方式

HoneyMoose

模块七:作业

本人法海

「架构实战营」

数据中心进化论:华为带来的三个路标与新可能

脑极体

使用 FutureProvider 搞定个人主页异步请求的状态管理

岛上码农

flutter ios 前端 安卓开发 5月月更

面试官:请手写一个带取消功能的延迟函数,axios 取消功能的原理是什么

若川

JavaScript 源码 前端 前端开发 axios

开讲!XTransfer技术专家亮相Flink CDC Meetup

XTransfer技术

flink XTransfer

报名进入尾声,赶快申请加入 sealer 开源之夏吧!

阿里巴巴云原生

阿里云 开源 Kubernetes 云原生 sealer

leetcode 81. Search in Rotated Sorted Array II 搜索旋转排序数组 II(中等)

okokabcd

LeetCode 查找

中国20强游戏公司2021年财报分析:业绩大分化时代,开始优胜劣汰

易观分析

游戏公司

什么是智能合约?3M互助dapp系统开发逻辑拆解

开发微hkkf5566

领航全球云经济行业创新,XTransfer入选Bessemer年度报告

XTransfer技术

网易数帆 Envoy Gateway 实践之旅:坚守 6 年,峥嵘渐显

网易数帆

云原生 Service Mesh istio api 网关 envoy

MOVE PROTOCOL全球健康宣言,将健康运动进行到底

西柚子

200多家ISV入驻!阿里云计算巢发布一周年

阿里云弹性计算

计算巢

Siwpas 1.0——针对EE6 Web Profile基于Tomcat的服务器_Java_Kostis Kapelonis_InfoQ精选文章