EJB-Programming-4-cn.doc

Similar documents
EJB-Programming-3.PDF

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

新・解きながら学ぶJava

untitled

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

IoC容器和Dependency Injection模式.doc

RunPCPB8 new feature.PDF

优迈科技教学大纲2009版本

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

weblogic

chp6.ppt

Microsoft Word - 01.DOC

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

Microsoft PowerPoint - ch6 [相容模式]

JBuilder Weblogic

《大话设计模式》第一章

KillTest 质量更高 服务更好 学习资料 半年免费更新服务


untitled

FileMaker 16 ODBC 和 JDBC 指南

Chapter 9: Objects and Classes

Microsoft Word - 第3章.doc

拦截器(Interceptor)的学习

TopTest_Adminstrator.doc

ebook

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

untitled

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

<4D F736F F F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

國家圖書館典藏電子全文

Stateless Session Beans(无状态bean)的学习

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Microsoft Word - Learn Objective-C.doc

JavaIO.PDF

Java 1 Java String Date

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型

untitled

FileMaker 15 ODBC 和 JDBC 指南

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

附录J:Eclipse教程

基于CDIO一体化理念的课程教学大纲设计

OOAD PowerDesigner OOAD Applying PowerDesigner CASE Tool in OOAD PowerDesigner CASE Tool PowerDesigner PowerDesigner CASE To

untitled

RunPC2_.doc

epub83-1

11 天 山 区 区 环 卫 清 运 队 机 械 工 程 师 4011 C 1 不 限 不 限 机 电 具 有 两 以 工 作 经 12 天 山 区 乌 鲁 木 齐 市 第 15 小 会 计 4012 C 1 不 限 不 限 会 计 财 会 财 电 算 化 临 床 医 预 防 医 公 共 卫 生 与

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

Java

untitled

Microsoft Word - ch04三校.doc

untitled

untitled

(Microsoft Word - \272\364\263q\245|\244A_ _\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc)

基于ECO的UML模型驱动的数据库应用开发1.doc

jsp

ASP.NET MVC Visual Studio MVC MVC 範例 1-1 建立第一個 MVC 專案 Visual Studio MVC step 01 Visual Studio Web ASP.NET Web (.NET Framework) step 02 C:\M

2 Java 语 言 程 序 设 计 教 程 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

Chapter 9: Objects and Classes

概述

D C 93 2

untitled

会话Bean与实体Bean(CMP)使用

Value Chain ~ (E-Business RD / Pre-Sales / Consultant) APS, Advanc

Swing-02.pdf

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

untitled

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇 业 务 流 程 管 理 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX BPMX3 是 什 么 为 什 么 要 优 先 采 用 BPMX

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

FAQ -PowerDesigner9.5.DOC

Servlet

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

mvc

建模与图形思考

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

<4D F736F F D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

ebook140-9

Microsoft PowerPoint - ARC110_栾跃.ppt

Wy159.mps

untitled

untitled

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

(procedure-oriented)?? 2

1. 2. Flex Adobe 3.

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

Microsoft Word - 物件導向編程精要.doc

提问袁小兵:

Learning Java

<4D F736F F D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

javaexample-02.pdf

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式 软 件 工 程 专 业 课 程 类 型...7

epub 61-2

《计算概论》课程 第十九讲 C 程序设计语言应用

Transcription:

EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session Façade Design Pattern EJB Test Client Seminar Session Bean Session Façade Design Pattern Session Bean EJB Session Bean( 1) Session Bean Entity Beans Beans Session Bean MVC Controller Session Bean Session Bean Session

Session Bean javax.ejb.sessionbean package Session Bean Stateless Session Bean Stateful Session Bean Bean Session Bean Stateless Session Bean (Data Member) Stateless Session Bean Session Bean Stateful Session Bean EJB Container EJB Container Session Bean Session Bean EJB Container 1 Stateless Session Bean (State Diagram) 2 Stateful Session Bean (State Diagram)

