EJB,攻克企业计算堡垒(EJB介绍之一)(0分)

  • 主题发起人 主题发起人 eguy
  • 开始时间 开始时间
E

eguy

Unregistered / Unconfirmed
GUEST, unregistred user!
EJB----Enterprise Java Bean,是SUN在服务器平台上推出的JAVA技术族的成员。
与其他J2EE的技术一起,大大增强了JAVA的能力,并推动了JAVA在企业级应用程序的应用。
从软件构件的角度,EJB是JAVA技术中服务器端软件构件的技术规范和平台支持。
我们知道,在软件产业中,基于构件技术是当前的热点,在面向对象技术快速发展的今天,
构件作为可重用的软件组件,在软件系统的开发上,解决了重复开发的问题,
提高了软件开发的效率。在软件构件的技术上,众多厂商形成了几大阵营。
以微软为首的DCOM/COM阵营,从DDE,OLE 到ACTIVEX等,提供了构件开发的基础,
如VC,VB,DELPHI等都支持DCOM,包括OLE DB在内新的数据库存取技术,
但是脱不了桌面计算的底子。
以苹果和国际商用机器为首的OpenDoc阵营,现在没有得到更多的厂商支持,
加之苹果和IBM的硬件平台在C/S应用中没有成为主流,所以发展并不乐观。
还有一派,即包括SUN在内的OMG,对象管理组织,推出了跨语言的CORBA,已逐渐成为
业界的标准。
那么,EJB是OMG成员之一的SUN推出的基于JAVA的构件规范,是JAVA开发的一件利器。
自从随J2EE推出之后,广泛的得到了业界的支持,已经成为应用服务器的标准技术。
从企业应用多层结构的角度,EJB是商业逻辑层的构件技术,于JAVA BEANS不同,
他提供了事务处理的能力,自从三层结构提出,中间层,也就是商业逻辑层,
是处理事务的核心,由于从数据存储层分离,他就取代了存储进程的大部分地位。
从分布式计算的角度,EJB像CORBA一样,提供了分布式技术的基础,
以及对象之间的通讯手段。
从Internet技术应用的角度,EJB和SERVLET,JSP一起成为新一代应用服务器的技术
标准。EJB中的Bean可以分为会话Bean和实体Bean,前者维护会话,后者处理事务。
现在,SERVLET负责与客户端通信,访问EJB,并把结果通过JSP产生页面传回客户端,
成为开发的新潮流。
从发展的角度看,EJB完全有可能成为面向对象数据库的新的平台,构成企业计算的
基础。
总而言之,在日新月异的技术发展和更新中,EJB,甚至EJB的后继者,将在JAVA技术
的大旗下不断攻城克地,占领企业计算的大好江山。



 
今天下午1:30,Inprise将在北京新世纪饭店举办
JBuilder4 &
Inprise Application Server4.1新产品发布暨技术研讨会。
《J Builder 4 技术白皮书》
纯Java可视化开发
JBuilder 已成为当今开发者首选的Java?开发环境。它将Web和企业应用开发与灵活高效的
团队开发环境结合在一起,为开发者提供了一个端对端应用开发环境。JBuilder支持最新的
Java标准,它的可视化工具和向导使应用开发变得方便快捷。JBuilder同时支持Windows、
Linux 和Solaris 三种开发平台。由于JBuilder具有开放性、可扩展性、遵循标准等特点,
使得用JBuilder开发符合J2EE标准的电子商务应用、分发Internet分布式的关键性企业级应
用、建立互联数据库、设计数据驱动的动态网页应用以及开发servlets、JSPs异常快捷,从
而加速产品推向市场的周期。JBuilder支持最新的Java技术,包括applets、JSP/Servlets、
JavaBeans、Enterprise JavaBeans、CORBA应用。JBuilder4 的IDE环境包括:
1.AppBrowser.可以用XML方式进行项目管理;
2.StructureInsight.可以实时反映程序结构状况;
3.HTML和 XML浏览器;
4.先进的图形化调试环境;
5.CodeInsight.编程向导可以智能感知代码书写的状况;
6.可由用户任意扩展的代码编辑器;
7.双向工具(Two-Way-Tools);
8.可视化的JFC/Swing设计器;
9.BeansExpress;
10.DataExpress;
11.闪速编译器。
高效团队开发
JBuilder4的集成团队开发环境非常灵活并具有可扩展的特性,简化了大型分散开发团队的
原代码的并发管理。JBuilder4 集成的CVS源码库引擎在局域网和互联网上扩展了原有的代
码管理。历史修订浏览器使工作空间(当前代码)和源码库(历史代码)协同操作,完成
版本更新、解决版本冲突问题。在IDE中,你可以看到修改过的代码被显式地标志出来,你
可以浏览这些更改信息和冲突标志。你还可以使用计划列单(todo
lists)和计划Javadoc
注释(todo
Javadoc comments)来跟踪编程进展。
快速生成EJB
JBuilder4 拥有一个可视化的双向EJB设计器,用于定义EJB的属性、BeanInfo、事件和方法
。开发者只要轻点鼠标既可以生成纯JAVA的EJBs和JavaBeans。使用JBuilder4 的EJB分发描
述符编辑器,开发者能可视化地编辑EJB的环境属性、分发控制描述符,实现与特定应用服
务器无关的EJB分发。对于Entity Bean,开发者可以用Entity Bean Modeler可视化地创建
数据库对象关系映射,将数据源、表、索引和域直接映射到Entity Bean上。
支持各种应用服务器
JBuilder与Inprise Application Server紧密集成,同时支持WebLogic Server,支持EJB 1.1
和准EJB 2.0,可以快速开发分发J2EE的电子商务应用。在开发环境中,既可以本地也可以
远程运行调试EJB。在分发EJB时,你无须再次启动应用服务器。
用Servlets和JSPs开发和调试动态Web应用
JBuilder4向导提供的可视化工具,既可以创建瘦客户端程序也能够创建由任意Web 浏览器
访问的纯Java程序。在IDE环境中,对JSP内嵌代码可设置断点进行调试,IDE环境还能动态
感知这些代码。对于Servlets,开发者可以在本地或远程的Servlet容器中对之进行调试。
用DataExpress和InternetBeans创建专业数据库应用
dbSwing组件库使用DataExpress,直接支持Swing数据模式。用这些数据感知dbSwing组件
(如enhanced Tree、List、Table等),可以很容易地开发数据库应用。各种各样的
InternetBeans组件让开发者能快速生成数据驱动的动态Web应用。利用DataExpress组件
及EJB技术,可将商务逻辑和高速Web前端程序快速连接在一起。通过XSQL查询,XML Servlet
可为任意的JDBC数据源生成XML形式的数据集。使用JDataStore?4,可以有效地管理数据。
JdataStore是一个纯Java、对象关系型的数据库系统,由于具有占用资源小、零管理和
高性能等特性,所以适用于 Web、移动设备、嵌入式数据库系统。
创建(没有专有代码和标记)纯Java2应用
JBuilder4是用纯Java 语言编写的,其代码不含任何专属代码和标记。Jbuilder 4支持最
新的Java标准,包括Java 2,Java 2 Swing/JFC, XML, Java2D,Java Collections,
Message Queue, Accessibility APIs, JDK 1.1, JavaBeans, JDBC, Enterprise JavaBeans,
JSP/Servlets, Serialization, InnerClasses, RMI, JNI, Java Archives。开发者
可以通过JDK开关选择需要使用的JDK版本,包括J2ME、J2SE、J2EE或其它JDK。一旦
进入新的JDK环境,就可以用它编译、运行、调试代码。
先进灵活的调试
JBuilder拥有专业化的图形界面调试,支持远程调试和多线程调试。调试器支持各种
JDK版本,包括J2ME、J2SE和J2EE,支持多JDK。开发者可以在调试过程中设置条件断
点或跨进程断点。在断点处,可以检测、修改变量,同时查看多个线程,可以在本地
或远程代码中单步调试定位。用调试器可以有效地排除线程死锁。在调试时可任意停
止或忽略条件判断。远程调试还提供一个浏览界面,用于查看运行在多个JVM的所有
进程,这些进程可能分布在各种操作系统之下,如HP-UX,Tru64,AIX等等,支持Java2
调试的任何环境。
快速编程
JBuilder有一个可扩展的源码编辑器。它的CodeInsight向导自动访问相关Java对象
的属性、事件、方法和包的上下文提示。开发者可以选择自己习惯的IDE键盘风格,
象CUA、Emacs、Visual Studio或Brief,也可以可视化地定义自己的快捷键。

