筆記.第3章.軟件構件與中間件.信息系統項目管理師.考試輔導教程.第3版

上篇

第3章 軟件構件與中間件

本章要點:

  1. 構件及其在信息項目中的重要性
  2. 常用構件標準(COM/DCOM/COM+、CORBA 和 EJB)
  3. 軟件中間件

3.1 構件模型及實現

構件是具有一定的功能,能夠獨立工作或能同其他構件裝配起來協調工作的程序體,構件的使用同它的開發、生產無關。

構件是對一組類的組合進行封裝,并代表完成一個或多個功能的特定服務,也為用戶提供了多個接口。整個構件隱藏了具體的實現,只用接口對外提供服務。

構件模型(Model)是對構件本質特征的抽象描述。

模型因目標和作用各不相同而分為:

  • 參考模型
  • 描述模型
  • 實現模型

模型的三個主要流派:

  • OMG 的 CORBA

通用對象請求代理結構,CORBA,Common Object Request Broker Architecture

  • Sun 的 EJB

EJB,Enterprise Java Bean

  • Microsoft 的 DCOM

分布式構件對象模型,DCOM,Distributed Component Object Model

構件模型組成(以青鳥構件模型為例):

1. 外部接口

構件的外部接口是指構件向其重用者提供的基本信息,是構件與外部世界的一組交互點。

基本信息包括:

  • 構件名稱
  • 功能描述
  • 對外功能接口
  • 所需的構件
  • 參數化屬性

2. 內部結構

構件的內部結構包括兩方面內容:

  • 內部成員(具體成員,虛擬成員)
  • 內部成員之間的關系(內部成員之間的互聯,內部成員與外部接口之間的互聯)

3.2 常用構件標準

構件標準三大流派:

  • COM/DCOM/COM+
  • CORBA
  • EJB

3.2.1 EJB 基礎知識

EJB 是用于開發和部署多層結構的、分布式的、面向對象的 Java 應用系統的跨平臺的構建體系結構。

EJB 的三種類型:

  • 會話(Session)Bean
    一個 SB 描述了與客戶端的一個短暫會話,執行完成數據消失。
  • 實體(Entity)Bean
    描述了存儲在數據庫的表中的持久數據。
  • 消息驅動(Message-driven)Bean
    結合了一個 SB 和一個 JSM(Java 信息服務) 信息監聽者的功能。

3.2.2 COM/DCOM/COM+ 基礎知識

在 COM 構架下,人們可以開發出各種各樣的功能專一的組件,然后將它們按照需要組合起來,構成復雜的應用系統。

DCOM 特性:

  • 位置獨立性
    構件的位置完全透明,無論位于客戶的同一進程中或是地球的另一端。
  • 語言無關性
    任何語言都可以用來創建 COM 組件。

COM+ 把 COM 組件軟件提升到應用層而不再是底層的軟件結構,通過操作系統的各種支持,使組件對象模型建立在應用層上,把所有組件的底層細節留給操作系統。

3.2.3 CORBA 基礎知識

CORBA 的主要目標是提供一種機制,使得對象可以透明地發出請求和獲得應答,從而建立起一個異質的分布式應用環境。

CORBA 技術規范的主要內容:

  • IDL

接口定義語言,IDL,Interface Definition Language
IDL 是 CORBA 規范定義的一種中性語言,它用來描述對象的接口,而不涉及對象的具體實現。

  • IR

接口池,Interface Repository,IR
包括分布計算環境中所有可用的服務器對象的接口表示。

  • DII

動態調用接口,Dynamic Invocation Interface,DII
提供了一些標準函數以供客戶對象動態創建請求、動態構造請求參數。

  • OA

對象適配器,Object Adapter,OA
用于屏蔽 ORB 內核的實現細節,為服務器對象的實現者提供抽象接口,以便他們使用 ORB 內部的某些功能。

對象請求代理,Object Request Broker,ORB

3.3 中間件技術

中間件用自己的復雜換取了企業應用的簡單。

3.3.1 中間件的定義

  • objectweb.org 的定義:
    在一個分布式系統環境中處于操作系統和應用程序之間的軟件。

  • IDG 的定義:
    中間件是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源,中間件位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。

3.3.2 中間件的功能

中間件屏蔽了底層操作系統的復雜性,使程序開發人員面對一個簡單而統一的開發環境,減少程序設計的復雜性,將注意力集中在自己的業務上,不必再為程序在不同系統軟件上的移植而重復工作,從而大大減少了技術上的負擔。

3.3.3 中間件的分類

按層次劃分:

  • 底層中間件
    主流技術有 JVM, CLR, ACE, JDBC, ODBC
  • 通用型中間件
    主流技術有 CORBA, J2EE, MOM, COM
  • 集成型中間件
    主流技術有 WorkFlow, EAI

中間件細化:

  • 通信處理(消息)中間件
  • 事務處理(交易)中間件
  • 數據存儲管理中間件
  • Web 服務中間件
  • 安全中間件
  • 跨平臺和構架的中間件
  • 專用平臺中間件
  • 其他中間件
    如數據流中間件、門戶中間件、銀行及電信專用中間件等。

3.3.4 中間件技術在集成中的應用

使用者 集成需求 技術與產品
業務設計人員 業務流程 業務流程,工作流
IT 技術人員 組件/服務 EJB, CCM, COM
基礎架構人員 消息/傳輸 MQSeries, TIBCO, JMS/NET, CORBA, JAVA, RMI

3.3.5 中間件的發展趨勢

  1. 規范化
  2. 構件化和松耦合
  3. 平臺化
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容