Stateless Session Bean EJB Container Instance Swapping EJB Container Stateful Session Bean EJB Container EJB Container Bean J2EE Server J2EE Application Server EJB Container Session Bean Deployment Descriptor EJB Container Session Bean Deployment Descriptor <session> </session> <display-name>scheduler</display-name> <ejb-name>scheduler</ejb-name> <home>praticalejbprogramming.schedulerhome</home> <remote>praticalejbprogramming.scheduler</remote> <ejb-class>praticalejbprogramming.schedulerbean</ejb-class> <session-type>stateless</session-type> <transaction-type>container</transaction-type> EJB Container Session Bean Session Bean (Instance) Session Bean Session Bean Stateless SB Stateful SB Shopping cart Session Bean Design Pattern-Session Façade Design Pattern Session Facade Design Pattern Session Bean Session Façade Design Pattern J2EE EJB Container (Business Objects) Value Object Entity Bean Java Class

Session Façade Design Pattern Session Façade Session Façade EJB Session Bean Session Bean Value Object Value Entity Bean Session Bean Façade Design Pattern JSP Servlet Java Application Session Bean Session Bean Session Façade Session Bean Class Diagram 3 Session Façade Class Diagram

Session Bean Session Façade Design Pattern Bean Scheduler Session Bean Stateless Session Bean Session Bean Planner Stateful Session Bean Seminar Stateful SB Planner SB Stateful SB Scheduler Session Bean JBuilder Session Bean EJB Designer Session Bean 4 JBuilder EJB Designer Session Bean Session Bean Bean Properties JBuilder EJB Bean

