亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

漫談EJB (3)

2019-11-18 16:13:15
字體:
來源:轉載
供稿:網友

  J2EE的十三種技術/r

java數據庫連接(JDBC)

    JDBC API以一個統一的方式訪問各種數據庫。與ODBC類似,JDBC將開發者和私有數據庫之間的問題隔離開來。由于它建立在Java上,因此JDBC可以提供平臺無關的數據庫訪問。

    JDBC定義了4種不同的驅動,具體來說,包括有:

    類型1:JDBC-ODBC橋

    在JDBC剛產生時,JDBC-ODBC橋是非常有用的。通過它,開發者可以使用JDBC來訪問一個ODBC數據源。缺點是,它需要在客戶機器上安裝有一個ODBC驅動,該機器通常是應該運行微軟Windows系統的。使用這一類的驅動器,你就會失去JDBC平臺無關的好處。此外,ODBV驅動器需要客戶端的管理。

    類型2:JDBC-native驅動橋

    JDBC-native驅動橋提供了一個建筑在本地數據庫驅動上的JDBC接口--沒有使用ODBC。JDBC驅動將標準的JDBC調用轉變為對數據庫API的本地調用。使用類型2的驅動也會失去JDBC平臺無關性的好處,并且需要安裝客戶端的本地代碼。

    類型3:JDBC-network橋

    JDBC-network橋不需要客戶端的數據庫驅動。它們使用網絡-服務器中層來訪問一個數據庫。這會引出諸如負載均衡、連接池等技術,數據緩沖也是可能的。由于類型3的驅動通??蓭硐鄬π〉南螺d時間,它是平臺無關的,并且不需要客戶端的安裝和管理,因此很適合用作Internet的應用。

    類型4:純Java驅動

    類型4使用純Java數據庫驅動來提供直接的數據庫訪問。由于類型4驅動運行在客戶端,并且直接訪問數據庫,因此運行在這個模式暗示要使用一個兩層的體系。要在一個n層的體系中使用類型4的驅動,可以通過一個包含有數據訪問代碼的EJB,并且讓該EJB為它的客戶提供一個數據庫無關的服務。

Java命名和目錄接口(Java Naming and Directory Interface,JNDI)

    JNDI是Java Naming and Directory Interface 的簡寫,中意為:Java命名及目錄接口,它是為了對高級網絡應用開發中的使用的目錄基礎結構的訪問。實際上這個目錄是一個特殊的數據庫,提供了對存儲數據的快速訪問,不象傳統的目錄服務訪問方式-你必須提供不同的API接口去訪問不同的目錄服務(如:LDAP,NIS,ADS等),而它提供了一種標準的API來訪問類型不同的目錄。據說,使用完整的SDK可以開發那些JNDI還不支持的目錄服務提供者。

    JNDI是J2EE的一個API,提供了一套標準的接口,以定位用戶、機器、網絡、對象、以及服務。例如,你可以使用JNDI來定位內部網中的一臺打印機,你也可以使用它來定位Java對象或連接到一個數據庫。JNDI可以用于EJB、RMI-IIOP、JDBC中。它是網絡查找定位的標準方法。    JNDI API被用來訪問命名和目錄服務。它提供一個相容的模式來訪問和操作企業范圍大的資源,例如一個應用服務器中的DNS、LDAP、本地文件系統或者對象。

    在JNDI中,一個目錄結構中的每一個節點被稱為context。每一個JNDI的名字都是與一個context相對的,沒有一個絕對名字的概念。一個應用可以使用InitialContext類來得到它的第一個context:

      Context ctx = new InitialContext(); 

    通過這個初始的context,應用就可以經過目錄樹定位到需要的資源或者對象。例如,假定你已經在WebLogic Server中配置了一個EJB,并且在myApp.myEJB中綁定了home接口。EJB的客戶端,在得到這樣一個初始的context后,然后就可以使用以下的代碼來定位到home接口:

      MyEJBHome home = ctx.lookup( "myApp.myEJB" ); 

    一旦你得到你所需對象的一個引用--在這個例子中,就是EJB的home接口--然后你可以調用它上面的方法。為了在一個context中查找到一個對象,JNDI還提供方法可以做到:

    插入或者綁定一個對象到一個context中。在你配置一個EJB時,這是非常有效的方法;
    
    從一個context中移去一個對象/r

    列出一個context中的所有對象/r

    創建和刪除subcontexts

