关于服务端构件模型的典型解决方案包括
适用于应用服务器的EJB模型(Sun公司J2EE的一部分)和COM+模型(微软公司),
以及适用于Web服务器的servlet模型(基于Sun公司JSP技术)和Visual Basic及其他技术(基于微软公司ASP技术)微软的。
NET框架还引入了一种新的同时适用于客户端和服务端的基于CLl(Command Line lnterface)的构件模型。
1.EJB组件架构模型
Sun公司发布的文档中对EJB(Enterprise Java Bean)的定义是:EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。采用EJB可以使开发商业应用系统变得容易,应用系统可以在一个支持EJB的环境中开发,开发完之后部署在其他的环境中,随着需求的改变,应用系统可以不加修改地迁移到其他功能更强、更复杂的服务器上。
1.1EJB定义
Sun Microsystem EJB 2.0 Specification中定义如下(使用原文可能更有助于理解):
"The Enterprise JavaBeans architecture is a component architecture for the development and deployment of component-based distributed business applications. Applications written using the Enterprise JavaBeans architecture are scalable, transactional, and multi-user secure. These applications may be written once, and then deployed on any server platform that supports the Enterprise JavaBeans specification."
译文如下:
EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。使用EJB结构编写的应用程序具有可扩展性、交互性以及多用户安全特性。这些应用只需写一次,就可以发布到支持EJB规范的服务器平台上。
2.COM+模型
COM+并不是COM的新版本,我们可以把它理解为COM的新发展,或者为COM更高层次上的应用。COM+的底层结构仍然以COM为基础,它几乎包容了COM的所有内容。有一种说法这样认为,COM+是COM、DCOM和MTS(Microsoft Transaction Server)的集成,这种说法有一定的道理,因为COM+确实综合了这些技术要素。但更重要的一点是,COM+倡导了一种新的概念,它把COM组件软件提升到应用层而不再是底层的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统。
3.Servlet (基于Sun公司JSP技术)
Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容。 Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类(Servlet接口很简单,只有init、getServletConfig、service、getServletInfo和destroy这5个方法,它们构成了实现Servlet功能的规范)。Servlet被编译为平台独立的字节码,可以被动态地加载到支持Java技术的Web服务器中运行。
4.ASP (基于微软公司ASP技术)
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASP文件的请求时,它会处理包含在用于构建发送给浏览器的HTML(Hyper Text Markup Language,超文本标记语言)网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也可以包含文本、HTML(包括相关的客户端脚本)和com组件调用。