| EJB学习笔记(1) |
|
昨天已经提到第一篇学习笔记主要谈一下《Mastering EJB 3rd》这本书的第一章的读后感。由于第一章是在公司里看完的,故读的是英文的电子版,所以一下会出现许多英文术语。
第一章开门见山就就来了简单地定义了一下EJB到底是什么东西。Enterprise JavaBeans(EJB) is a server-side component architecture that simplifies the process of building enterprise-class distributed component applications in Java.看到这句话你知道 了EJB是一个运行在服务器端的组件架构,它的作用是使处理用java写的企业级分布式组件应用简单化。不过仍然是云里雾里,因为你不知道什么叫组件架构,甚至不能体会使企业级分布式组件应用的处理简单化究竟是怎么一回事。好了以下就是国外书籍和国内书籍的区别了。这本书在之后就撇开EJB这个名次不谈而去谈人们在开发这种企业级应用时会遇到的一些问题,并有这些问题在带出为什么需要有EJB,即介绍了EJB的需求。
当开发这些企业级应用时我们往往会遇到这些问题(这里只列出少许):
1.事务处理,有些处理过程必须是原子过程,即要么做要么不做,不能有做到一半的情况。这需要有事务处理的机制去完成。
2.远程方法调用,客户端和服务器的通讯需要由远程方法调用的机制来实现。
3.资源池,必须要由池的概念来统一管理连接,线程以及其他一些宝贵资源。
等等等等
以上列出的问题事实上是和企业的业务逻辑没有任何管理,只是应用了计算机软件之后所产生的各种问题。过去企业往往自己制定自己制作一些在迟久层之上,但是在业务逻辑曾之下的服务来解决上述问题。这些服务称作是中间件服务,因此现在流行的中间件概念其实就是跑这些服务的应用服务器。然而,如果每个企业都要花时间去实现自己的中间件是相当花成本的,况且这些服务有非常大的通用性。如果每个企业都通过自己去解决这些通用性强的功能,那就是一种浪费。由于没有统一的接口这些企业自己实现的中间件服务只能应用于企业自身的一些业务功能。
所以书中指出我们需要的是一份协议,这份协议定义了这些中间件服务的接口,而所有的厂商都根据这些接口去写自己的实现。这样的话只需要有特定的中间件服务厂商去实现服务,而由于接口都一致其他的厂商可以选择任意一个中间件厂商出售的中间件组件服务来应用于自己的产品,而且更换厂商是能够做到无缝链接的!
下面又提到了比中间件服务更上一层的概念SOA(Services-Oriented Architecture)面向服务的架构,即软件服务上为用户提供软件服务时的设计,完全是从服务本身出发,而非技术的实现甚至是组件的角度。比如,如果要实现一个财物系统,按SOA的思想,软件服务商是不应该考虑此财务系统是运行在unix上还是windows上的,理想的情况是我写面向于服务的代码,它能在任何环境下运行!也就是说今天你在unix上运行,下次你说要改在windows上了,软件服务商这里是不需要任何额外开发的成本!因为我面向的服务本身,而非其他的东西!
因此现在流行的Web Services这个概念就是因为SOA而带出来的,事实上,Web Services就是实现SOA的一个良好手段,因为他至少能保证了客户端只需要有浏览器就能作任何事情,Windows下有ie,linux下有FireFox,苹果电脑也有诸如safari这样的浏览器,因此Web服务能让软件服务商不关心平台而棉线浏览器开发。而J2EE能使服务器端也实现跨平台。于是EJB就成了J2EE中的一个重要组成部分。
这样就带出了EJB存在的必要。因此EJB实际上就是一种JAVA领域的构建服务器端组件的标准,它在组件服务和应用服务器上建立了一个协议,这个协议使得任何中间件厂商提供的组件服务能运行在任何应用服务器上!它还是实现SOA的有利后盾,正是有了EJB,软件开发商才能真正面向服务开发,而不用理会诸多的非业务技术实现!
当然,现在提倡轻量级框架,EJB也暴露出许多遗严重的问题,这是后话,毕竟EJB当初提出的初衷,特别是SOA还是值得我们去学习去掌握的!
这是第一篇学习笔记,大家对风格有什么建议,或者希望以后写成什么样的形式还请提出。
|
相关推荐
SMETANA 安装使用教程
关于SMETANA的安装和简单使用信息
SOA技术概况以及其EJB技术实现
1 SOA起源: 随着信息化建设的不断发展,许多企业已经建立众多用于企业管理或生产使用的信息系统,由于各个信息系统都是独立开发的,并且大多数是从单项业务系统开始的,所采用的开发方式和平台各不相同。因此,系统之间独立性很强而沟通性严重缺乏,而以此系统为基础的企业职能部门,相互之间无法进行有效的通信,从而形成一个一个孤立的信息系统,俗称“信息孤岛”。 而基于SOA( 面向服务的架构) 的应用集成
聚类模型-层次聚类
聚类模型 1、层次聚类 2、原型聚类-K-means 3、模型聚类-GMM 4、EM算法-LDA主题模型 5、密度聚类-DBSCAN 6、图聚类-谱聚类 一、层次聚类 一、聚类理论 一般来说,聚类是在训练样本的标签信息不知的情况下,学习样本内在的性质和规律,将有限的集合划分成ccc类。根据“方以类聚,物以群分”的思想,类内对象尽可能的相似,...
基于EJB和AXIS的SOA实践
SOA(Service-Oriented Architecture,面向服务架构)是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 本文以axis1.4 + ejb2.x 为基础,SOAP由axis完成,ejb完成具体的服务实现,以期对SOA有一个感性的认识。 ...
手把手教你用Alinx黑金开发板(Spartan-6)驱动ADF4351信号源(附Verilog SPI代码)
本文详细介绍了如何使用Alinx黑金开发板(Spartan-6 FPGA)驱动ADF4351信号源,包括硬件连接、Verilog SPI代码实现及系统调试。通过实战指南,帮助开发者快速掌握FPGA控制ADF4351芯片的技术,适用于射频信号源设计和学习应用。
全面指南:PyTorch与ROCm版本兼容性及多版本环境管理
本文详细介绍了在AMD GPU上配置PyTorch开发环境的完整流程,重点解决版本兼容性和多版本ROCm环境管理问题。主要内容包括:1) PyTorch与ROCm版本对应关系查询;2) 四种查看ROCm版本的方法;3) 使用update-alternatives管理多版本ROCm;4) 环境变量配置与冲突解决方案;5) 完整的验证流程和性能测试方法。文章提供了最佳实践建议和故障排除清单,帮助开发者快速搭建稳定高效的深度学习开发环境,充分发挥AMD GPU硬件性能。通过系统化的验证流程确保各组件协同工作,解决
精通SOA:基于服务总线的Struts+EJB+WebService整合应用开发(网上书店系统 - SOA实施)
目前全球最大的软件服务商IBM在实施SOA方面一直处于领先地位,因此通过介绍如何用IBM的服务总线产品来构建SOA架构更能使开发人员把握SOA的精髓。服务总线是实现SOA架构最核心的部分,它将对系统内部或者外部的各种服务进行集成和管理。目前IBM基于企业服务总线的产品有Websphere 6.0上自带的SIBus(Service Integration Bus),由于它已经和Websph
MIKE水动力笔记7_实测数据与模型输出结果的拟合对比
上一博文【MIKE水动力笔记6】主要讲解如何自己制作实测数据的时间序列文件dfs0,而本博文讲解如何进行实测数据与模型输出结果的拟合对比。
EJB的简单介绍和使用
17.1 为什么需要EJB 要想知道为什么要使用EJB,就需要知道"面向服务"的概念。"面向服务",是软件开发过程中,异构环境下模块调用的一个比较重要的思想。同样,面向服务也只是一种设计思想,不是一种编程技术。由"面向服务"的思想,业界提出了"面向服务的体系结构(Service Oriented Architecture, SOA)"的概念。 用一个实际案例来引入"面向服务"的概念。在
RFC 字符码转换深度解析:Unicode、非 Unicode 与 MDMP 系统的协奏
老版本 MDMP 系统不上传自定义映射时,Unicode 端会落回“预配置列表”。列表里可见西欧 1100、日文 8000、中文 8400 等经典编号。若需强制覆写映射,可在 SM59 ➡Unicode页签启用,或直接勾选作为兜底。字符编码问题常“潜伏”多年,一旦旧系统升级或新增语种便集中爆发。掌握 RFC code page 转换机理、灵活运用 SM59 选项、在早期对 LANG 字段和字段长度进行治理,是根治乱码与 short dump 的关键。
SAP 系统间 SSO 的真正价值,从 SM59 到可信 RFC 的安全设计
SAP S/4HANA系统间Single Sign-On(SSO)的核心价值在于集中管理通信身份与信任关系,而非仅减少密码输入。传统固定账号密码方式在系统规模扩大后会面临密码管理、审计追踪等挑战。通过SM59配置可信RFC目标系统,结合SSL证书或SAP Trusted System等强认证机制,能有效降低安全凭据暴露风险。SSO配置需配合授权对象、角色管理等建立清晰的信任边界,实现系统间安全通信的同时保持可审计性。这种方案特别适用于Fiori前端与S/4HANA后端等场景,通过可信RFC传递用户身份,避免
EJB3学习笔记(1)
EJB3学习笔记(1) 最近的项目使用了公司自己的一些框架,都是组件式的,本身的设计也很强大,很灵活,框架本身支持分布式,使用了EJB,JMS等技术,之前没有接触过,找了点相关资料和视频看了看,记录一些浅陋的笔记,以加深印象。 EJB版本:EJB3.0(EJB2不知道和EJB3有什么区别) EJB访问方式:3种 1.远程客户端访问:调用EJB的类实例所在的JVM...
AutoSAR系列讲解(深入篇)14.7-Mcal Adc配置(上)
详细讲解了ADC的各个配置项的作用
EJB注释-1(EJB学习笔记)
EJB注释是EJB技术的一个特点。EJB的大部分功能都是通过注释@来实现的。EJB注释1.有状态@Stateful和无状态@Stateless会话@Stateless定义本会话为无状态会话。无状态会话Bean 是一个简单的POJO(纯粹的面向对象思想的java 对象),EJB3.0 容器自动地实例化及管理这个Bean。Stateless Session Bean不负责记录使用者状
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
EJB学习笔记-1-EJB基本概念
EJB Enterprice JavaBean Session Bean 会话bean 体现业务逻辑,分为状态bean和无状态bean Entity Bean 实体Bean 代表真实物体的数据,在EJB中仅作为普通java来使用,负责于数据库表进行对象于关系的映射(O/R Mapping) Message Driven Bean MDB 消息驱动bean 专门用来消息请求的组
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
传智播客 EJB3 学习笔记1
1 安装jboss (略)2 创建一个既能本地调用 又可以远程调用的 bean 引入jboss_home/client/下面的jarpublic interface HelloWorld { }public interface HelloWorldLocal extends HelloWorld {} @Stateless
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
ejb3学习笔记1(ejb3 helloworld示例)
ejb3学习笔记1(ejb3 helloworld示例) 一.安装配置jboss服务器 1.解压下载的jboss5E到这个目录\program\server\(目录中不能包含空格),修改E:\program\server\jboss- 5\server\default\deploy\jbossweb.sar目录下的server.xml,修改服务器的端口号为8888. 2....
EJB3.0示例教程学习笔记1什么是EJB
[b]Enterprice JavaBeans [/b]是一个用于分布式业务应用的标准服务端组件模型。 采用 Enterprice JavaBeans 架构编写的应用是可伸的、 事务性的、 多用户安全的。 可以一次编写这些应用, 然后部署在任何支持 Enterprice JavaBeans 规范的服务器平台, 如 jboss、 weblogic 等。 Enterprise JavaBean( E...
Weblogic EJB 学习笔记(1)
1、ejb 基础知识 (1) 无状态会话bean 不保存客户机的会话状态 优点:使用小量的实例即可满足大量的客户。每个实例都没有标识,相互之间是等价的。 等?的无状态会话bean: 多次和一次调用的结果和效应相同。 在集群中可以负载均衡 a 机器失败,可以在b机器上重试 非等?的无状态会话bean: 如:计数器 不能自动因故障而进行切换。 (2) 有状态会话bean 保...
EJB3.0学习笔记1—入门
相较于EJB2.0,EJB3.0的编程模型的改变时惊人的, 但是EJB技术本身并没有因此而变味,它仍然是服务器端组件框架,它变化的只是开发和部署模型,而它的核心框架 和内部原理并没有改变。
EJB3.0 draft学习笔记(1)
EJB3.0 draft学习笔记(1) 今天开始学习EJB3.0 draft,大家可能都知道了,一个有状态会话bean长得象这样:@Stateful public class CartBean implements ShoppingCart {private float total;private Vector productCodes;public int someShoppingMetho
jee6 学习笔记 3 - an EJB3.1 DAO
DAO interface. [code="java"] package com.jxee.ejb; import javax.ejb.Local; import com.jxee.model.User; /** * although it's not required, it's good practice to define a DAO interface. * a...
JavaEE5学习笔记07-Web层与EJB集成总结(1):servlet与EJB集成
1. 集成时的感受 单丝不成线,孤木不成林。尽管JavaEE5标准不只是作为Web系统而提出的,但是所有的软件系统都是给人用的,都离不开UI处理。而EJB可以作为单机程序Swing、AWT的后台支持,也可以作为B/S的后台支持。既然是B/S就离不开Web框架。JSF也是JavaEE5的标准,它的规范中提出:“可以将EJB组建通过EJB容器注入到Web组件当中”。简而言之,JSF的托管...
jee6 学习笔记 6.1 - Singleton EJB
The idea of the test is to print the instance of the singleton ejb for different requests. The singleton ejb is referenced in the request scoped backing bean. the screen shot of the test page: ...
1173



被折叠的 条评论
为什么被折叠?



