AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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:252418
用户头像

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

关注

评论

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

宝马、沃尔沃、奇瑞纷纷布局,区块链将颠覆汽车行业?

CECBC

LeetCode题解:150. 逆波兰表达式求值,栈,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)

华为云开发者联盟

图神经网络 图结构 图卷积神经网络 DenseNets 池化

Angular:都2021年了,你为啥还没用Angular

华为云开发者联盟

angular 数据绑定

Mysql的事务隔离与实现

Geek_快去搞学习

MySQL 事务隔离级别 事务

immutability模式

wzh

Java 设计模式 并发 线程安全

区块链为何会上升国家战略技术?

CECBC

区块链

如何计算STM32定时器、独立看门狗和窗口看门狗

不脱发的程序猿

定时器 stm32 单片机 看门狗

Vue SSR在好大夫的落地

好大夫在线技术团队

最佳实践 Vue 大前端 语言 & 开发 文化 & 方法

IDEA 这样设置,好看到爆炸!!!

楼下小黑哥

Java 程序员 IDEA 编程开发

微前端中,为子应用配备开发环境临时导航菜单,提高开发效率

blueju

JavaScript 大前端 React umi

华为云数据库GaussDB(for Cassandra)揭秘第二期:内存异常增长的排查经历

华为云开发者联盟

云原生 内存泄漏 NoSQL数据库 华为云数据库 GaussDB(for Cassandra)

新建了一个Go项目的脚手架

soolaugust

GitHub 编程 Go 语言

硬核资源!清华博士的Spring Boot中AOP与SpEL笔记,码农:膜拜

牛哄哄的java大师

Java

iMazing中IPA文件的介绍与管理

懒得勤快

ios iphone imazing 苹果手机管理

STM32 GPIO的原理、特性、选型和配置

不脱发的程序猿

stm32 单片机 STM32 GPIO GPIO GPIO的原理、特性

数字化助力金融科技,实现产业良性循环

CECBC

科技

IDEA 的 debug 怎么实现?出于这个好奇心,我越挖越深!

Java小咖秀

Java debug IDEA 調試

模块三总结

竹林七贤

TCP传输层面试中常问的问题汇总(你所不知道的传输层)

linux大本营

c++ Linux TCP 网络编程 TCP/IP

模模搭古城搭建学习笔记4:完结篇

ThingJS数字孪生引擎

物联网 3D可视化 数字孪生

架构实战营 - 模块 3- 作业

carl

区块链为法院工作插上科技翅膀

CECBC

法院

全球数字货币加快研发

CECBC

安全团队和云计算团队之间更好协作的6个技巧

云计算

带你快速入门Kotlin

Changing Lin

5月日更

架构实战营 - 模块 3- 作业

请弄脏我的身体

架构实战营

数据架构:概念与冷热分离

程序员架构进阶

数据架构 架构设计 28天写作 5月日更 冷热分离

玩转直播系列之从 0 到 1 构建简单直播系统(1)

vivo互联网技术

消息推送 RTMP 直播推流

网易数帆云原生故障诊断系统实践与思考

网易数帆

Docker 云计算 Kubernetes 云原生 故障诊断

Spring Bean生命周期、DI、IOC、AOP、循环依赖、事务管理

正亮

bean注入过程 spring aop spring事务管理

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