企業Java Beans(EnterPRise Java Beans,EJB)

    J2EE其中一個引人注目的技術是EJB。它提供了一個架構來開發和配置到客戶端的分布式商業邏輯,因此可以明顯減少開發擴展性、高度復雜企業應用的難度。EJB規范定義了EJB組件應該如何及何時與它們的容器交互。由容器來負責提供普通的服務,例如目錄服務、事務管理、安全、資源池和容錯。

    EJB規范定義了三類基本的bean:

    會話beans(session beans):會話beans為業務流程建模,由于他們通常表示執行某個動作,因此可以把它們當作是動詞。這個執行的動作可以是任何事情,例如增加數量,訪問數據庫,調用其它系統,調用其它企業Bean。我們可以舉出很多的例子,包括一個計價引擎,一個工作流引擎,一個目錄引擎,一個信用卡認證中心,或一個網上證券交易引擎。

    實體beans(Entity beans):這是持久保存數據的代表--典型的是存儲在數據庫中--因此在服務器崩潰后數據仍然存在。多個客戶端可以使用EJB來表示同樣的數據。實體beans為企業數據建模,由于它們表示數據對象(就是緩存數據庫信息的Java對象),因此可以把它們當作名詞。實體beans的例子包括一種產品,一項訂單,一個雇員,一張信用卡,或一支股票。會話beans典型的方式是通過實體beans來實現業務目標的,例如一個證券交易引擎(會話beans)處理股票(實體beans)。

    Message-Driven beans:Message-Driven beans也表示動作,這一點上它類似于會話beans。它們之間的不同點在于你只能夠通過發送消息給Message-Driven beans的方式來調用它們。Message-Driven beans的例子包括了接受股票交易消息的beans,信用認證消息,或工作流消息。這些Message-Driven beans也可以調用其它的企業beans。

    接著,我們討論無狀態和有狀態

    無狀態的beans(Stateless beans):這是一個單一使用的服務,不維護任何的狀態,在服務器崩潰時也不再存在,而且生存期也相對地短。例如,一個無狀態的session bean可能用作執行溫度轉換。

    有狀態的bean:它提供了一個傳統的與客戶端交互的方法,存儲客戶端的狀態。在線購物車就是這樣一個有狀態session ean的典型例子。有狀態session beans在服務器崩潰時也不再存在,而且生存期也相對地短,并且每個實例只可以用在一個單一的線程中。

JavaServer Pages (jsps) 

    或許你已經對微軟的Active Server Pages (asps)非常熟悉;JSP也是類似的技術,不過它是平臺無關的。它們都是設計來幫助web內容開發者使用相對較少的代碼就可以創建動態的網頁。web設計者即使不懂得編程,也可以使用JSP來創建動態的網頁。JavaServer Page是Html代碼和Java代碼的混合。在客戶請求頁面的時候,服務器就會處理Java代碼,然后返回HTML頁面給瀏覽器。

    你可以也聽過JHTML,它是一個舊的標準,現在已經被JSP取代了。WebLogic Server不但支持JSP,還支持JHTML。不過,在默認設置下,WebLogic Server是不支持JSP的(對于5.1版本)。你必須編輯weblogic.properties來激活web服務器,對于JSPServlet來說,也是這樣。

Java servlets 

    servlets提供的功能大部分JSP相同,它采用的是一個有點不同的方法。JSP中大部分是HTML代碼,其中只有少量的Java代碼,而servlets則相反,它完全使用Java編寫,并且產生HTML代碼。

    servlet是一個在服務器上運行的Java小程序,它可以擴展Web服務器的功能。這些服務器端的應用可以在被請求時動態執行,與傳統Web服務器上的CGI Perl腳本差不多。CGI腳本和servlet的一個主要不同是:CGI腳本對于每次請求都啟動一個全新的進程--需要額外的系統開銷--而servlet的執行只要在servlet引擎內啟動一個獨立的線程就性了。因此Servlet的擴展性也更好。

    在開發servlet時,你通常都要擴展javax.servlet.http.HttpServlet類,并且覆蓋它的一些方法。感興趣的方法包括有:

    service(): 作為command-specific方法的一個調度程序/r

    doGet(): 處理來自一個客戶的HTTP GET請求 

    doPost(): 處理來自一個客戶的HTTP POST請求/r

    還有一些其它的方法來處理不同類型的HTTP請求--可參考HttpServlet API的文本來得到更多相關的信息。

