標籤:
J2ee是我們步入java學習的一個開始,它將開啟這趟奇幻之旅,Java是一種簡單的,跨平台的,物件導向的,分布式的,解釋的,健壯的安全的,結構的中立的,可移植的,效能很優異的多線程的,動態語言。不僅僅是免費開源,而且兼具了跨平台的優點。
在具體學習java之前,我們先來學習j2EE。
1. 什麼是J2EE? ? 背景
我們經常聽說這樣的一句話:“一流企業做標準、二流企業做品牌、三流企業做產品!”什麼 意思呢?三流企業做產品僅僅是最簡單的勞動力轉化為商品的過程;二流企業做品牌,就是在做商品的基礎上,樹立一種品牌榮譽感和責任感,例如很多名牌像蘋果等等手機品牌,你衝著它的牌子也願意高價購買,因為他們品質好,有內涵,審美高等等;一流企業做標準,這更加超出了做品牌的概念,即他們在超越了樹立品牌的那個階段後,被業內外廣泛認可並作為努力模仿趕超的對象,他們做出的東西都可作為同行努力的方向和參照。
在我們的電腦編程的世界中也存在這樣的標準或者說是規範,在介紹j2ee規範之前先來介紹其概念。
? 概念
J2EE(Java 2 Enterprise Edition)是建立在Java 2平台上的企業級應用的解決方案。J2EE技術的基礎便是Java 2平台,不但有J2SE平台的所有功能,同時還提供了對EJB,Servlet,JSP,XML等技術的全面支援,其最終目標是成為一個支援企業級應用開發的體繫結構,簡化企業解決方案的開發,部署和管理等複雜問題。事實上,J2EE已經成為企業級開發的工業標準和首選平台。J2EE並非一個產品,而是一系列的標準。
J2EE,是Sun公司提出的一個標準,符合這個標準的產品叫"實現";其中你下載的Sun公司的j2ee開發包中就有一個這樣的"實現",而jboss,weblogic,websphere都是j2ee標準的一個"實現"。由於jboss,weblogic,websphere自身帶有j2ee的api,所以可以不使用sun的j2ee實現。
簡而言之:j2ee是一個企業級開發平台,我個人對於j2ee的理解是,這是一個標準,只要符合j2ee標準的各種開發出來的外掛程式,架構等,都可以移植到這個平台上來。這就是j2ee。他不是一個產品。而是一個標準。
2. J2EE的十三個規範 ? JDBC(Java DatabaseConnectivity):Java資料庫連接
JDBC為java開發人員提供了一個行業標準API,可以在java應用與關聯式資料庫之間建立起獨立於資料庫的串連,也就是說JDBC API為訪問不同的資料庫提供了一種統一的途徑,同時我們會發現其實JDBC是與ODBC很相似的,像ODBC一樣, JDBC對開發人員屏蔽了一些細節問題,另外,JDCB對資料庫的訪問也具有平台無關性。
? JNDI(Java Naming andDirectoryInterfaces):Java命名和目錄介面
JNDI是一個java應用程式設計介面(API),為開發人員提供了尋找和訪問命名和目錄服務的通用、統一的方式,它是構建在DNS(Domain Name System,網域名稱系統)、LDAP(LDAP是輕量目錄訪問協議,英文全稱是LightweightDirectory Access Protocol,一般都簡稱為LDAP。)等服務之上的。
? EJB(Enterprise JavaBean)企業級Java Beans
J2EE技術之所以贏得廣泛重視的原因之一就是EJB.它提供了一個架構來開發和實施分布式商務邏輯,由此很顯著的簡化了具有延展性和高度複雜的企業級應用程式的開發.EJB規範定義了EJB組件在何時如何與它們的容器進行互動作用.容器負責提供公用的服務,例如目錄服務,交易管理,安全性,資源緩衝池以及容錯性。
總的來說,EJB是實現分布式商務邏輯的java組件,“企業“意味著應用的擴充性、可靠性、可用性、安全性、事務性以及分布性。而EJB為客戶提供可分布和可部署的商務邏輯服務,並且擁有良好的介面,在提供管理和控制服務的容器中執行。並且是在應用服務之間是可重用的。
? RMI(Remote MethodInvocation):遠程方法調用
遠程方法調用(RMI)是基於java的分布式編程模型,允許對象使用stub(.為屏蔽客戶調用遠程主機上的對象,必須提供某種方式來類比本機物件,這種本機物件稱為存根(stub),存根負責接收本地方法調用,並將它們委派給各自的具體實現對象)和skeleton(Skeleton 介面僅供 RMI 實現單獨使用,遠程對象的 skeleton是一個將調用指派給實際遠程對象實現的伺服器端實體。已淘汰)調用遠端對象,此外RMI使用序列化在兩個對象間通過值傳輸資料。
? JavaIDL/CORBA(JavaInterfaceDefiniyion Language/Common Object Request Broker Architecture ):Java介面定義語言/公用對象請求代理程式體繫結構
在java IDL的支援下,開發人員可以將Java和CORBA整合在一起。他們可以建立Java對象並使之可以在CORBA ORB(ORB (Object Request Broker) 對象請求代管者)中展開,或者他們還可以建立Java類並做為和其他ORB一起展開的CORBA對象客戶。後一種方法提供了另外一種途徑,通過它可以被用於你的新的應用和舊系統相整合。
? JSP(Java Server Pages)
JSP是運行於伺服器端;動態發布的語言 ;是java servlet技術的發展和自然擴充,將轉化為servlet;根據用戶端請求建立動態web頁面的文字檔,是j2ee中的“視圖“組件;其包括HTML標籤,JSP標籤,以及java代碼。
? Java Servlet
Servlet 是一種小型的Java程式,它擴充了web伺服器的功能.作為一種伺服器的應用,當被請求時開始執行,這和CGI Per(通用閘道介面CGI,是一組標準定義之間交換資訊的Web伺服器和自訂指令碼。)指令碼很相似.Servlet提供的功能大多和JSP類似,不過實現的方式不同.JSP通常是大多數的HTML代碼中嵌入少量的Java代碼,而servlet全部由java寫成並且產生HTML.
進一步說,servlet是java類,基於http協議的請求/響應模式,同web客戶打交道。http servlet的特點是:由容器管理,可以產生動態內容,能在本地session中儲存客戶資料。
註:applet:小應用程式是採用Java程式設計語言編寫的程式,該程式可以包含在 HTML(標準通用標記語言 (SGML)的一個應用)頁中,與在頁中包含映像的方式大致相同。
? XML(Extensible MarkupLanguage)可延伸標記語言 (XML)
XML(標準通用標記語言 (SGML)的子集)是一種可以用來定其它標記語言的語言.它被用來在不同的商務過程中共用資料.XML的發展和java是相互獨立的,但是,它和java具有的相同目標是平台獨立性。
正是具有平台獨立性,故而與java的結合必將使得其開發更加的順風順水。
? JMS(Java MessageService):JavaMessage Service
JMS是用於和物件導向訊息的中介軟體(中介軟體是一種獨立的系統軟體或服務程式,分布式應用軟體藉助這種軟體在不同的技術之間共用資源。中介軟體位於客戶機/ 伺服器的作業系統之上,管理電腦資源和網路通訊。是串連兩個獨立應用程式或獨立系統的軟體。)相互連信的應用程式介面。JMS是Java API,提供了一種通用的方式建立、發送、接受和讀取公司資訊通訊系統的訊息。並且該介面支援的有:點對點模型、發布/訂閱模型、保證訊息分發以及事務會話等等。
? JTA(Java Transaction API):Java事務API
JTA定義了一種標準API,應用程式由此可以訪問各種事務監控,JTA事務比JDBC事務更強大。一個JTA事務可以有多個參與者,而一個JDBC事務則被限定在一個單一的資料庫連接。並且為J2EE平台提供了分散式交易服務。
Java 事務API 能夠橫跨的包括:EJB訪問、JDBC串連以及JMS串連。
? JTS:Java TransactionService,Java事務服務
Java TransactionService 是 J2EE 架構的關鍵元素。它與 Java Transaction API 結合在一起,使我們能夠構建對於各種系統和網路故障都非常健壯的分布式應用程式。
一個分散式交易(distributedtransaction)包括一個交易管理員(transaction manager)和一個或多個資源管理員(resource manager)。一個資源管理員(resource manager)是任意類型的持久化資料存放區。交易管理員(transaction manager)承擔著所有事務參與單元者的相互連訊的責任。
? JavaMail
JavaMail是用於存取郵件伺服器的API,它提供了一套郵件伺服器的抽象類別.不僅支援SMTP伺服器,也支援IMAP伺服器。
? JAF(JavaBeans ActivationFramework):JavaBeans活動床架
JAVA MAIL是用於存取郵件伺服器的API,它提供了一套郵件伺服器的抽象類別。不僅支援SMTP伺服器,也支援IMAP伺服器JAVA MAIL利用JAVA BEANSACTIVATION FRAMEWORK (JAF)來處理MIME-編碼的郵件附件。MIME的位元組流可以被轉換成JAVA對象,或者轉換自JAVA對象。由此大多數應用都可以不需要直接使用JAF。
JAF是一個專用的資料處理架構,它用於封裝資料,並為應用程式訪問和操作資料的介面。JFA主要作用在於讓Java應用程式層序知道如何對一個資料來源進行查看、編輯和列印等操作。
3. 小結
對於java的十三個規範算是整完了,由於是剛剛接觸,對於這塊的學習還是有點陌生,在舊的知識上學習新的知識,編製知識網,將知識進行串聯,相信很快就會熟悉的,這裡只是自己的初步學習,關於更多的總結和理解,將在下面的學習中進行不斷地的深入,希望之後理解進一步加深。
總而言之:J2EE並非一個產品,而是一系列的標準。
J2EE十三個規範小結