1. 程式人生 > >中間件簡介

中間件簡介

速度 客戶端 分類 快速開發 oracle數據 link 就會 user 運行環境

中間件中間件(middleware)是基礎軟件的一大類,中間介處於操作系統與用戶的應用軟件的中間。中間件在操作系統,網絡和數據庫之上,應用軟件的下層,總的作用是為處於自己上層的應用軟件提供運行與開發的環境,幫助用戶靈活、高效的開發和集成復雜的應用軟件。應用-----中間件-分布式系統服務-----硬件、操作系統為什麽使用中間件:從硬件來看:CPU速度越來越高,處理能力越來越強;從軟件來看:應用程序的規模不斷擴大,許多應用程序需要在網絡環境的異構平臺上運行。在這種異構環境中,通常存在多種硬件系統平臺(如pc,工作站,小型機等),在這些硬件平臺上又存在各種各樣的系統軟件,(如不同的操作系統,數據庫,語言編譯器等),以及各種各樣的用戶界面,這些硬件系統平臺還可能采用不同的網絡協議和網絡體系結構連接。
優點: 屏蔽操作系統底層系統,方便快速開發; 滿足大量應用需要,提供三層架構的應用模式; 運行於多種硬件和OS平臺; 支持分布式計算,提供跨網絡、硬件和OS平臺的透明性的應用和服務的交互; 支持標準的協議; 支持標準的接口;分類:對象中間件、應用服務器中間件、消息中間件、事務/交易處理中間件、應用集成中間件、數據庫中間件、財務中間件、無線移動中間件、嵌入式中間件、XML中間件、安全中間件1> 應用服務器中間件:便於開發、部署、運行和管理基於多層結構的應用,需要以網絡和分布式計算的底層技術為基礎,構建一個完整的應用框架,提供相應的支撐平臺作為多層應用的基礎設施。
應用服務器是一個創建、部署、運行、集成和維護多層分布式企業級應用的平臺。主要產品有:weblogic server、websphere server、tomcat等2> 消息中間件:用來屏蔽掉各種平臺及協議之間的特性,實行在不同平臺之間通信,實現分布式系統中可靠、高效、實時的跨平臺數據傳輸,實現應用程序之間的協同。主要產品有:東方通科科技公司的TongLINK、BEA公司的BEA elink、IBM公司的MQSeries3>對象中間件:在分布、異構的網絡技術環境中,可以將各種分布對象有機的結合在一起,完成系統的快速集成,實現對象重用,在這個方面遵循的標準是CORBA。--------------------------------------------------------------------------------------
J2EE應用服務器中間件:weblogic、IBM websphere、Oracle application server、tomcat、jboss、jetty、resin ......J2EE應用中間件技術:原理:瀏覽器---Internet---web 服務器---中間件---數據庫1> CGI:公共網關接口公共網關接口是一種web站點上可以用來訪問web站點的用戶交互的各種程序的標準。(交互主要是指允許用戶在瀏覽器上訪問數據庫,完成各種數據庫的操作。)CGI最大的缺點就是執行效率低,因為web服務器支持並發訪問,對每個數據庫查詢請求都要啟動一個CGI的進程,這樣極大浪費服務器資源。在這種結構中,用戶使用標準的瀏覽器通過internet和http協議訪問服務器提供的web服務器,web服務器分析用戶瀏覽器提出的請求,如果是頁面請求,則直接用http協議向用戶返回要瀏覽的頁面;如果有數據庫查詢操作請求,則需將這個請求傳遞給web服務器和數據庫之間的中間件,由中間件再向數據庫系統提出操作請求,得到結果後再返回給web服務器,web服務器把數據庫操作的結果形成html頁面,再返回給瀏覽器。2> JSP:java server pagejava是SUN公司開發的一種面向對象的程序設計語言,支持多線程、跨平臺。JSP的工作方式:客戶端瀏覽器首先訪問web服務器,從web服務器上下載Java小程序,以及相關的類和JDBC接口的字節碼文件,然後和web服務器脫離,再根據數據庫服務器的地址、端口號、賬號和數據庫服務器連接,進行交互操作;JSP技術具有可操作性、可維護性、安全性、高效性;3> ASP:active server pagesASP是一種開放的應用程序環境,支持將html腳本和可重用的Active Server組件結合在一起構建交互式網頁。4> JDK:JDK是整個Java的核心,是一個Java開發包、開發工具、是Java應用程序的程序開發環境。SUN JDK、IBM JDKJDK的最重要的命令行工具: java:啟動JVM執行class javac:Java編譯器 jar:Java打包工具 javadoc:Java文檔生成器5> JVM:Java virtual Machine,Java虛擬機是一個虛構出來的計算機,是通過在實際計算機上仿真模擬各種計算機功能來實現;Java虛擬機與自己完善的硬件架構,如處理器、堆棧、寄存器、相應的指令系統;JVM屏蔽了與具體操作系統平臺相關的信息,使得java程序只需生成在java虛擬機上運行的目標代碼,java虛擬機在執行目標代碼時,實際上最終還是把目標代碼解釋成具體平臺上的機器指令執行;6> DataSource:數據源數據源定義指定數據源的方式,即數據來源;如:安裝oracle客戶端後,配的監聽服務名,訪問oracle數據庫一般通過這個監聽服務名和相應的用戶名,密碼。7> JDBC:java database connectivity :Java數據庫連接APIJDBC對應一個數據庫連接池。客戶程序可以通過數據源綁定的JNDI名字得到該數據源的引用,並且通過數據源對象得到的數據庫連接;JDBC有java語言特性,使用JDBC開發的程序可以跨平臺運行,而不受數據庫供應商的影響。8> JNDI:Java Naming and Directory Interface:是SUN公司提供的一種標準的java命名系統接口;JNDI是一個應用程序設計的API,為開發人員提供了查找和訪問各種命名和目錄服務器的通用、統一的接口,應用程序能夠通過制定一個邏輯的名稱來訪問一個DataSource對象。9> Connection Pool:存放connection對象的容器;減少連接數據庫的開銷;程序請求連接時,在connection pool中取連接;連接使用完後,放回connection pool,不釋放;connection pool對連接進行管理:計數,監控連接狀態;10> transaction:事務事務是訪問並可能更新數據庫中各種數據項的一個程序執行單元;事務是為解決數據安全操作提出的,事務控制實際上就是控制數據的安全訪問;事務要麽成功,要麽失敗,並回復原狀;11> JMS:Java Message ServeiceJMS是訪問企業消息系統的標準API,它便於消息系統中的java應用程序進行消息交換,並且通過提供標準的產生、發送、接收消息的接口、簡化企業應用的開發;12> Tread線程:程序執行的基本單元。一個進程可以由多個同時運行的線程,每一個執行不同的任務;當一個線程完成任務後,這個線程就會被掛起或消滅;-----------------------------------------------------------------------------WebSphere Application Server:是一個基於Java的web應用程序服務器,構建在開放標準的基礎之上,能夠部署和管理從簡單的Web站點到強大的電子商務解決方案的諸多應用程序。遵循J2EE並未Java組件、XML和Web服務提供了一個可移植的Web部署平臺,這個平臺能夠與數據庫交互並提供動態的Web內容。應用服務器:WebSphere Application ServerWebSphere結構: 單元(cell) 配置管理(Deployment Manager) 節點(Node) 節點代理(Node Agent) 概要文件(Profile) 集群(Cluster)WebSphere基礎:Applicaton Server:一個為J2EE應用提供了web容器、EJB容器、Naming、JMS等服務,同時提供配置和管理功能的運行平臺。在Windows、Unix等分布式操作系統上,一個Server單只一個JVM實例,看到的就是一個java進程。1> WebSphere Profile:一個Applicaton Server所需要用到的User files的集合,包括如環境變量的設定、資源的配置、日誌文件的記錄格式.....所有的這些構成applicaton server的運行環境。2> 單元:(cell):是一個邏輯上的管理域的稱呼,提供了對節點的單獨管理入口,這個域由跨多臺主機上的NOde和一個DM組成;一般情況來時,可以將單元看作是最大的域。單元是一個邏輯上的配置概念。3> 配置管理(Deployment Manager):是管理代理程序;Deployment Manager為單元中所有元素提供了單一的管理控制中心點;每一個單元都會包含一個Deployment Manager。4> 節點(Node):是受管服務器(Server)的邏輯分組;節點通常與具有唯一IP主機地址的邏輯或物理計算機系統對應,節點不能誇多臺計算機。5> 節點代理(Node Agent):將管理請求路由至服務器的管理代理程序。DM通過NOde Agent把配置和管理動作傳達到每個Node中的Server上。在WAS ND環境下,一個節點對應一個概要文件,一個節點內可以有多個Server

中間件簡介