Java IDL/CORBA

    通過Java的IDL支持,開發者可以將Java與CORBA集成。他們可以創建能配置在一個CORBA ORB中的Java對象,也可以創建作為配置在其它ORB內的CORBA對象客戶端的Java類。對于通過Java將你的新應用和以前的系統集成,后者提供了一個另外的方法。

Java事務體系(JTA)/Java事務服務(JTS)

    JTA定義了一個標準的API,應用可以通過它來訪問事務監控器。

    JTS是CORBA OTS事務監控器的一個基本實現。JTS指定了一個事務管理器的實現(Transaction Manager),這個管理器在一個高級別上支持Java事務API(JTA)規范,并且在一個低級別上實現了OMG OTS規范的Java映射。一個JTS事務管理器為應用服務器、資源管理器、standalone應用和通信資源管理器提供事務服務。

JavaMail和JavaBeans激活架構(JavaBeans Activation Framework,JAF)

    JavaMail是一個用來訪問郵件服務器的API。JavaMail API提供了一套抽象類來模型化一個郵件系統。支持SMTP和IMAP服務器。

    JavaMail通過使用JavaBeans Activation Framework (JAF) 來處理MIME加密的郵件附件。MIME字節流和Java對象間可以互相轉化。大多數的應用無需要直接使用JAF。

Java信使服務(Java Messaging Service,JMS)

    JMS是一個用來和面向信息的中層通信的API。它不但支持點對點的域,也支持發布/訂閱域,并且提供對擔保信息傳送、事務信息傳送、持久信息和durable subscribers的支持。對于將你的應用和以前的backend系統集成,JMS提供了另外一個方法。

