JavaEE应用程序

一直想写一些关于JavaEE的东西,从刚開始看《Ejb in Action》的时候就想写,总是感觉自己知道的太少了、太不值得一提了、太欠缺了(我太谦虚了)……哈哈哈。到后来工作中一直在使用JavaEE的相关技术。开源的那些流行框架(SSH以及以Spring为核心的Spring家族的东西)丢的也差点儿相同了。工作的时候JavaEE企业级的东西把自己搞的也跟傻子似的。回过头来看看总结一下避免自己真的成了傻子。

先从“组件”(component)说起,不知道从什么时候開始人们希望软件开发就像孩子搭积木似的能够是组装的。随之而来的一个概念就是“组件”,用专业一些的话说就是“组件是一个自包括的、能够重用的软件单元,能够把它集成到应用程序中”。更加直白一些说就是一块积木是能够独立完毕一项任务的,并且这个块积木是能够被多个地方使用的(想想螺丝、螺母大一些的话想想发动机、变速器相信能帮助读者理解“组件”这个概念)。在Java中组件的最简单形式是JavaBean。我们通常叫bean。

讲到这刚開始学习的人听到这个词会骂街。猪八戒,猪悟能、猪刚鬣、木母、净坛使者、天蓬元帅一堆名字到头来不就是一头猪么!

什么bean,Javabean到头来不就是Java中的类么。

骂街归骂街,不同的名称在不同的地方是有意义的。

天蓬元帅指这头猪在天庭当官时候的称呼,猪八戒是这头猪跟了唐僧之后的称呼,猪刚鬣是猪在高老庄时期的称呼……好像说远了。总之要说的是不同的名称所包括的意义以及要反应的东西是有差别的千万不要一叶障目。如今JavaBean的这个名字你理解了吧?

在企业范围内,组件更专注于实现业务服务。同一时候依据组件可运行的业务操作定义组件的协定。Java EE的标准组件模型是EJB模型,它定义了包装、部署以及与自包括业务服务进行交互的方式。

EJB的类型决定了须要与之交互的协定。会话bean(Session bean)使用标准的Java接口来定义能够调用的业务方法集合。而消息驱动bean(message-driven bean)的行为取决于bean旨在接受的消息类型和格式。

上面的这段话是非常官方的。总结成接地气的话就是在JavaEE领域不同类型的组件有着其自身的规范,这些组件能够依照其自身的规范来完毕业务服务。

啊。好抽象……

在我们平时开发其中时候使用组件模型是可选的,一般来说能够用会话bean的容器服务也可用servet。

结果导致如今大多数Web应用程序全然避开了EJB,直接从Servet到数据库。

这也导致了以Spring为核心的Spring家族以及类Spring家族的开源框架的蓬勃发展。

在使用组件的时候我们须要以层的形式组织应用程序,其中业务服务处于组件模型中。且表示服务层位于它之上(你可能在想MVC了。就笔者如今的理解EJB与MVC的关系不是包括也不是并列的关系。他们是……以后再说)。

眼下之所以非常多Web应用程序不选择EJB是因为历史上EJB的复杂性。相对于EJB2来说EJB3吸收了非常多开源框架的思想,眼下能够说已经非常easy了。随着复杂性这个问题得到解决人们開始渐渐的收获定义明白的业务服务集合所带给应用程序的优点。(拗口吧,意思就是EJB已经不像之前那么不复杂了,牛X了,開始好用了,嚯哈哈哈)。

l  松散耦合(oose couping)。以组件的思想组织业务逻辑,更easy写出松耦合的代码。

l 依赖性管理(dependencymanagement)。不管是注解还是配置文件。容器和人(主要是人)都能一目了然。

l 生命周期管理(ifecyce management)。组件由容器定义和管理能够统一处理资源的获取和释放。

l 声明性容器服务(decarativecontainer service)。组件的业务方法是由应用server所截获。所以并发性、事务管理、安全性以及远程处理这些服务不须要分散开发者过多的精力。

l 可移植性(portabiity)。一个应用程序在Tomcat下能跑那么Gassfish也能用。在Webogic下没问题那么Jboss下也不会有太大的问题,讲到这IIS不吭声了。

l 可扩展性和可靠性(scaabiity and reiabiity)。

应用server旨在确保组件能够有效地实现可扩展性管理。依据组件的类型和server配置,使用组件实现的业务操作能够重试失败了的方法调用,或者甚至把故障转移到集群上的还有一台server(考虑RMI)。

时间: 2024-10-18 03:42:23

JavaEE应用程序的相关文章

JavaEE应用程序(未排版)