灵活开放的IDE架构
你可以使用开放工具API将一些附加的或第三方工具紧密集成到JBuilder环境中,
扩展IDE的功能。
完整的企业方案
JBuilder是Borland企业级解决方案的重要组成部分,该方案为用户开发J2EE兼容电子
商务应用提供:
1.JBuilder----开发工具;
2.Inprise Application Server---运行和分发环境;
3.AppCenter----管理平台。
 
现在用文本编辑java真累.我想问两位老大是不是直接从jb开始好点?
 
你可以先用文本编辑玩点小东东,
如果真累,哪就有jb好了。
 
to:tanglu
你有《JBuilder4技术白皮书》?电子版?!不要说是你才翻译的:(
 
说起来我试过的工具可就太多了。现在向大家报告一下。(有点离题了,eguy别怪我:)
我在用WebSphere3.5, client端用Visuage for java 3.5写java class,
这几个class执行着用jdbc访问db2的任务。而且使用了WebSphere自己的ConnectionPool,
所以用到了DB2 的一些包(com.ibm.db.*)和WebSphere的一些包。
整个java基于jdk1.2.2,所以以下的程序用的都是1.2.2环境。
我是在一个工程组里面,大家用Source safe来同步源代码。
先说Visuage for java.
Visuage for java最大的特点就是---慢!占内存非常多。要是你有256MB+的话,应该可以启动
一个WebSphere Test 环境。这个环境非常之全面,就是一个WebSphere的简化版,什么都可以运行,
还可以对JSP调试。不过你是想象不出来的慢。如果你想调试一个jsp,在我的机器Piii600,
256MB,启动上述两个程序的时间是15秒。所以我轻易不用它们,只有实在找不到问题了才祭出
来用用。评价是Visuage 想得非常全面,基本上你的要求都可以满足。只不过希望你有512M ram
最好。
再说Visuage Cafe.
我试过Visual Cafe 3.1,试图把Db2 jdbc和IBM的几个包传过来,在Cafe里面编译class,取代
Visual Age. Cafe是我见过的java IDE中最快的一个。不过我试验了一个晚上,终究以失败
而告终。Cafe的project有个import列表,只是我始终找不到办法把我的那几个包放进去。
我甚至手工编辑sc.ini文件,整个儿把Visual Cafe的java设置更改,搞得界面上几个包
都变了,结果还是没能改变这个import列表。用grep和ultraedit直接编辑工程文件都
找不到。最后放弃了。
总结:如果你后台用的是WebLogic,看起来Cafe 3.1是不二选择。
jBuilder.
jBuilder 3.5情况好点儿。IDE速度比Visual Cafe慢一点儿,但是比Visuage 快多了。
可能是因为我对borland风格比较熟悉的缘故,不到30分钟就完成了我自己的class的port,
能够顺利的编译。而且我意外的发现jBuilder支持
SourceSafe,这让我非常动心。这可是Visuage Age的薄弱项,VAJ是到3.5才开始比较好的支持
VSS,而且还问题多多,速度非常之慢,Visuage Age的站上说正在开发FixPack2,主要就是解决
对VSS等的支持问题。
直到我开始试着export class,才发现一个致命的问题。我启动了deploy wizard,然后发现
这就是一场灾难。先是弹出了一个对话框解释说现在正在整理文件列表。好,当然可以理解。
不过这个整理就是一个钟头。靠,我才30几个class! 我实在忍不住,切换了一下程序,
终于发现wizard其实已经到了第二步...(它也不提醒我一声)再选择export,就彻底以死机
而告终。等我把这个wizard cancel掉,惊讶的发现,刚才那个整理文件的对话框还在运行。
于是心灰意冷,关机回家。
第二天,继续用我的Visuage for java.
关于jsp: 我的JSP现在用HomeSite 4.51写.
至于HomeSite,我个人觉得是我最好的一次选择。
homesite的竞争对手是WebSphere Studio. 在一些关键问题上,二者都能很好的满足我的需要。
包括source safe支持,完整的deploy向导等等。WebSphere Studio还有几个wizard,来生成
sql,servlet,和jsp. 说实话这些wizard给了我相当大的帮助。我现在的代码中有好多就是
接见了wizard生成的代码。
直到最后我发现了studio的一个关键问题:他会自己帮你改绝对路径!比如说,
有个a href,挑转到 /anotherdir/file.jsp,你当前的文件存放在c:/path1,studio就会
在这个文件里自动把href变成 file://c:/path1/anotherdir/file.jsp.
等到deploy的时候,deploy wizard自动会把它换成相对路径。
看起来好像没有问题是吧?可是想一下我们是在用SourceSafe!
当两个写jsp的人分别处理这个程序的时候,有可能另一个人的本地工作路径是d:/path2,
这样,当他check out出来的时候,这个href还是file://c:/path1/anotherdir/file.jsp.
他再deploy,这次Studio就不管这些路径了!
我们工作了一个星期,最后发现我们40%的工作时间是在同步路径。忍无可忍之下,就用
homesite了!
不可不提的是Studio有一个无与伦比的优点是他内置一个webSphere运行时环境,可以直接
compile jsp,如果有错误就会显示出来。这一点我一直没有弄清楚。我试图分析studio的
文件希望得到它的java 命令行参数,以便于我制作一个jsp compile的工具来挂到homesite,
一直没有成功。tomcat这一点比WebSphere好很多,有jspc可以用。
或许我可以试着研究一下tomcat.
有个基本原则就是,如果你选定了application server,大部分情况下用建议的开发工具总是
不错的。我这算是特殊情况,Visuage age实在是太慢了!
现在,Visual Cafe出到4.0了,jBuilder也到了4.0,可惜我到处找,到现在还没有找到。
要是哪位知道那儿有,别忘了通知我一声,我好继续做比较,看看开发环境到底怎样效率
高一点。
一家直言,各位看着可有帮助?
 
〉〉比Visuage 快多了。
真不知Visuage要慢到什么程度。
JBuilder4.0支持EJB1.1,JSP taglibrary,以及专给JAVA开发的VSS类软件
CVS。我对Borland真是越来越崇拜了!
 
谢谢 eguy, tanglu, 曹晓钢 和各位.
我在找新的服务器, 搞定后一起用 Tomcat 改造练功场如何?
我见过 JB4 的演示, 机器是 PIII 350+128M, 当时, 演示者做了这些事情:
1.创建一个 CPM EJB (连 JStore) 启动内置的 EJB Container, 设了断点;
2.创建一个 EJB Client 运行, 设了断点;
3.创建一个 JSP, 启动内置的 Tomcat, 在 JSP 中设了断点.
三个 JB4 在运行, 相互切换, 编辑和调试, 速度还行.
 
孙老师,不知您是否用过iFS,或者Cifs,我现在正在研究这个东西。
详见www.driveway.com。它甚至可以做大富翁的下载中心。
 
昨天下午参加了JB4的发布会。
拿到了Borland的技术白皮书和一张全套Borland开发工具的60天完整试用版。
包括:JB3.5(JB4还没有压牒),Delphi 5,C++ Builder 5,VisiBroker 4.0 for Java,
VisiBroker 4.0 for C++,Inprise Application Server 4.0,Interbase 5.6等。
真够全的。
看了那个老外的演示,除了中途出了些小Bug以外,看来功能真的很强。
但他只在Windows2000下做了演示,不知道其他平台的情况。
该版本还不能很好地支持UML,可能要到下一个版本才行了。
有一个图演示了JB个版本的演变:JB1.0主要实现了纯Java在可视化环境下的开发。
JB2.0实现了与Database的连接控件,JB3.0实现了MIDAS,JB3.5实现了Corba,JB4.0
主要实现了EJB,还有其他分布式环境下的开发向导。
JAVA是大方向,JB是当今世界上应用最广泛的可视化JAVA开发工具,配合Inprise的
Application Server 和Visibroker可以方便快速的开发出分布式应用系统。大家
千万不要错过这个领导世界潮流的好机会啊!
(注:我不是Inprise公司的)
(又注:上面那句话可不是“此地无银三百两”啊)
孙老师的建议很好啊,我举双手赞同!(但是我还没有搞到JB4的盘呢)
 
ifs? 是那个internet file system吧?
关注。
我刚申请了宽带网,不过只有10M,做server估计有点困难,不过以后上网可就快多了。
大概还要3,4天才能用。要是有用得着我或者我的服务器的,当然没问题。
 
谢谢各位积极参予,
to 曹晓钢:谢谢你的评论,给大家一个选择工具的指导,太羡慕你的机器了,太爽了。
你是不是好长时间没来大富翁的吧。Jbuilder4早就被我们找到了。到这来看看:
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=254149
to tanglu:Borland的技术白皮书是电子版的吗。能共享一下吗。
to yysun:>>我在找新的服务器, 搞定后一起用 Tomcat 改造练功场如何?
太好了!!
 
曹晓钢:
正是!欢迎一起研究
 
哈欠....
困死了。...
继续说EJB.
说老实话我对EJB是一窍不通。这两天想起它老人家来,主要是因为我的jsp程序中我自己做了一个
database得封装,用来模拟delphi的dataset.哎,谁叫delphi用多了呢?:)
这个database的封装,从Websphere的connection Pool 去取connection,这就造成了一个问题,
Connection Pool是WebSphere自己管的,要是我准备把这个Query class标准化,想和websphere
无关,就必须自己控制connection Pool.本来这也没什么,jdbc2里面已经提供了connection pool,
不过我的这个class可就不得一直在内存运行了吗?
我想,如果是这样的话,我是不是已经在试着做一个EJB了?困惑。
哪位实际写过EJB的,不妨赐教?
 
