EJB-Programming-3.PDF

Similar documents
EJB-Programming-4-cn.doc

IoC容器和Dependency Injection模式.doc

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

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

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

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

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

weblogic

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

优迈科技教学大纲2009版本

新・解きながら学ぶJava

TopTest_Adminstrator.doc

Microsoft Word - ch04三校.doc

untitled

JBuilder Weblogic

untitled

<4D F736F F F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

untitled

前言 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

國家圖書館典藏電子全文

FAQ -PowerDesigner9.5.DOC

1

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

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

Wy159.mps

D C 93 2

Microsoft PowerPoint - ch6 [相容模式]

RunPCPB8 new feature.PDF

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

untitled

untitled

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes

Microsoft Word - Learn Objective-C.doc

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

ebook

mvc

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

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

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

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

Microsoft Word - 01.DOC

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

chp6.ppt

jsp

untitled

提问袁小兵:

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

(procedure-oriented)?? 2

untitled

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

Java 1 Java String Date

untitled

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

UML2.0新特性.doc

untitled

Microsoft Word - 第3章.doc

概述

epub83-1

untitled

Java

epub 61-2

RunPC2_.doc

Servlet

<4D F736F F D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

(Geographic data or geodata ) 30 (Buelher, K and L. Mckee1996) (Open GIS Consortium OGC) OGC GIS Open GIS OGC (Geography Markup Langu

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

拦截器(Interceptor)的学习

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

《大话设计模式》第一章

文档 3

untitled

无类继承.key

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

「人名權威檔」資料庫欄位建置表

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

untitled

Microsoft Word 軟體設計第二部份範例試題_C++_ _1_.doc

Strings

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

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

( Version 0.4 ) 1

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

1. 2. Flex Adobe 3.

D2 17/10 食 完 早 餐 去 中 山 陵 和 明 孝 陵, 灵 谷 寺 到 景 区 的 巴 士 : 游 1 游 2 游 路 ( 票 价 在 1-2 元 间 ) 三 个 地 点 中 间 凭 门 票 免 费 乘 坐 景 区 小 火 车 往 来 晚 上 有 力 气 的 话 去 夫 子

coverage2.ppt

untitled

产品手册: CA GEN r8

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

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

目次 

untitled

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

FileMaker 16 ODBC 和 JDBC 指南


Chapter 24 DC Battery Sizing

ebook140-9

Transcription:

:, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client Seminar Entity Bean Value Object Design Pattern Session Bean Value Object Design Pattern Entity Beans Value Object Design Pattern( Data Transfer Object Design Pattern) J2EE EJB Container (Design Pattern) ( 1)

J2EE Value Object Design Pattern Entity Bean Entity Bean Client EJB Network getattribute1() getattribute2() getattribute3() getattribute4() getattribute5() 1 Entity Bean Value Object Value Object Value Object

Client SomeValueObject EJB getsomevalueobject() getattribute1() getattribute2() getattribute3() Network getattribute4() getattribute5() 2 Value Object Design Pattern Value Object Design Pattern SeminarTestClient 1 Value Object Entity Bean Value Object use cases use case Value Object business logic Value Object use cases Value Object Entity Bean Value Object Value Object Value Object Value Object Java Serializable Object Value Object Domain Model Domain Model Value Object Domain Model Value Object Value Object Domain Value Object

Value Object Domain Value Object Value Object Custom Value Object Value Object Entity Bean Entity Bean Domain Model Domain Value Object Custom Value Object Entity Bean Custom Value Object Bean Domain Value Object Value Object Domain Objects Design Pattern Value Object Factory Design Pattern Value Objects Value Object Factory Value Objects Value Object Factory Java Class Session Bean Stateless Session Bean Servlet Seminar Value Object Value Object Domain Value Object Seminar Entity Bean Class Diagram 3 Seminar Entity Bean Seminar Value Object class diagram Class JBuilder Seminar Value Object

JBuilder Borland CodeCentral JBuilder Opentools Value Object Wizard zip VOWizard.jar <JBuilder >/lib/ext CodeCentral ( 2) Value Object Wizard Domain Value Object JBuilder Entity Bean class SeminarBean.java Wizards Create Value Object 4 Value Object Wizard Seminar Entity Bean Value Object Entity Bean ( Room Attendee Instructor Entity Beans) Value Object JBuilder EJB Designer Seminar Entity Bean View Bean Source JBuilder Bean JBuilder Wizards Create Value Object JBuilder Value Object Value Object Factory

5 Value Object Wizard 6 Value Object Wizard Value Object Wizard SeminarValueObject SeminarValueObjectFactory JBuilder SeminarValueObject Serializable Interface

Constructor public SeminarValueObject(long Id, String name, Date starttime, Date finishtime, Collection attendeeids, int level, int category, String roomname, long instructorid) { setid(id); setname(name); setstartdate(starttime); setfinishdate(finishtime); setattendee(attendeeids); setlevel(level); setcategory(category); setroomname(roomname); setinstructorid(instructorid); SeminarValueObject.java tostring() equals() method Serializable Java Object method Value Object Wizard Opentool equals() method primitive type Java Seminar Value Object Factory Seminar Value Object Seminar Value Object Factory SeminarValueObjectFactory (Instance) (Helper Class)EJBHomeFactory class Entity Bean Home Interface Reference private static SeminarValueObjectFactory instance = null; private EJBHomeFactory homefactory; Seminar Value Object Factory Constructor EJBHomeFactory JNDI

private SeminarValueObjectFactory() throws NamingException { homefactory = EJBHomeFactory.getInstance(); public Member Methods public static SeminarValueObjectFactory getinstance(){ public SeminarValueObject getseminar(long id) { public Collection getseminarofattendee(long id) { public Collection getallseminar(){ Helper Methods factory manager class Factory class createvalue() Value Object // Helper methods used by the factory or a manager public Seminar findseminar(long id) { public Collection findseminarofattendee(long id) { public Collection findallseminars() { // Helper methods used by the factory private SeminarValueObject createvalue(seminar seminar) { return new SeminarValueObject( seminar.getid(), seminar.getname(), seminar.getstartdate(), seminar.getfinishdate(), seminar.getlevel(), seminar.getcategory(), seminar.getroomname(), seminar.getinstructorid(), getattendeeids(seminar)); private Collection createvalues(collection seminars) { Collection SeminarValueObjects = new Vector(seminars.size()); Iterator iterator = seminars.iterator(); Seminar seminar = null; while(iterator.hasnext()) { seminar = (Seminar) iterator.next();

SeminarValueObjects.add(createValue(seminar)); return SeminarValueObjects; private Collection getattendeeids(seminar seminar) { SeminarValueObjectFactory Value Object Factory SeminarManager EJBHomeFactory SeminarManager EJBHomeFactory Value Object Value Object Factory Seminar Entity Bean Seminar Value Object Seminar Entity Bean SeminarManager SeminarManager private static SeminarManager instance = null; private SeminarValueObjectFactory seminarvalueobjectfactory; private RoomValueObjectFactory roomvalueobjectfactory; private AttendeeValueObjectFactory attendeevalueobjectfactory; private EJBHomeFactory homefactory; SeminarManager Constructor getinstance() method private SeminarManager() throws NamingException { homefactory = EJBHomeFactory.getInstance(); seminarvalueobjectfactory = attendeevalueobjectfactory = SeminarValueObjectFactory.getInstance(); AttendeeValueObjectFactory.getInstance(); roomvalueobjectfactory = RoomValueObjectFactory.getInstance(); public static SeminarManager getinstance() throws NamingException { Seminar Value Object Seminar Entity Bean

public long createseminar(seminarvalueobject seminarvalueobject) throws FinderException, NamingException { public void updateseminar(seminarvalueobject seminarvalueobject) throws FinderException, NamingException { public void removeseminar(long id) throws FinderException, NamingException { public void removeallseminars() throws FinderException, NamingException { -EJBHomeFactory class EJB Home Interface Reference EJB 2.x Local Interface Home Interface Reference Local Interface lookupbylocalejbreference() Remote Interface lookupbyremoteejbreference() Local Interface Java Type Casting Remote Interface javax.rmi.portableremoteobject.narrow() method ; EJBHomeFactory.java class EJBHomeFactory { private static EJBHomeFactory instance = null; private Context initialcontext; private Map ejbhomes; private EJBHomeFactory() throws NamingException { public static EJBHomeFactory getinstance() throws NamingException { public EJBLocalHome lookupbylocalejbreference(string ejbreferencecomponent) throws NamingException { java.lang.object home = ejbhomes.get(ejbreferencecomponent); if(home == null) { home = initialcontext.lookup("java:comp/env/ejb/" + ejbreferencecomponent); ejbhomes.put(ejbreferencecomponent, home);

return (EJBLocalHome) home; public EJBHome lookupbyremoteejbreference(string ejbreferencecomponent, Class homeclass) throws NamingException { java.lang.object home = ejbhomes.get(ejbreferencecomponent); if(home == null) { java.lang.object obj = initialcontext.lookup("java:comp/env/ejb/" + ejbreferencecomponent); home = javax.rmi.portableremoteobject.narrow(obj, homeclass); ejbhomes.put(ejbreferencecomponent, home); return (EJBHome) home; EAR Class Diagram 7 Class Diagram

PracticalEJBProgramming.EAR JBuilder PracticalEJBProgrammingModule JBuilder Properties Properties Content 8 JBuilder EJB Module Properties Add Classes SeminarManager.class SeminarValueObject.class SeminarValueObjectFactory.class JBuilder EJB Class Not Found Manager class Value Object Factory class Value Object class EJB Session Bean Scheduler Stateless Session Bean

Session Bean Manager class Value Object Factory class Value Object class EJB Session Bean Session Bean Entity Beans Beans Session Bean MVC Controller Session Bean Session Bean Session Scheduler Session Bean Value Object SchedulerTestClient EJB Scheduler Session Bean 9 EJB Scheduler Session Bean Scheduler Bean findroom() method RoomValueObject public RoomValueObject findroom(string name) { try { return roomvalueobjectfactory.getroom(name); catch(exception e) { throw new EJBException(e);

public Collection findallrooms() { try { return roomvalueobjectfactory.getallrooms(); catch(exception e) { throw new EJBException(e); Scheduler Session Bean PracticalEJBProgramming.EAR Borland Enterprise Server SchedulerTestClient.java JBuilder EJB Test Client SchedulerTestClient Value Object RoomValueObject SchedulerTestClient 9 SchedulerTestClient SchedulerTestClient Borland Enterprise Server JBuilder SchedulerTestClient

10 JBuilder SchedulerTestClient BES Console EJB Container Container Room Entity Bean 11 Borland Enterprise Server Console Room Entity Bean

J2EE Design Patterns Value Object Value Object Factory Design Patterns Session Bean Entity Bean J2EE J2EE EJB EJB Container Value Object Value Object Factory Design Patterns Session Bean EJB 1 Design Patterns Design Patterns: Elements of Reusable Object -Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Core J2EE Patterns: Best Practices and Design Strategies by John Crupi, Dan Malks, Deepak Alur EJB Design Patterns by Floyd Marinescu 2 CodeCentral http://codecentral.borland.com/codecentral/ccweb.ex e/home