一直想写一些关于JavaEE的东西,从刚开始看<Ejb in Action>的时候就想写,到后来工作中一直在使用JavaEE的技术,开源的流行框架丢的也差不多了.JavaEE企业级的东西把自己搞的也跟傻子似的.回过头来看看避免自己真的成了傻子. 先从"组件"(component)说起,不知道从什么时候开始人们希望软件开发就像孩子搭积木似的可以是组装的.随之而来的一个概念就是"组件"用专业一些的话说就是"组件是一个自包含的.可以重用的软件单元,可

编写一个简单的javaEE加法程序

一 .javaEE的安装及环境配置 工具: 32位系统准备eclipse-jee-mars-2-win32.zip,64位系统准备eclipse-jee-mars-2-win32-x86_64.zip jdk1.7 maven3.3.9.rar m2.rar 环境配置: 1. 设置eclipse的配置文件eclipse.ini,修改虚拟机路径,在-vmargs之前添加 -vm E:\jee\jdk1.7\bin\javaw.exe 注意:用写字板打开修改,-vm有的电脑要换行,有的电脑不用换行

JavaEE(22) - JAAS开发安全的应用

1. 安全域.角色和用户组 容器提供的两种安全性控制:声明式安全控制和编程式安全控制 安全域是指用户.用户组和ACL的逻辑集合.服务器支持的两种常用安全域:RDBMS安全域和文件系统安全域. 2. JAAS基本流程 初始化请求-->初始化认证-->URL授权-->完成原来的请求-->调用EJB的业务方法 对JavaEE应用程序而言,用户提交的认证信息经过一次认证后,可以透明的传递到其他层.授权过程则需要执行多次. 3. 管理Weblogic服务器上的用户和组 4. 在Web应用中声

JavaEE中遗漏的10个最重要的安全控制

本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! JavaEE有一些超赞的内置安全机制,但它们远远不能覆盖应用程序要面临的所有威胁.很多常见攻击,例如跨站点脚本攻击(XSS).SQL注入.跨站点伪造请求(CSRF),以及XML外部实体(XXE)丝毫没有涵盖.你可以阻止web应用程序和web服务暴露于这些攻击,但这需要一定量的工作和测试.幸运的是,Open Web Application Security Project(OWASP)公布了“10大最关键的we

JavaEE实战——Servlet入门、Servlet生命周期、绝对路径、ServletContext

前言 接下来的三篇博客我会分别介绍Servlet的以下三个方面: 1.Servlet程序编写 ----- 生命周期 2.ServletAPI Request Response 3.Cookie 和 Session Servlet的作用:Servlet 用来 动态web资源 开发 静态web资源 : 固定数据文件 动态web资源 : 通过程序动态生成数据文件 Servlet技术基于Request-Response编程模型 ---- HTTP协议也是基于请求响应 模型 * Servlet技术 用来

挨踢部落故事汇(20):Android程序员的十大转型之路

玖哥是一个来自东北的Android攻城狮,现在定居被誉为"大湖名城,创(chuan)新(xiao)高地"的合肥.知识面极广,不仅广泛涉猎IT相关知识,还热爱文学,性格幽默,被誉为"会搞Android的段子手".他还是一个藏书人士,拥有汗牛充栋的IT书籍,而且每本书都认真阅读过,从不拿书当摆设. 玖哥·Android攻城狮 先说说Android程序员不可能转型的几个方向,以下四个不靠谱方向的靠谱性递减: 首先不会转型iOS,iOS和Android工程师的工作内容都是大

JavaEE(28) - JAAS开发安全的应用

1. 安全域.角色和用户组 容器提供的两种安全性控制:声明式安全控制和编程式安全控制 安全域是指用户.用户组和ACL的逻辑集合.服务器支持的两种常用安全域:RDBMS安全域和文件系统安全域. 2. JAAS基本流程 初始化请求-->初始化认证-->URL授权-->完成原来的请求-->调用EJB的业务方法 对JavaEE应用程序而言,用户提交的认证信息经过一次认证后,可以透明的传递到其他层.授权过程则需要执行多次. 3. 管理Weblogic服务器上的用户和组 4. 在Web应用中声

JavaEE(21) - JAAS开发安全的应用

1. 安全域.角色和用户组 容器提供的两种安全性控制:声明式安全控制和编程式安全控制 安全域是指用户.用户组和ACL的逻辑集合.服务器支持的两种常用安全域:RDBMS安全域和文件系统安全域. 2. JAAS基本流程 初始化请求-->初始化认证-->URL授权-->完成原来的请求-->调用EJB的业务方法 对JavaEE应用程序而言,用户提交的认证信息经过一次认证后,可以透明的传递到其他层.授权过程则需要执行多次. 3. 管理Weblogic服务器上的用户和组 4. 在Web应用中声

JavaEE基本了解

1.  为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担. 为了程序的易维护性和可扩展性,这就需要我们使用JavaEE技术来进行项目开发 2.  什么是JavaEE JavaEE是一个开发分布式企业级应用的规范和标准. Java语言的平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版).适用