擴展標記語言(Extensible Markup Language,xml

    XML是一個用來定義其它標記語言的的語言。它可被用作商業之間的數據共享。XML的發展是與Java分開的;不過,它的目標和Java類似,都是為了與平臺無關。通過將Java與XML結合,你可以得到一個完全平臺無關的解決方案。多個公司都為在Java和XML間開發一個緊密的集成而工作。具體的信息,可瀏覽Sun站點的Java-XML部分(http://java.sun.com/xml),以及IBM的developerWorks的XML Zone部分(http://www.ibm.com/developer/xml/)。

(出處:http://www.49028c.com)



上一篇:漫談EJB (2)

下一篇:漫談EJB

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费福利视频| 欧美一级淫片播放口| 成人网页在线免费观看| 欧美视频二区36p| 亚洲国产三级网| 欧美在线免费观看| 欧美高清videos高潮hd| 亚洲国产精彩中文乱码av在线播放| 亚洲第一网站男人都懂| 亚洲国产日韩欧美在线图片| 日韩欧美中文第一页| 欧美精品国产精品日韩精品| 亚洲精品中文字幕有码专区| 51色欧美片视频在线观看| 国产成一区二区| 成人久久一区二区三区| 国产成人免费av| 国产精品日日摸夜夜添夜夜av| 国外成人在线直播| 91国偷自产一区二区三区的观看方式| 欧美成人精品h版在线观看| 亚洲一区二区三区sesese| 日韩欧美有码在线| 日韩av电影手机在线| 欧美天天综合色影久久精品| 国产美女91呻吟求| 亚洲大胆美女视频| 欧美高清在线播放| 国产精品扒开腿做| 这里只有视频精品| 欧美日韩福利电影| 亚洲国产精品人人爽夜夜爽| 亚洲免费av网址| 日韩av成人在线观看| 日韩在线中文字幕| 国产精品久久久久久久久久小说| 亚洲国产精品久久精品怡红院| 欧美疯狂性受xxxxx另类| 亚洲第一视频网站| 欧美一区亚洲一区| 久久久久久国产三级电影| 欧美视频第一页| 在线视频国产日韩| 国产精品成人一区二区| 国产91免费观看| 欧美激情精品久久久久久黑人| 中文字幕欧美在线| 亚洲第一区中文99精品| 亚洲视频欧美视频| 欧美国产亚洲视频| 欧美激情aaaa| 尤物九九久久国产精品的特点| 亚洲男女自偷自拍图片另类| 亚洲福利在线视频| 亚洲影影院av| 亚洲已满18点击进入在线看片| 国产亚洲精品久久| 中文字幕欧美日韩精品| 97视频在线观看免费高清完整版在线观看| 欧美性猛交xxxx富婆| 久久国产精品久久久久久| 亚洲爱爱爱爱爱| 久久精品久久久久电影| 97人洗澡人人免费公开视频碰碰碰| 亚洲自拍偷拍在线| 国产精品日韩在线一区| 日韩av最新在线观看| 成人精品久久av网站| 国产精品v片在线观看不卡| 亚洲午夜未删减在线观看| 国产精品香蕉av| 国产精品jizz在线观看麻豆| 91超碰中文字幕久久精品| 日韩在线欧美在线国产在线| 亚洲色图色老头| 亚洲精品一二区| 日韩成人av一区| 亚洲精品视频久久| 国产精品免费视频xxxx| 国产欧美日韩最新| 久久久久久国产精品三级玉女聊斋| 欧美一级在线播放| 欧美日韩免费在线| 一区二区三区视频免费在线观看| 精品亚洲精品福利线在观看| 久久国产精品电影| 国产成人精品在线视频| 亚洲国产精彩中文乱码av在线播放| 欧美精品第一页在线播放| 欧美一区二区三区免费观看| 欧美裸体视频网站| 欧美肥老妇视频| 国产精品福利无圣光在线一区| 精品久久久一区| 久久精视频免费在线久久完整在线看| 欧美一级片免费在线| 尤物yw午夜国产精品视频明星| 国产精品444| 午夜精品久久久久久久男人的天堂| 91九色综合久久| 成人日韩在线电影| 欧美性xxxxxxxxx| 亚洲激情成人网| 久久香蕉国产线看观看网| 精品国产91久久久久久| 91精品免费看| 精品久久香蕉国产线看观看亚洲| 91美女片黄在线观看游戏| 国产亚洲精品久久久优势| 亚洲福利视频在线| 亚洲欧洲在线播放| 成人h视频在线| 成人美女免费网站视频| 国产成人拍精品视频午夜网站| 欧美激情国产精品| 国产在线不卡精品| 亚洲毛片在线看| 国产欧美中文字幕| 亚洲精品v欧美精品v日韩精品| 91精品一区二区| 成人欧美一区二区三区在线湿哒哒| 国产成人亚洲精品| 欧美最顶级丰满的aⅴ艳星| 久久久久久久久久久免费| 国产精品久久精品| 日韩av免费在线播放| www.久久撸.com| 欧美超级乱淫片喷水| 久久99热精品| 人人做人人澡人人爽欧美| 亚洲久久久久久久久久| 成人女保姆的销魂服务| 久久成人av网站| 国产精品三级在线| 日韩成人激情在线| 欧美成人免费在线观看| 国产成人一区二区三区| 日韩中文字幕第一页| 国产精品av在线| 久久99久久亚洲国产| 国产精品嫩草影院久久久| 欧美性xxxxhd| 91久久久久久久一区二区| 日韩欧美亚洲综合| 国产精品最新在线观看| 在线观看久久久久久| 欧美黑人极品猛少妇色xxxxx| 欧美一乱一性一交一视频| 91久久精品国产91久久性色| 好吊成人免视频| 国产成人鲁鲁免费视频a| 久久精品2019中文字幕| 97精品欧美一区二区三区| 色中色综合影院手机版在线观看| 51ⅴ精品国产91久久久久久| 欧美一区二区三区四区在线| 国产一区二区色| 北条麻妃一区二区在线观看| 精品久久久一区| 日韩av一卡二卡| 日韩精品极品视频免费观看| 国产成人自拍视频在线观看| 成人国产精品日本在线| 国产精品电影在线观看|