从头开始认识jboss

1、首先理解应用服务器的概念和作用
应用服务器(无论是什么功能的应用服务器)在数据库服务器和终端用户之间占有很大一部分计算领地。这个领域有一个广为人知名字,这个名字就是中间 件,这个名字也告诉了你应用服务器都做什么事情。首先也是最重要,应用服务器把数据库信息(通常来源于一个数据库服务器)与终端用户或者客户端程序(常常 在Web浏览器里运行)连接在一起。在这个连接中存在一个中间层很多理由。这些理由包括减少客户端程序的大小和复杂性、缓存和更好的控制数据流以提供更好 的性能以及为数据通信和用户通信提供安全保障。

  然而,这并不是应用服务器功能的全部。在应用服务器早期应用的时候,人们就发现应用软件本身(人们用来完成工作的程序)正变得越来越大并且越来 越复杂。无论应用程序的编写和维护都是如此。与此同时,应用程序共享数据和有时候共享功能的压力也越来越大。更多的应用程序被放在网络上或使用报网络扩展 功能。让某些类型的应用程序在网络上运行似乎是合乎逻辑的:这有助于以有组织和有效率地方式共享应用程序的功能,使应用程序更容易编写、管理和维护。

  这种思路的最终结果就是现在的应用服务器。然而,这些服务器首先出现在客户机/服务器中以及局域网中。首先,它们经常与“分层次”的应用程序相 关联,人们把这种应用程序的功能解释为二层的(数据库和客户端程序)、三层的(数据库、客户端程序和应用服务器)和N层的(包含二层,三层以及多层)应用 程序。这过去是(现在仍然是)一种复杂的应用程序开发模式,不能大规模应用。后来出现了万维网。这种网络是一种自动的三层应用(数据库、客户端程序和 Web服务器),这样,利用应用服务器的功能管理数据突然之间不仅变成了程序设计中的一种较好方法,而且成为必不可少的。这使应用服务器从默默无闻的状态 提升到了显要的位置。毫不夸张地说,已经有几十家公司介入了应用服务器软件产品的开发。

  毫不奇怪,对应用服务器的角色和任务,应用服务器的公司过去没有,现在仍然没有达成一致的意见。他们不是直接竞争而是做出各自不同的东西。应用 服务器有很多不同角色,而并不是所有的客户都需要同样的功能。可伸缩性就是一个很好的例子。有些公司使用应用服务器只是要帮助他们管理WEB应用,使他们 更好地管理自己的业务逻辑,以便更方便地监视数据和保证数据的安全。他们不需要数千台服务器。而另一些公司,特别是大公司,需要管理数千台服务器。对于这 样的公司来说,应用服务器的可伸缩性是非常重要的。因此,有些应用服务器强调可伸缩性,有些应用服务器可以做其它一些事情,有些应用服务器什么都能做。

  因此,当你在本栏目中浏览各种应用服务器软件介绍的时候,对于你的机构需要什么和形势需要什么,你确实需要有自己的意见。什么是最重要的?安全、可伸缩性、商业规则管理或者数据库连接?

  还有一件事情(也是应用服务器涉及到的另一种复杂性),应用服务器产品属于多种编程领域。大多数应用服务器(尽管不是全部)是用Java语言编 写。有些应用服务器兼容微软的产品,有些不能。对于是否支持微软体系主要是看是支持CORBA(公共对象请求代理体系结构)还是微软COM+(当然有些两 者都支持)。根据一个机构的编程参考来考虑这些服务器是比较重要的。

2、jboss的简介

JBoss是一个运行EJBJ2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发 展成为一个基于的J2EE的一个web 操作系统(operating system for web),它体现了J2EE规范中最新的技术,并且它还在the JavaWorld Editors' Choice 2002评选中获得“最佳Java应用服务器”大奖。

  3、EJB、J2EE、J2EE规范、EJB容器、POJO
http://www.jdon.com/idea/j2eebasic.htm
http://www.jdon.com/jdonframework/app.htm

EJB到底是什么?

基于组件的开发

利用EnterpriseJavaBeanEJB),你就能像搭积木一样开发EJB组件,然后你或者是其他人可以把这些EJB组件组装或重新组装到不同的应用中去。例如,你可能创建了一个Customer(顾客)beanbean就是组件,只是叫法不同),它表示数据库中的一个顾客。这个Customerbean就能用在多个应用中,比如可以用在审计程序、电子商务购物车系统或技术支持应用中,只要应用中需要表示一个顾客,几乎都可以使用这个组件。实际上,对于某些bean来说,bean的开发人员和使用bean的应用组装人员可能不在同一家公司工作,甚至有可能彼此互不认识。

如果你是一位bean开发人员,可以构建一个Order(订单)beanPayroll(工资)bean,或者一个ShoppingCart(购物车)bean,这样其他公司的开发人员(可能与你毫无关系)就能向你购买这些组件,并用来建立他们自己的应用。 

基于组件的开发有一大妙处,这就是:基于组件,可以让代码重用上升到一个新的高度。这里不是重用Java类,而是重用一个更大的功能块。bean要怎么工作通常完全可以从外部进行修改,根本不用动bean内部的Java代码!在这一章中你将了解到,要在服务器上部署一个bean,可以用声明方式配置和定制这个bean(也就是说,通过一个基于XML的部署描述文件),这样只需修改部署描述文件就能改变bean在运行时的表现。

利用基于组件的开发,可以把代码重用上升到一个新的高度。利用面向对象开发,重用的是类,而基于组件时,重用的则是更大的功能块,不用触及具体的代码就可以定制这些可重用的组件!


4、Framework概念
Framework不是jboss的立场概念,但是java的很多应用,基本都是与Framework相关联,所以还是理解第一。
伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。这意味着人们可以将充裕的时间用来分析、构建业务逻辑的应用上,而非繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。这也就是我们所说的Framework。

    Framework的体系提供了一套明确机制,从而让开发人员很容易的扩展和控制整个Framework开发上的结构。 通常,Framework的结构中都有一个“命令和控制”组件("command and control" component)——Framework Factory and Manager。

 

       通过基于请求响应(Request-Response)模式的应用Framework,基本上有如下几个表现逻辑结构组成。

控制器(Controller)——控制整个Framework中各个组件的协调工作。

业务逻辑层(Business Logic)——对Framwork本身来说,这里仅仅只是概念和几个提够服务的基础组件,真正的实现与客户的业务逻辑接轨,还需要开发人员在Framework上再次扩展。

数据逻辑层(Data Logic)——绝大应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑和数据访问接口。对于数据逻辑来说,如果你了解数据建模(Data Modeling)可能就很容易理解。   

猜你喜欢

转载自blog.csdn.net/shaken/article/details/1778220