



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java EE概述及其安全性浅析摘要 为了满足不同的需求,Sun公司为Java推出了3个版本Java SE,Java ME和Java EE,企图在移动设备、桌面设备和企业级应用领域都占得天下,可现实的结果是只有Java EE独放异彩,并且带动了Java语言的流行。Java EE也称为J2EE,是一套不同于传统应用开发的技术架构,包含了许多组件,能够简化和规范应用系统的开发与部署,进而提高应用系统的可移植性、安全性和再利用价值。本文主要介绍了Java EE的基础知识、优势、结构及其应用的安全性分析。关键字:Java EE、模型、 企业级、应用安全1、 前言 Java EE是建立在Java平台上的企业级应用的解决方案。Java EE的技术基础是Java,它不但拥有Java SE(Java标准版)平台的所有功能,同时还提供了对EJB、Servlet、JSP、XML等企业级技术的全面支持,形成了一个开发健壮且可移植的企业级应用系统的完整体系结构。 Java EE并非一个单独的产品,而是由Sun公司提供的一系列标准组成,这些标准定义了Java EE各个组件的借口和其他一些规范。很多厂商,包括Sun公司在内,都依据Java EE提供的规范提供了Java EE的实现或产品,因此企业级系统可以在这些不同的产品之间方便地移植。2、 Java EE简介2.1、Java EE的优势 Java EE目前得到了广泛的应用。其优势主要是为搭建具有可伸缩性、灵活性、易维护性的业务系统提供了良好的机制。其优势主要包括:1、 高效的开发:Java EE使得开发者把一些通用的、很繁琐的服务器端任务交给中间件供应商(例如IBM、Sun、BEA)去完成,这样开发人员可以集中精力在如何创建业务逻辑上,相应地缩短了开发时间。2、 支持异构环境:Java EE能够开发部署在异构环境中的可移植程序。基于Java EE的应用程序不依赖任何特定操作系统、中间件、硬件,因此设计合理的基于Java EE的只需开发一次就可部署到各种平台。3、 保存显存的IT资产:由于基于Java EE平台的产品几乎能够在任何操作系统和硬件配置上运行,因此Java EE架构可以充分利用用户原有的资产进行开发。4、 可伸缩性:Java EE领域的提供商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署。实现可高度伸缩的系统,满足未来商业应用的需要。 2.2、Java EE的分层模型及平台组成 2.2.1、Java EE的分层模型 Java EE框架定义了客户端层、中间层和对现有数据系统提供服务的后端层。客户端层提供了对很多种类的客户端的支持,包括企业防火墙内部和外部的客户端。中间层通过在Web容器中的Web层提供与客户端的交互,并通过EJB等进行商业逻辑。后台的企业信息层(EIS)提供各种API以对现有的数据系统提供服务。 下图显示了3个层次的主要组件: 2.2.2、Java EE平台的组成 Java EE平台由4个关键部分定义:Specification、Reference implementation、Compatibility test suite和Java EE Blueprints design guidelines。 Specification定义了Java EE平台如何工作,是否需要包含应用服务器、数据库或其他。 Reference Implementation提供了比较的标准。 Compatibility Test Suite保证Java EE厂商的产品对平台的完全兼容性以确保可移植性,它验证应用程序是否符合Java EE的实现标准。 Design Guide告诉程序员如何将各个部分组合到一起。 2.3、Java EE技术规范 Java EE是一个技术架构,也可以视为一个技术规范,它包含了许多内容。主要有以下技术规范: JDBC(Java Database Connectivity):为Java应用程序访问数据库提供了一个统一的接口。通过JDBC可以完成建立到数据库的链接、执行SQL语句等操作。 Servlet与JSP:Servlet是一种服务器端技术,用来实现表示逻辑。它接受来自Web浏览器的HTTP请求信息,进行处理后返回HTTP响应信息。也剖与Servlet是用Java语言编写的、可移植性较强。JSP(Java Script Page)技术可以提供Servlet相同的功能,但是开发起来比Servlet要简便。JSP可以帮助Web开发者使用相对较少的代码创建动态的网页。JSP的优点是它的简洁性,Web设计者即使不懂得编程,也可使用JSP创建动态的网页。 JNDI(Java Naming And Directory Interface):即Java的命名和目录接口。JNDI是Java定义的一种标准的注册机制,提供名字和目录服务。在Java EE应用中,JNDI主要用于管理应用中用到的核心组件和对象。JNDI提供了一组API用来访问命名和目录服务。它提供一个相容的模式访问和操作企业大范围的资源,例如一个服务器中的DNS、LDAP、本地文件系统或者对象。命名服务可以把一个对象关联到一个对用户友好的名称,目录服务知识命名服务所提供的一个扩展功能。 RMI(Remote Method Invocation):即远程方法调用。RMI是Java应用程序访问远程Java对象的一种标准。RMI是Java EE中的底层技术,目前的应用程序开发几乎不会用到。 JMS(Java Message Service):提供了一组标准的Java API,用于企业级的消息处理。通过JMS,可以在Java程序之间发送和接收消息。 JavaMail:JavaMail API为开发人员通过使用各种邮件传输协议编写邮件客户机提供了接口和抽象类。 EJB:Java EE中一个十分重要的技术就是EJB。在传统的Java EE应用程序中,EJB处于核心地位。它提供了一个架构用来实现企业系统的业务逻辑,减少了开发高度复杂的企业应用的难度。EJB规范定义了EJB组件应该如何及何时与它们的容器交互。由EJB容器负责提供普通的服务,例如目录服务、事物处理、安全、资源池和容错。 JMX(Java Message Extensions):是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。JMX是一种应用编程接口,可扩充对象和方法的集合体,可以用于跨越一系列不同的异构操作系统平台、系统体系结构和网络传输协议,灵活地开发无缝集成的系统、网络和服务管理应用,它提供了用户界面指导、Java类和开发集成系统、网络及网络管理应用的规范。 Web Services:是封装成单个实体并发布到网络上供其他程序使用的功能集合。Web Services是用于创建开放分布式系统的构建,可以使公司和个人迅速且廉价地向全世界提供其数据服务。3、 Java EE应用安全性 随着Java平台的应用越来越广泛,尤其是Java EE在企业级系统和电子商务系统中的大量应用,人们对Java EE平台的安全性也越来越关注。安全性逐渐成为人们选择信息化解决方案的一个关键因素。随着Internet技术的发展,安全性攻击正变得越来越频繁。要保证Java EE平台的安全性,应用认证技术( 如身份认证和授权) 就是一个关键因素,很多应用系统都离不开身份认证和授权。 3.1、Java EE中的安全机制 Java安全体系结构主要包括五部分:Java安全体系结构核心、Java加密体系结构(JCA)、Java加密扩展(JCE)、Java安全套接扩展(JSSE)、Java认证和授权服务(JAAS)。Java安全体系结构核心包括字节码验证器、类装入器、安全管理器、访问控制器、权限、策略和保护域,是整个安全机制的核心部分。JCA提供了用Java平台进行基本加密功能的工具,其加密功能的范围包括基本加密函数和算法保护数据的完整性,防止破坏数据;同时它也提供加密签名生成算法;另外还包括处理密钥和证书的一系列相关工具和API。Java加密扩展提供了标准服务提供者和应用程序接口模型。JSSE是专门针对SSL协议开发的安全扩展模块,它提供了对应不同SSL实现的标准接口。JAAS提供了验证用户和对用户实现访问控制的接口。3.2、JAAS-Java的认证和授权服务 JAAS(Java Authentication and Authorization Service),即Java认证和授权服务,是Sun为了进一步增强Java2安全框架的功能而提供的编程接口,其目的是提供基于代码运行者的存取控制能力。3.2.1、Java EE访问控制的实现认证和授权分布式环境下存在着许多危机和企业机密的不安全因素。Java EE的安全服务必须能够实现对用户的访问控制(Access Control)。访问控制是任何安全服务的重要组成部分,一个缺乏访问的安全服务是很难让人相信它的安全保障能力。它的本质是根据主体的访问权限来限制主体对客体的访问。 下面介绍一下访问控制体系中的几个概念: 主体:发出访问请求的主动方,通常是某个用户或某段程序; 客体:被主体要求访问的资源,客体可以是一段被调用的程序或数据; 安全访问策略:一套确定主体是否对客体拥有访问权限的规则。 Java EE的访问控制主要是通过认证和授权两步来实现的 : 认证(Authentication): 系统通过主体提交的身份信息对主体进行身份鉴别的过程。典型的过程就是提交用户名和密码来进行认证,系统通过认证来给主体建立标识。授权(Authorization):当一个认证了的主体试图访问某个资源时, 系统将根据应用程序的安全访问策略来决定是否允许该主体的访问请求。3.2.2、Java EE的认证和授权机制 Java EE规范对Web层的认证机制给出了具体的定义。Web层的认证机制有四种:HTTP基本认证基于 F O R M的认证、HTTPS的相互认证和混合认证。在部署Web组件的时候, 可以在应用的部署描述符中声明使用其中一个认证机制。但是,Java EE没有明确的定义在 EJB层采取何种机制。Java EE规范中只是给出了一个一般性的认证原则, 即在EJB层的认证可以以委托的方式交由Web层的认证机制来处理,然后利用信任传递的方式将主体认证后的标识符传递到EJB层。Java EE规范对授权机制的定义非常明确, Java EE的授权机制是基于角色的授权机制。角色是一个逻辑意义上的概念, 它在实际中可以映射为一个主体的集合, 同时角色又对应一个权限的集合 , 所以说,角色表现为将一个主体和权限联系起来。Java EE部署器根据用户在部署应用的时候声明角色权限即那些角色才能访问何种资源, 来建立安全访问策略, EJB容器将根据这些策略来限制用户对资源的访问。结束语 Java作为一种方兴未艾的编程语言,基于Java EE平台的各种应用也越来越多,有许多组织和机构正进行着相关开源项目的研究。虽然目前Java EE安全机制的使用尚不充分,相对现有的安全解决方案来讲,Java EE的安全机制也不算成熟。相信随着网络的快速发展,Java应用领域的不断延伸,Java EE的安全方案的前景会更加广阔。参考文献1 赵强. J2EE应用开发 M. 电子工业出版社,2006(1).
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度离婚协议书中赡养费支付协议范本
- 二零二五年度出口货运代理多国贸易服务协议
- 二零二五版环保技术研发合作合同示范文本
- 二零二五年度文化主题店铺特许经营合同样本
- 二零二五年度水利工程测绘技术服务合同
- 2025版绿色施工技术培训施工队合作协议
- 2025版夫妻共同生活准则不离家协议
- 2025版生物科技企业场岗位保密协议实施细则
- 二零二五年度电商数据分析与报告专员劳动合同标准
- 二零二五年度家电产品进出口贸易合作协议书
- 2025年四川省眉山市【辅警协警】笔试真题(含答案)
- 城市污水处理厂运行承诺及保障措施
- 焊接机器人教学培训课件
- 肝脓肿病人护理
- 膝关节炎的康复治疗讲课件
- 2025食品安全考试题库及答案
- 福建省厦门中烟益升华滤嘴棒有限责任公司招聘笔试题库2025
- 浙江隆宸现代农业科技有限公司年产4500吨双孢蘑菇技改项目环评报告
- 《城镇房屋租赁合同(示范文本)》(GF-2025-2614)
- 2025上半年广西现代物流集团社会招聘校园招聘149人笔试参考题库附带答案详解
- T-CEPPEA 5002-2019 电力建设项目工程总承包管理规范
评论
0/150
提交评论