轻量级容器分析
前言
目前,基于Web的MVC框架在J2EE的世界内空前繁荣。TTS(www.theserverside.com)网站上几乎每隔一两个星期就会有新的MVC框架发布。比较好的MVC框架,老牌的有Struts、Webwork。新兴的MVC 框架有Spring MVC、Tapestry、JSF等。这些大多是著名团队的作品,另外还有一些边缘团队的作品,也相当出色,如Dinamica、VRaptor等。这些框架都提供了较好的层次分隔能力。在实现良好的MVC 分隔的基础上,通过提供一些现成的辅助类库,同时也促进了生产效率的提高。
但是,web层知识解决了我们问题的小部分,保持thin web layer是非常值得和重要的策略,它应该只负责同客户的交互和应答逻辑,不涉及系统商业功能如何实现和维护。往往系统的复杂度也是我们Business Model决定的,因此Business 层的架构好坏往往起到非常重要的作用。
关于Business层的架构大家已经有一个共识,那就是我们的Business Object (Component,Service...)需要一个很好的框架来管理,安全、事务、逻辑划分、代码重用,扩展点,组件生命周期等。幸运的是,我们可以使用容器来解决这些问题(从存在形式上来说,容器也是一个框架)。
1 基本概念
1.1容器
容器就是一组提供一系列服务的管理器,只要你符合容器的服务要求(规范),容器就可以让你使用范围内的管理服务。 早在Web流行的时候,http container就为我们提供解析Html的能力,让我们的html代码可以通过http协议来发布到internet.随着web应用的推广,动态语言的发展,http容器逐步可以用指定的接口来解释特殊文件中的特殊片断,如:php,asp,jsp等等。
1.2轻量级容器
"轻量级容器"越来越成为Java世界的讨论关键词之一。那么到底什么是"轻量级"容器?在你浏览最近的有关J2EE的文章或者blog,都有意无意的提到了"lightweigh containter",伴随这个词出现最多的就是"IoC","dependencies inject","AOP"等等。既然是"轻",那就是比较"重"的而言。"重"的典型代表就是EJB,EJB提供了一系列"重量级"企业级服务,并可以让你开发的组件可以很好的集成EJB容器所提供的企业级服务,如JTA等。那么既然有了EJB容器,为什么还需要"轻量级"呢?有过EJB经验的人
深有感触:
1)、部署复杂,运行缓慢
2)、内在服务多,启动慢
3)、规则特多,空间很小
4)、难以测试(调试)
...
“轻量级容器”的出现就是致力于解决这些问题,并且融入了新的模式,提供更加灵活的服务。轻量级容器不支持分布式环境,不过,不是所有的程序都需要这个服务的。
轻量级容器分析(light weight container)
最新推荐文章于 2024-08-11 20:40:54 发布
本文探讨了轻量级容器的概念,对比了轻量级与重量级容器的区别,强调了轻量级容器的封装、组件管理和运行灵活性。以Spring框架为例,详细阐述了其组件、依赖注入、事务管理等特性,并指出Spring如何提高开发效率和测试性,为选择和使用轻量级容器提供了指导。
摘要由CSDN通过智能技术生成