Session Type Session Type Session Bean Stateful Stateless 5 JBuilder EJB Session Bean Properties Bean Scheduler Bean Scheduler Bean private ejbcreate() private RoomManager roommanager; private SeminarManager seminarmanager; private AttendeeManager attendeemanager; private InstructorManager instructormanager; private RoomValueObjectFactory roomvaluefactory; private SeminarValueObjectFactory seminarvaluefactory; private AttendeeValueObjectFactory attendeevaluefactory; private InstructorValueObjectFactory instructorvaluefactory; public void ejbcreate() throws CreateException { try { roommanager = RoomManager.getInstance(); seminarmanager = SeminarManager.getInstance(); attendeemanager = AttendeeManager.getInstance(); instructormanager = InstructorManager.getInstance(); roomvaluefactory = RoomValueObjectFactory.getInstance(); seminarvaluefactory = SeminarValueObjectFactory.getInstance(); attendeevaluefactory = AttendeeValueObjectFactory.getInstance(); instructorvaluefactory = InstructorValueObjectFactory.getInstance();

catch(exception e) { throw new EJBException(e); Scheduler Session Bean business method Scheduler Bean JBuilder EJB Scheduler Bean Add method Scheduler Bean Remote Interface business methods public interface Scheduler extends javax.ejb.ejbobject { public String createroom(roomvalueobject roomvalue) throws RemoteException; public RoomValueObject findroom(string name) throws RemoteException; public Collection findallrooms() throws RemoteException; public void updateroom(roomvalueobject roomvalue) throws RemoteException; public void removeroom(string name) throws RemoteException; public void removeallrooms() throws RemoteException; public long createseminar(seminarvalueobject seminarvalue) throws RemoteException; public SeminarValueObject findseminar(long id) throws RemoteException; public Collection findseminarsofattendee(long id) throws RemoteException; public Collection findallseminars() throws RemoteException; public void updateseminar(seminarvalueobject seminarvalue) throws RemoteException; public void removeseminar(long id) throws RemoteException; public void removeallseminars() throws RemoteException; public long createattendee(attendeevalueobject attendeevalue) throws RemoteException; public AttendeeValueObject findattendee(long id) throws RemoteException; public AttendeeValueObject findattendeesbyname(string name) throws RemoteException; public Collection findallattendees() throws RemoteException; public void updateattendee(attendeevalueobject attendeevalue) throws RemoteException; public void removeattendee(long id) throws RemoteException; public void removeallattendees() throws RemoteException; public InstructorValueObject findinstructor(string name) throws RemoteException; public Collection findallinstructors() throws RemoteException; public void updateinstructor(instructorvalueobject instructorvalue) throws RemoteException; public void removeinstructor(string name) throws RemoteException; public void removeallinstructors() throws RemoteException;

public long createinstructor(instructorvalueobject instructorvalue) throws RemoteException; Session Bean EJB Local References BES EJB 2.0 Local Interface EJB Container EJB JNDI EJB Borland Enterprise Server Borland AppServer 4.5 EJB Local References Local Interface Scheduler Session Bean Transaction EJB Local References Scheduler Bean EJB JBuilder Project Pane PracticalEJBProgramming module Scheduler Bean JBuilder Content Pane 6 JBuilder Enterprise Java Bean Properties

(Tab) EJB Local References Add EJB Entity Bean Session Bean Link EJB IsLink Scheduler Bean EJB Local References 7 Scheduler Session Bean EJB Local References Properties EJB Local References Container EJB local reference EJB EJB EJB Container EJB EJB Local References Planner Session Bean Scheduler Stateless Session Bean Planner Stateful Session Bean Planner Bean Java TimeFinder class TimePeriod class Java Planner Bean Seminar TimeFinder TimeFinder TimePeriod

Planner Session Bean Scheduler Session Bean EJB Scheduler Bean Planner Bean Stateful Planner Bean method nextavailabletimeperiod() method Planner Bean nextstarttime nextavailabletimeperiod() nextstarttime nextstarttime Planner Bean public class PlannerBean implements SessionBean { SessionContext sessioncontext; private Date nextstarttime; private Collection attendees; transient TimeFinder timefinder;... // public TimePeriod nextavailabletimeperiod() { try { TimePeriod availableperiod = timefinder.firstavailabletime(attendees, nextstarttime); if(availableperiod!= null) { // nextstarttime nextstarttime = availableperiod.getfinishtime(); return availableperiod; catch (Exception e) { throw new javax.ejb.ejbexception(e); Planner Bean EJB Local References Planner Bean Attendee Bean TimeFinder TimeFinder Seminar Bean Planner Bean EJB Local References Attendee Seminar Entity Bean Planner Bean

8 Planner Session Bean EJB Local References Properties Test Client Session Bean PracticalEJBProgramming.EAR EJB Container PlannerClient Planner Session Bean Scheduler Bean PlannerClient public static void main(string[] args) { try { //get naming context Context ctx = new InitialContext(); System.out.println("Looking for PlannerHome"); //look up jndi name java.lang.object ref = ctx.lookup("planner"); //cast to Home interface PlannerHome plannerhome = (PlannerHome)

javax.rmi.portableremoteobject.narrow(ref, PlannerHome.class); System.out.println("Initializing meeting data"); java.util.collection attendeeids = new java.util.vector(2); attendeeids.add(new Long(1)); attendeeids.add(new Long(2)); Calendar cal = Calendar.getInstance(); cal.set(2002, Calendar.OCTOBER, 8, 0, 0, 0); Date starttime = cal.gettime(); System.out.println("Start time: " + starttime); System.out.println("Looking for periods of availability"); Planner planner = plannerhome.create(attendeeids, starttime); for(int i=0; i < 5; i++) { TimePeriod tp = planner.nextavailabletimeperiod(); if(tp == null) { break; System.out.println(tp.getStartTime() + ", " + tp.getfinishtime()); System.out.println("Done"); planner.remove(); catch(exception e) { System.err.println("Exception caught"); e.printstacktrace(); JNDI Planner Bean Home Interface reference create() method Seminar Vector Planner Bean for loop nextavailabletimeperiod()

9 PlannerClient Planner Bean BES Planner 10 Borland Enterprise Server Console Planner Session Bean

Session Bean Session Façade Design Pattern J2EE Design Patterns Session Façade Design Pattern Session Bean use cases use case Session Bean use case Session Bean use case Session Bean Stateless Stateful Session Façade Design Pattern Bean Transaction 1 EJB Session Bean Mastering Enterprise JavaBeans, 2nd Edition by Ed Roman, Scott W. Ambler, Tyler Jewell Enterprise JavaBeans, 3 rd Edition by Richard Monson-Haefel