首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

新人学习EJB!ejb到底是什么?[通俗易懂]

1. 我们不禁要问,什么是”服务集群”?什么是”企业级开发”? 既然说了EJB 是为了”服务集群”和”企业级开发”,那么,总得说说什么是所谓的”服务 集群”和”企业级开发”吧! 这个问题其实挺关键的,因为J2EE 中并没有说明白,也没有具体的指标或者事例告诉 广大程序员什么时候用EJB 什么时候不用。于是大家都产生一些联想,认为EJB”分布式运 算”指得是”负载均衡”提高系统的运行效率。然而,估计很多人都搞错了,这个”服务群集” 和”分布式运算”并没有根本解决运行负载的问题,尤其是针对数据库的应用系统。 为什么? 我们先把EJB 打回原形给大家来慢慢分析。

01

J2EE是什么意思_main()函数是java程序的执行入口

J2EE简介   J2EE Java2平台企业版(Java 2 Platform,Enterprise Edition) J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。   J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。   一、J2EE的概念   目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如”编写一次、随处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。   J2体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。   二. J2EE的优势   J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:   1. 保留现存的IT资产: 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的’企业计算’领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。   2. 高效的开发: J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务: o 状态管理服务 — 让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。 o 持续性服务 — 让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。 o 分布式共享数据对象CACHE服务 — 让开发人员编制高性能的系统,极大提高整体部署的伸缩性。   3. 支持异构环境: J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。   4. 可伸缩性: 企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。

01

tomcat weblogic 对比

J2ee开发主要是浏览器和服务器进行交互的一种结构.逻辑都是在后台进行处理,然后再把结果传输回给浏览器。可以看出服务器在这种架构是非常重要的。   这几天接触到两种Java的web服务器,做项目用的Tomcat,看视频看的是WebLogic Server(WLS),都是web服务器,有什么区别和联系呢?   (一)先简单介绍一下这两种服务器。   WebLogic是美国bea公司出品的一个application server,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本WebLogic Server 9.0是迄今为止发布的最卓越的BEA应用服务器。BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。完全遵循J2EE 1.4规范。 Tomcat服务器是一个免费的开源的Web 应用服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且很重要的是她免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。而且由于开源,它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。   (二)相同点:   WebLogic和Tomcat都是基于java的基础架构来满足实时处理需求,不同的版本与jdk版本兼容和有所不同;因为都是要和前台交互,所以他们都基于sun公司的servlet来实现的。   (三)不同点:   功能性:   WebLogic更加强大。weblogic是j2ee的应用服务器(application server),包括ejb ,jsp,servlet,jms等等,全能型的。是商业软件里排名第一的容器(JSP、servlet、EJB等),并提供其他如JAVA编辑等工具,是一个综合的开发及运行环境。   WebLogic应该是J2EE Container(Web Container + EJB Container + XXX规范)!   Tomcat只能算Web Container,是官方指定的JSP&Servlet容器。只实现了JSP/Servlet的相关规范,不支持EJB(硬伤啊)!不过Tomcat配合jboss和apache可以实现j2ee应用服务器功能   一般来说考虑stucts等架构tomcat就可以了,但如果考虑EJB的话,WebLogic是比较好的选择。   扩展性:   用WebLogic运行标准的java可能并不是最好的方式,WebLogic里支持他自己的一些东西,这些东西虽然是在纯java基础上开发的,但其他工具里都没有。WebLogic Server凭借其出色的群集技术,拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。   WebLogic Server既实现了网页群集,也实现了EJB组件 群集,而且不需要任何专门的硬件或操作系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错 。 无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性和可用性都是至关重要的。共享的客户机/服务器和数据库连接以及数据缓存和EJB都增强了性能表现。这是其它Web应用系统所不具备的 所以,在扩展性方面WebLogic是远远超越了Tomcat。   费用上:   Tomcat开源免费。   WebLogic不开源不免费。   总之,在功能强大和扩展性和可用性等方面WLS比Tomcat好很多,但这也不能说明WLS适合每一方面,从Tomcat的使用流行度便可以看出,Tomcat虽功能有限,但也很受欢迎。其实关键看你要做什么。Tomcat 是免费开源的jsp,servlet引擎,入门级别的Web服务器,刚入门的IT人使用Tomcat简单易上手。而且它一个轻量级应用服务器,最重要的是它免费,所以在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat比较轻巧,消耗资源较少。当然,项目大的时候,WLS肯定再合适不过,而且Tomcat也无法满足太多需求,但是,WLS的费用也是不可小觑的。   总之,关键看你做什么,权衡利弊做选择。   此外,还有其他J2EE Application Server,例如: IBM的websphere、Sun的Glassfish、resin等。Apache全球应用最广泛的http服务器,免费。同样开源免费的JBoss

01

经典笔试篇-EJB及Spring篇

162、EJB 与JAVA BEAN 的区别?【基础】 答:Java Bean 是可复用的组件,对Java Bean 并没有严格的规范,理论上讲,任何一个Java 类都可以是一个Bean。但通常情况下,由于Java Bean 是被容器所创建(如Tomcat)的,所以Java Bean 应具有一个无参的构造器,另外,通常Java Bean 还要实现Serializable 接口用于实现Bean 的持久性。Java Bean实际上相当于微软COM 模型中的本地进程内COM 组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java 的远程方法调用(RMI)技术的,所以EJB 可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic 这样的容器中,EJB 客户从不直接访问真正的EJB 组件,而是通过其容器访问。EJB 容器是EJB 组件的代理,EJB 组件由容器所创建和管理。客户通过容器来访问真正的EJB 组件。

02

Java面试之EJB & Spring

答:Java Bean 是可复用的组件,对Java Bean 并没有严格的规范,理论上讲,任何一个Java 类都可以是一个Bean。但通常情况下,由于Java Bean 是被容器所创建(如Tomcat)的,所以Java Bean 应具有一个无参的构造器,另外,通常Java Bean 还要实现Serializable 接口用于实现Bean 的持久性。Java Bean实际上相当于微软COM 模型中的本地进程内COM 组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java 的远程方法调用(RMI)技术的,所以EJB 可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic 这样的容器中,EJB 客户从不直接访问真正的EJB 组件,而是通过其容器访问。EJB 容器是EJB 组件的代理,EJB 组件由容器所创建和管理。客户通过容器来访问真正的EJB 组件。

03
领券