大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> JSP专区 -> 基于EJB技术的商务预订系统的开发 

基于EJB技术的商务预订系统的开发 

时间: 2021-07-31 作者:daque

本领仍旧越来越多地运用到巨型搜集体例开拓中,正文中,笔者将引见ejb(enterprise java beans)的设置、鉴于ejb本领的运用体例构造模子以及ejb组件的实质和分门别类,结果贯串鉴于ejb的构造模子和ejb组件开拓了一个商务预定体例。ejb从本领上而言不是一种“产物”,而是一种本领典型。sun公司对ejb的设置是:ejb的构造是开拓和摆设鉴于组件的散布式商务运用步调的一种组件构造。用ejb构造开拓的运用步调是可舒卷的、工作型的、多用户安定的。那些运用步调大概只需编写一次,却不妨在扶助ejb典型的工作效劳器平台长进行摆设。总的来说,ejb是一个组件工作监察和控制的规范效劳器端的组件模子。鉴于ejb本领的体例构造模子ejb构造是一个效劳端组件构造,是一个档次性构造,其构造模子如图1所示。该构造模子在常常情景下可分为存户层、交易论理层和数据层,底下笔者对此作一大略引见。图1:鉴于ejb的运用构造模子存户层 主假如用来满意对所有体例的百般考察需要并处置以次处事:接受用户的输出,还不妨对用户的输出举行领会查看并作相映的处置;表露由效劳器端高层传来的运转截止。存户层常常是由存户过程构成,那些过程由欣赏器动静地创造和废除。交易论理层 这是所有体例最要害的局部。交易论理层在常常情景下会分为两层,其高层是乞求接受层(普遍称之为web层),用来接受从欣赏器传来的乞求并将乞求交给底层举行处置,同声将乞求处置截止发送给欣赏器。那些进程重要由jsp页面、鉴于web的applets以及表露 html页面包车型的士servlets构成。底层是乞求处置层(普遍称之为ejb层),囊括监听过程、处置过程和数据库操纵过程,控制处置乞求接受层传来的存户乞求并对它举行处置,同声将乞求截止传播给乞求接受层,即使须要的话还须要将处置截止交给数据层举行保存。数据层 主假如为交易论理层供给数据效劳,如保存交易论理层处置截止、归来交易论理层检索的数据截止,同声也是为了实行樊篱数据源的变革,进而实行当数据库爆发变革时咱们只需窜改贯穿数据源的语句就不妨。ejb组件的分门别类常常情景下,效劳端的ejb组件有两种基础典型:entity bean(实业bean)和session bean(对话bean)。图2:商务预定体例的构架 entity bean是为了实际寰球的东西创造的模子,那些东西常常是数据库的少许长久记载。entity bean为那些不妨表白成动词的商务观念创造模子,它既刻画了如实寰球东西的状况,也刻画了它们的动作,同声承诺开拓者封装与简直观念相关的数据和商务准则。session bean是一种经过home interface创造并对存户端贯穿私有的enterprise bean,session bean范例普遍不与其它存户端共享。session bean是存户端运用步调的一个扩充,并控制处置所有进程或工作。session bean不妨处置entity bean之间的交互,刻画它们怎样一道处事来实行一个特出工作。entity bean按照处置长久性的办法不妨分为容器处置的bean和运用bean处置的bean。容器处置的bean由ejb容器机动处置它们的长久性,容器领会bean范例的字段是还好吗映照到数据库中去,并机动处置插入、革新和简略数据库中与实业相关的数据;运用bean处置长久性的bean须要精确地实行一切那些处事。bean的开拓者必需编写代码操纵数据库,ejb容器只报告bean范例什么功夫不妨在数据库中安定地插入、革新和简略数据,除此除外,它不供给任何其余扶助。bean范例本人实行一切的长久性处事。session bean按照能否有状况可分为无状况bean和有状况bean。无状况session bean目标于通用并可反复运用;有状况session bean是存户运用步调的扩充,它代办存户实行工作并保护存户的关系状况。商务预定体例的开拓客舱预定体例是在j2ee平台上开拓的鉴于ejb组件本领的商务预定体例,其重要过程是用户登录此后,将被顺序率领着经过主顾采用页和导航采用页,并将为主顾采用一个可赢得的客舱(从traveagentbean处赢得可供采用的客舱列表,travelagentbean的listavailablecabin()本领由天生此网页的servlet挪用,客舱列表将用来承载到用户欣赏器的网页上创造html列表框),当用户采用一间客舱并提交了采用时,一个http乞求将会发送给ejb效劳器(websphere application server),效劳器接到此乞求后,将其分配给reservationservlet,此servlet挪用travelagent.bookpassage()本领做本质的预定,bookpassage()本领归来的标签消息将用来创造另一个送回用户欣赏器的网页。即使预定胜利,则由processpaymentservlet去挪用processpaymentbean中的付出本领,进而实行对存户的收款进程。其简直构架见图2。预订体例中的ejb组件重要囊括以次几个局部:cabinbean:实业bean,主键是cabinpk,是用来封装实际寰球中的航船客舱的一个实业bean。customerbean:实业bean,主键是customerpk,是用来封装实际寰球中须要预定航船客舱的耗费者的一个实业bean。cruisebean:实业bean,主键是cruisepk,是用来封装实际寰球中国航空公司船航路的一个实业bean。reservationbean:实业bean,主键是cruiseid,cabinid,它代办了数据库中静止的一条记载,即一个预定,它记载了预定体例的汗青事变,主假如用来提防双重预定,即两个存户预定沟通航路的沟通客舱,爆发这种题目的因为是由于存户采用客舱和航路的功夫与挪用bookpassage()本领的功夫之间有一段间隙功夫。travelagentbean:有状况对话bean,一个控制预定飞翔舱位处事流的对话bean,它封装了实行一条航路的一个预定操纵的进程并在全寰球的游览代劳的存户端运用步调中运用。travelagentbean不只满意耗费者预定单子的须要,还可供给在飞翔中结余客舱的动静。为了实行此工作,bean须要领会预定是由哪一条航路、客舱,以及存户构成,搜集到那些消息后,由bookpassage()本领来实行处置预定进程,它为存户账户的计费控制,在精确航路的精确船只上预定采用的客舱,并经过ticket类来为存户爆发一张单子。在这边,咱们需运用creditcard类保存相关存户断定卡的关系消息,同声,listavailablecabins()本领用来表露可用的尚未被预定的客舱。processpaymentbean:无状况对话bean,它是在工作体例中向耗费者收款的进程。它设置了空头支票、现款和断定卡付出办法的三个工作本领,即bycheck()、bycash()和bycredit()。商务预定体例的步调代码示例所有商务预定体例的开拓是在ibm visualage for java底下开拓实行的,在该ide开拓情况中,实业bean对立对话bean要简单开拓得多,以次就以travelagentbean为例,引见ejb组件的开拓进程:1.travelagent长途接口它供给了树立存户蓄意预定的航路和客舱id的本领。其余,还树立boolpassage()本领来对存户的预定举行计费,并为存户爆发一张单子。简直代码如次:package com.titan.travelagent;import java.rmi.remoteexception;import javax.ejb.finderexception;import com.titan.cruise.cruise;import com.titan.customer.customer;import com.titan.processpayment.creditcard;public interface travelagent extends javax.ejb.ejbobject{public void setcruiseid(int cruise) throws remoteexception, finderexception;public int getcruiseid( ) throws remoteexception, incompleteconversationalstate;public void setcabinid(int cabin) throws remoteexception, finderexception;public int getcabinid()throws remoteexception, incompleteconversationalstate;public int getcustomerid()throws remoteexception, incompleteconversationalstate;public ticket boolpassage(creditcard card,double price) throws remoteexception, incompleteconversationalstate;} 2.travelagent home接口travelagent home接口代码如次:puckage com.titan.tracelagent;import java.rmi.remoteexception;import javax.ejb.createexception;import com.titan.customer.customer;public interface travelagenthome extends javax.ejb.ejbhome {public travelagent create(customer cust) throws remoteexception,createexception;} 3.travelagent bean类它须要实行travelagent的长途接口和home接口中的一切动作,限于篇幅,正文将不复引见本来新颖码,感爱好的读者群可本人加以实行。经过之上办法,咱们就实行了一个商务预订体例的ejb组件的开拓。 

基于ejb技术的商务预订系统的开发 图1

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.