曹大侠:我说两句EJB吧,说得不好,不要笑话。:)
EJB分为两类,Session Bean和Entity Bean; Session Bean是客户端业务逻辑向
服务器端的延伸。Entity Bean代表了某些持久存储器中的对象,如数据库中的一行记录。
Entity bean用来代表底层的对象。最常用的是用Entity bean代表关系库中的数据。
一个简单的Entity bean可以定义成代表数据库表,也就是每一个实例代表一个特殊的记录。
这样,你就可以就操纵java对象一样容易的操纵你的数据(数据表)了。
你定义的Query class,应该说有点Entity bean的影子了。只不过connection Pool
是应用服务器提供的功能,EJB的开发者是不用考虑的。
>>不过我的这个class可就不得一直在内存运行了吗?
所有的EJB 实例都运行在EJB容器中。容器提供了系统级的服务,
控制了EJB的生命周期。因为容器掌握了绝大多数系统级服务。Enterprise Beans 的开发者
不需要应用逻辑考虑进来。通常来说,EJB容器掌握了以下的系统级服务.
1、Security--配置描述器(The Deployment descriptor)定义了客户能够访问的不同的应
用函数。容器通过只允许授权的客户访问这些函数来达到这个效果。
2、Remote Connectivity--容器为远程链接管理着低层的通信,而且对Enterprise Beas的
开发者和客户都隐藏了通信.Enterprise Beans的开发者在编写应用方法的时候,就象是在
用本地的平台一样的。客户也不清楚他们调用的方法可能是在远程被处理的。
3、Life Cycle managment--客户简单的创建一个Enterprise beans的实例(有可能根本没有创建)
,容器管理着Enterprise Beans的实例,使Enterprise Beans实现最大的效能和内存利用率。
容器能够这样来激活和ejbPassivate(这个不好翻译,谁给个好听的,有人译为“钝化”)
Enterprise Beans,保持众多客户共享的实例池等等。
4、Trasction management—配置描述器定义了Enterprise beans 的事务处理的需求。
这些事务可能要在不同的平台之间更新数据库。容器使这些事务之间互相独立,互不干扰。
保证所有的更新数据库都是成功发生的,否者,就回滚到事务处理之前的状态。


 
eguy,曹大侠,补充一句:
Session Bean 又分为: state / state-less 两种
Entity bean 又分为: Bean Management Persistance / Container Management Persistance 两种
tanglu 你参加的会议与我一样, 我也拿到了那张光盘 和 Borland 的 T-shirt.
会议最后有抽奖, 我多么希望抽到一套 JB, 可惜运气不佳.
有位抽到奖的老兄, 什么软件都不要, 要了个代表 Linux 的 企鹅玩具, 多气人 :(
看来他们在全世界搞这个活动, 11月3日到多伦多.
Crane,谢谢您的建议,我也在研究如何将 WebDAV 用到练功场.
曹大侠: 练功场搬去你的服务器如何?
 
接受答案了.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部