2.1 JAVA技术
2.1.1 Java概述
Java是一种可以编写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。其中Java平台包括JavaSE、 JavaEE、JavaME。
1、Java的特点:Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
2、Java的编译执行:Java为解释型的语言,它在执行的过程中边执行边解释。首先它在Java平台上将源代码编译成二进制字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,在实现这个Java平台的任何系统中运行。从而实现了“一次编译、到处执行”的跨平台特性。
3、Java核心:JDK(Java Development Kit),虚拟机(Java Virtual Machine)和垃圾收集器(Gabage Collection)。
JDK是java最基本的开发和运行工具包,包括了Java运行环境、Java工具和Java基础的类库。从JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
Java虚拟机是Java语言底层实现的基础。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需要生成在Java虚拟机上运行的目标代码,就可以在多种平台运行。
Java垃圾收集器是对内存中长期不用的空间作为“垃圾”进行收集,使得系统资源得到更充分地利用。按照这种机制,程序员不必关注内存管理问题,这使Java程序的编写变得简单明了,并且避免了由于内存管理方面的差错而导致系统出问题。
2.1.2 JavaEE体系结构
Sun公司联合IBM、Oracle、BEA等大型企业应用系统开发商于1999年共同制订了一个基于Java组件技术的企业应用系统开发规范,该规范定义了一个多层企业信息系统的标准平台,旨在简化和规范企业应用系统的开发和部署。这一规范和其定义的平台就构成了JavaEE。它定义了基于组件的方式设计、开发、组装和部署企业应用系统的各个组成部分。同时,JavaEE规范定义了分布式多层应用系统模型、组件重用策略、一体化的安全模型以及灵活的事务控制策略等。
JavaEE是一套针对于企业级分布式应用的计算环境标准,其结构体系如下图所示。它定义了动态Web页面功能(Servlet和Jsp)、商业组件(EJB)、异步消息传输机制(JMS)、名称和目录定位服务(JNDI)、数据库访问(JDBC)、与子系统的连接器(JCA)和安全服务等。它定义了一个典型的四层结构,分别是客户层、表示层(Web层)、业务逻辑层和企业信息系统层。在应用开发时,JavaEE定义的四层模型可根据实际情况灵活运用。由于除Applet外,其他的组件都可以访问数据库、EJB组件和企业信息系统,因此通过不同层的取舍及组合,可以衍生出许多应用软件开发模型,如基于Web的四层模型、基于桌面应用的三层模型(不包括Web层)、B2B模型(不包括客户层)等。
1、组件-容器模型
JavaEE是一个基于组件-容器模型的系统平台,其核心概念是容器。容器是指为特定组件提供服务的一个标准化的运行时环境,Java虚拟机就是一个典型的容器。组件是一个可以部署的程序单元,它以某种方式运行在容器中,容器封装了JavaEE底层的API,为组件提供事务处理、数据访问、安全性、持久性等服务。在JavaEE中组件和组件之间并不直接访问,而是通过容器提供的协议和方法来相互调用。组件和容器间的关系通过“协议”来定义。容器的底层是JavaEE服务器,它为容器提供JavaEE中定义的各种服务和API。一个JavaEE服务器可以支持一种或多种容器。
2、JavaEE的核心:EJB
JavaEE定义了四种组件:Applet组件、Application客户组件、Web组件及EJB(Enterprise JavaBeans)组件。其中Applet和Application客户组件在客户端运行,JavaEE通过Java插件为Applet提供运行环境,Application客户的容器就是本地Java虚拟机;Web及EJB组件在服务端运行。JavaEE中包含JSP和Servlet两种Web组件,它们是Web服务器的功能扩展,都能生成动态Web页面。不同的是JSP是将Java代码嵌入到HTML中,服务器负责解释执行,生成结果返回用户(与ASP技术相似);而Servlet是单独的Java类,它动态生成HTML文件返回给客户。Web组件的容器比较典型的就是基于Java的Web服务器。
EJB是JavaEE平台的核心,也是JavaEE得到业界广泛关注和支持的主要原因。众所周知JavaEE的一个主要目的就是简化企业应用系统的开发,使程序员将主要精力放在商业逻辑的开发上。EJB正是基于这种思想的服务器端技术,它本身也是一种规范,该规范定义了一个可重用的组件框架来实现分布式的、面向对象的商业逻辑;其核心思想是将商业逻辑与底层的系统逻辑分开,使开发者只需关心商业逻辑,而由EJB容器实现目录服务、事务处理、持久性、安全性等底层系统逻辑。
EJB容器非常复杂,一般由专业的JavaEE应用服务器开发商提供,比较流行的EJB容器由IBM的WebShpere、BEA公司的WebLogic Server、Sun公司的iPlant等应用服务器提供。EJB容器除了为EJB提供事务处理、目录服务、持久性管理和安全性服务外,还负责EJB的部署、发布和生命周期管理。
3、平台标准服务
服务是组件和容器之间,以及容器和JavaEE服务器之间的接口,在实现层面上它就是一系列API和协议。JavaEE平台定义了一组标准的服务,其中有些服务是由JavaSE提供的,有些则是JavaEE对Java的扩展。
4、对WEB服务的支持
Sun提供了一套API及其实现WSDP作为对JavaEE的扩展。在WSDP中,JAXP用来解析XML论文;JAXR向UDDI服务器注册Web Services;JTX/RPC用基于XML的协议(如SOAP)来发送和接收XML论文;JWSDL处理WSDL论文。
5、多层应用模型
从应用的角度来看,JavaEE为企业应用系统的开发提供了一种多层分布式企业应用模型。在JavaEE中,应用逻辑按功能不同可以划分为不同类型的组件,各组件根据它们所在的层分布在不同的机器上,共同组成一个基于组件的分布式系统。
2.2 SOA架构
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/8/8
论JAVA分布式服务架构(二)由免费论文网(www.jaoyuw.com)会员上传。