EJB入门高清文本 ejb入门高清文本最新
yuyutoo 2024-10-14 16:27 6 浏览 0 评论
EJB 并不是一个产品。它是 Java 服务器端服务框架的规范,软件厂商根据它来实现 EJB 服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。
EJB 规范详细地解释了一些最小但是必须的服务,如事务,安全和名字等。软件厂商根据这些规 范要求以保证一个 enterprise bean 能使用某个必需的服务。规范并没有说明厂商如何实现这些服务。这使得通过阅读规范来学习 EJB 更加困难,因为它允许厂商在不牺牲核心服务的可移植性的前提下来提供一些增强功能。
l JavaBeans 和 Enterprise JavaBeans
JavaBeans 是 Java 的组件模型。在 JavaBeans 规范中定义了事件和属性等特征。Enterprise
JavaBeans 也定义了一个 Java 组件模型,但是 Enterprise JavaBeans 组件模型和 JavaBeans组件模型是不同的。 JavaBeans 重点是允许开发者在开发工具中可视化的操纵组件。JavaBeans规范详细地解释了组件间事件登记、传递、识别和属性使用、定制和持久化的应用编程接口和语意。Enterprise JavaBeans 的侧重点是详细地定义了一个可以 portably 地部署 Java 组件的服务框架模型。因此,其中并没提及事件,因为 enterprise bean 通常不发送和接受事件。同样也没有提及属性------属性定制并不是在开发时进行,而是在运行时(实际上在部署时)通过一个部署描述符来描述。不要寻找 JavaBeans 和 Enterprise JavaBeans 之间的相似性。他们都是组件模型规范,但是前者说明了开发工具中应用程序组装的问题,而后者则侧重于部署组件的服务框架的细节。不要错 误地认为 JavaBeans 是用于客户端的开发,Enterprise JavaBeans 是用于服务器端的开发。JavaBeans 也可作为进行非图形化服务器端 Java 应用开发的组件模型。区别是当你使用JavaBeans 创建服务器应用时,你还得设计整个的服务框架。用 Enterprise Javabeans 框架是现成的,你只需遵守它的 APIs.对于复杂的服务器端应用程序,显然使用 Enterprise JavaBeans比重新开发更简单。
l Enterprise JavaBeans 体系结构
EJB 服务器是管理 EJB 容器的高端进程或应用程序,并提供对系统服务的访问。EJB 服务器也可以提供厂商自己的特性,如优化的数据库访问接口,对其他服务(如 CORBA 服务)的访问,对SSL 3.0 的支持等。一个 EJB 服务器必须提供对可访问 JNDI 的名字服务和事务服务支持。一些可能的 EJB 服务器的例子如:
·数据库服务器
·应用服务器
·中间件服务器
EJB 容器是一个管理一个或多个 EJB 类/实例的抽象。它通过规范中定义的接口使 EJB 类访问所需的服务。容器厂商也可以在容器或服务器中提供额外服务的接口。 现在没有 EJB 服务器和 EJB 容器间接口的规范。因为目前容器通常由 EJB服务器来提供,所以 一旦接口标准化了,厂商就可能提供可以在任何兼容的 EJB服务器上运行的容器。
Home 接口列出了所有定位、创建、删除 EJB 类实例的方法。Home 对象是 home 接口的实现。 EJB 类开发者必须定义 home 接口。容器厂商应该提供从 home 接口中产生 home 对象实现的方法。远程接口(remote interface)列出了 EJB 类中的商业方法。EJBObject 实现远程接口,并且客户 端通过它访问 EJB 实例的商业方法。EJB 类开发者定义远程接口,容器开发商提供产生相应的EJBObject的方法。客户端不能得到 EJB 实例的引用,只能得到它的 EJBObject 实例的引用。当客户端调用一个方法,EJBObject 接受请求并把它传给 EJB实例,同时提供进程中必要的包装功能。客户端应用程序通过 home 对象来定位、创建、删除 EJB类的实例,通过EJBObject 来调用实例中的商业方法。客户端可以用 Java 来编程,通过 Java RMI来访问访问 home 对象和 EJBObject,或用其他语言编程并通过 CORBA/IIOP 访问,使得部署的服务器端组件可以通过 CORBA 接口来访问。
《EJB入门》这个文本中包含了很多类似的专业性内容,以供大家参考。
相关推荐
- 全局和隐式 using 指令详解(全局命令)
-
1.什么是全局和隐式using?在.NET6及更高版本中,Microsoft引入了...
- 请停止微服务,做好单体的模块化才是王道:Spring Modulith介绍
-
1、介绍模块化单体是一种架构风格,代码是根据模块的概念构成的。对于许多组织而言,模块化单体可能是一个很好的选择。它有助于保持一定程度的独立性,这有助于我们在需要的时候轻松过渡到微服务架构。Spri...
- ASP.NET程序集引用之痛:版本冲突、依赖地狱等解析与实战
-
我是一位多年后端经验的工程师,其中前几年用ASP.NET...
- .NET AOT 详解(.net 6 aot)
-
简介AOT(Ahead-Of-TimeCompilation)是一种将代码直接编译为机器码的技术,与传统的...
- 一款基于Yii2开发的免费商城系统(一款基于yii2开发的免费商城系统是什么)
-
哈喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!...
- asar归档解包(游戏arc文件解包)
-
要学习Electron逆向,首先要有一个Electron开发的程序的发布的包,这里就以其官方的electron-quick-start作为例子来进行一下逆向的过程。...
- 在PyCharm 中免费集成Amazon CodeWhisperer
-
CodeWhisperer是Amazon发布的一款免费的AI编程辅助小工具,可在你的集成开发环境(IDE)中生成实时单行或全函数代码建议,帮助你快速构建软件。简单来说,AmazonCodeWhi...
- 2014年最优秀JavaScript编辑器大盘点
-
1.WebstormWebStorm是一种轻量级的、功能强大的IDE,为Node.js复杂的客户端开发和服务器端开发提供完美的解决方案。WebStorm的智能代码编辑器支持JavaScript,...
- 基于springboot、tio、oauth2.0前端vuede 超轻量级聊天软件分享
-
项目简介:基于JS的超轻量级聊天软件。前端:vue、iview、electron实现的PC桌面版聊天程序,主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。支持...
- JetBrains Toolbox推出全新产品订阅授权模式
-
捷克知名软件开发公司JetBrains最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境IntelliJIDEA,相信很多开发者都有所了解。而近期自2015年11月2日起,JetBr...
- idea最新激活jetbrains-agent.jar包,亲测有效
-
这里分享一个2019.3.3版本的jetbrains-agent.jar,亲测有效,在网上找了很多都不能使用,终于找到一个可以使用的了,这里分享一下具体激活步骤,此方法适用于Jebrains家所有产品...
- CountDownTimer的理解(countdowntomars)
-
CountDownTimer是android开发常用的计时类,按照注释中的说明使用方法如下:kotlin:object:CountDownTimer(30000,1000){...
- 反射为什么性能会很慢?(反射时为什么会越来越长)
-
1.背景前段时间维护一个5、6年前的项目,项目总是在某些功能使用上不尽人意,性能上总是差一些,仔细过了一下代码发现使用了不少封装好的工具类,工具类里面用了好多的反射,反射会影响到执行效率吗?盲猜了一...
- btrace 开源!基于 Systrace 高性能 Trace 工具
-
介绍btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进,核心改进...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- .NET 奇葩问题调试经历之3——使用了grpc通讯类库后,内存一直增长......
- 全局和隐式 using 指令详解(全局命令)
- 请停止微服务,做好单体的模块化才是王道:Spring Modulith介绍
- ASP.NET程序集引用之痛:版本冲突、依赖地狱等解析与实战
- .NET AOT 详解(.net 6 aot)
- 一款基于Yii2开发的免费商城系统(一款基于yii2开发的免费商城系统是什么)
- asar归档解包(游戏arc文件解包)
- 在PyCharm 中免费集成Amazon CodeWhisperer
- 2014年最优秀JavaScript编辑器大盘点
- 基于springboot、tio、oauth2.0前端vuede 超轻量级聊天软件分享
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)