1、以SOA為基礎之中等學校校務行政協作系統規劃與建置Design and Implementation of a high school administration system based on service-oriented architecture 報報 告告 人:王金鳳人:王金鳳指導教授:曾守正指導教授:曾守正報告日期:報告日期:95.11.3第2頁共34頁報告大綱報告大綱What is Service-Oriented Architecture?Why Service-Oriented Architecture?研究背景、動機研究背景、動機研究方法研究方法相關技術相關技術系統建置系
2、統建置結論結論第3頁共34頁What is SOA一種以一種以服務服務為導向的架構概念為導向的架構概念與與 物 件物 件 導 向 最 大 的 差 別 在 於導 向 最 大 的 差 別 在 於Huhns&Singh(2005)位置透通性位置透通性 (Location transparency)Location transparency)鬆散耦合鬆散耦合 (Loosely Coupling)建置中立建置中立(Implementation neutraily)第4頁共34頁What is SOA(cont.)Requester服務需求者Provider服務提供者Registry服務註冊處FindSO
3、A 成員介紹成員介紹stone(2005)BindFindFindPublish第5頁共34頁Why SOA技術觀點技術觀點IT技術的快速變遷:由於技術的快速變遷:由於SOA具建置中立特具建置中立特性,其基本元件具延伸性與再利用性,不受性,其基本元件具延伸性與再利用性,不受IT技術變遷的影響。技術變遷的影響。粒度粒度(Granularity):由於:由於SOA具鬆散耦合特具鬆散耦合特性,可提高其抽象化層級,使得解決方案容性,可提高其抽象化層級,使得解決方案容易產生,因為我們只需要組合解決方案特性易產生,因為我們只需要組合解決方案特性即可解決問題需求。即可解決問題需求。第6頁共34頁Why SO
4、A(cont.)協作觀點協作觀點團隊:團隊工作的管理方式己經由集中管理團隊:團隊工作的管理方式己經由集中管理到分散管理,如何在開放系統環境下,自主到分散管理,如何在開放系統環境下,自主性高的合作伙伴中團隊工作並解決合作上的性高的合作伙伴中團隊工作並解決合作上的問題問題Interoperability(互用性互用性):各服務元件可以:各服務元件可以互相使用,節省程式開發時間,且不用考慮互相使用,節省程式開發時間,且不用考慮平台環境平台環境。第7頁共34頁Why SOA(cont.)使用者觀點使用者觀點多元平台環境:由於多元平台環境:由於SOA具建置中立特性,具建置中立特性,可跨平台展現,在可跨平
5、台展現,在SOA架構下將可提供多元架構下將可提供多元平台環境,供多元使用者使用。平台環境,供多元使用者使用。系統敏捷:系統敏捷:SOA元件具互用性,因此當需求元件具互用性,因此當需求變動時,可快速反應需求。變動時,可快速反應需求。第8頁共34頁Why SOA(cont.)使用使用SOA的優點的優點(Huhns&Singh2005)標準化與抽象化,使得互用元件可由不同發標準化與抽象化,使得互用元件可由不同發展者產生,改善發展應用軟體的生產力與提展者產生,改善發展應用軟體的生產力與提昇品質、降低成本。昇品質、降低成本。專業分工,提高人力效能。專業分工,提高人力效能。提供富含語意、彈性的運算模式來簡
6、易發展提供富含語意、彈性的運算模式來簡易發展應用軟體應用軟體統一的安全性、權限管理。統一的安全性、權限管理。第9頁共34頁研究背景、動機研究背景、動機中等學校校務行政系統的協作開發瓶頸中等學校校務行政系統的協作開發瓶頸專長不同專長不同自主性團隊自主性團隊IT技術挑戰技術挑戰政策變動太快,需能敏捷反應政策變動太快,需能敏捷反應應付多元的使用者應付多元的使用者各級學校各自為政,重覆開發,浪費資各級學校各自為政,重覆開發,浪費資源源第10頁共34頁研究方法研究方法以以Peacock(2001)分散式架構為基礎概念分散式架構為基礎概念資料展現層資料展現層(Presentation Tier)-主要為使
7、用者界面。主要為使用者界面。處理邏輯層處理邏輯層(Business Tier)-包含操作資料的邏輯。包含操作資料的邏輯。資料層資料層(Data Tier)-負責資料的存取。負責資料的存取。Presentation LogicDistributedTechnologyBusiness LogicDistributedTechnologyData Logic第11頁共34頁研究方法研究方法(續續)將商業流程轉換成將商業流程轉換成Service簡西村簡西村(2005)Presentation LogicDistributedTechnologyBusiness LogicDistributedTec
8、hnologyData Logic第12頁共34頁研究方法研究方法(續續)SOC(Service-Oriented Computing)規劃規劃系 統 實 踐系 統 實 踐 S O Ahuhns&singh2005GoalSubgoalSubgoalSubgoalSubgoalSubgoalSubgoalSubgoalSubgoalSubgoalDiscovering,maching,planning,composingWebService1WebService2WebServiceNTask3Task4Task1Task2Task5Task6Task7Discovering,maching,
9、planning,composing第13頁共34頁Document Service Server 文件伺服器Client用戶端用戶端研究方法研究方法(續續)利用中等學校資訊管理人學會所提供的技利用中等學校資訊管理人學會所提供的技術術Document Service Architecture為研究核心方為研究核心方法法Service 1Service 2Service 3Service 4Service 5文件服務HTTPDSA 架構圖架構圖23456178RequestDocument申請文件DoorwayResponseDocument回覆文件Access Control存取控制判斷使用者
10、搜尋服務第14頁共34頁研究方法研究方法(續續)本研究使用本研究使用DSA來實踐來實踐SOA之精神之精神Interoperability(互用性互用性):Service可互用可互用Location transparency:權限控管及資料位:權限控管及資料位置由置由Provider負責負責Loosely-couped:需求文件具彈性組合且技:需求文件具彈性組合且技術中立術中立Well-Defined:可以被任何技術引用:可以被任何技術引用Stateless:服務屬於獨立的狀態:服務屬於獨立的狀態第15頁共34頁研究方法研究方法(續續)SOA、DSA、Web Service的關係的關係 DSA、
11、Web Service實踐實踐SOA精神的技術精神的技術 DSA傳遞資料的方式為傳遞資料的方式為Document Web Service的的SOAP有二種型式:有二種型式:vRPC-Style:緊密耦合:緊密耦合vDocument-Style:鬆散耦合:鬆散耦合 Web Service 建置建置UDDI,使得,使得SOA的運行能更加便的運行能更加便利。利。DSA有權限控管機制,程式可以提供給任何人,但有權限控管機制,程式可以提供給任何人,但如果沒有權限,將無法取得如果沒有權限,將無法取得Service所提供的資訊所提供的資訊 兩者都有語意的問題待解決兩者都有語意的問題待解決第16頁共34頁研究
12、方法研究方法(續續)選擇使用選擇使用DSA的原因的原因huhns&singh(2005)文章提及文章提及Document View的的Service才是未來的主流,才是未來的主流,DSA正是正是採用採用Document為傳送訊息的格式。為傳送訊息的格式。DSA本身已有權限控管不須外加任何元件,本身已有權限控管不須外加任何元件,而而Web Service必須使用必須使用WS-Security相關元相關元件件(WS-Policy、WS-Trust、WS-Privacy、WS-Authorization.等等)來完成權限控管。來完成權限控管。DSA簡單而不複雜,且可解決本學會所遇到簡單而不複雜,且可
13、解決本學會所遇到的瓶頸。的瓶頸。第17頁共34頁相關技術相關技術DOM-文件物件模型文件物件模型Document Object Model,簡稱,簡稱DOM,是一種存取,是一種存取XML 文件的方法,文件的方法,這是由這是由W3C 所設計的規格。所設計的規格。VBA巨集語言巨集語言-VBA主要是為了應用程式自訂主要是為了應用程式自訂化與自動化而設計。它讓程式開發人員可以在化與自動化而設計。它讓程式開發人員可以在不同應用程式使用共同的巨集語言進行開發。不同應用程式使用共同的巨集語言進行開發。造就出許多造就出許多Microsoft Office解決方案,並且使解決方案,並且使不同桌面應用程式結合成
14、完整資訊系統成為可不同桌面應用程式結合成完整資訊系統成為可能。能。第18頁共34頁相關技術相關技術(續續)DBHelp 語法語法-在撰寫在撰寫Service時,學會提時,學會提供了供了DBHelp的語法,其方法是結合的語法,其方法是結合SQL語法,並增加其彈性,將使用者傳入的語法,並增加其彈性,將使用者傳入的參數內容結合原參數內容結合原SQL語法,完成一個完語法,完成一個完整的整的SQL,接著再執行,接著再執行SQL。DoorwayRequestDocument申請文件Service(*.RC)DBHelpResponseDocument回覆文件第19頁共34頁系統建置系統建置系統架構系統架構
15、圖圖第20頁共34頁系統建置系統建置(續續)系統使用者需求分析系統使用者需求分析以學校教師、主管做需求分析以學校教師、主管做需求分析教師工作較為繁鎖,且經常兼任導師職務,教師工作較為繁鎖,且經常兼任導師職務,因此為教師設計一套教師包,教師可以在任因此為教師設計一套教師包,教師可以在任何地點、時間執行,方便教師作業。何地點、時間執行,方便教師作業。主管重視統整性資料,其中以學生缺曠、獎主管重視統整性資料,其中以學生缺曠、獎懲、成績更受注目。懲、成績更受注目。依使用者需求設計依使用者需求設計15個程式,個程式,38個服務個服務功能使用服 務數適用時機適用對象期初平時期末主管導師教師上課表現8 成績
16、表14 班級課表4 班級學生基本資料4 個人獎懲明細4 缺曠請假清單報表4 班級個人出席暨獎懲狀況5 月考成績單4 每月生活通知單7 班級學期六育成績明細3 期末德行成績明細5 班級學生學期科目成績統計狀況3 班級出席率5 班級獎懲統計4 教師授課成績範圍一覽表3 第21頁共34頁系統建置系統建置(續續)系統需求系統需求Server 端端Client端:端:MS-Excel (1)IIS (2).NET framework 1.1 (3)DSA 基本原件基本原件 a.Service(所有所有Service的的Description)b.Bin(所有所有Service的的DLL)c.C o n
17、f i g(D S A S e r v e r 的 組 態 設 定的 組 態 設 定)Doorway.config 內設定預設資料來源內設定預設資料來源d.Doorway.aspx (DSA Server進入點進入點)第22頁共34頁系統建置系統建置(續續)系統開發架構及伙伴關係系統開發架構及伙伴關係第23頁共34頁系統建置系統建置(續續)Default.GRCDefault.GAC*.RC*.SD*.SH*.AC以上檔案,以上檔案,皆以皆以XML格式格式呈現呈現服務撰寫服務撰寫描述此目錄中各項相關服務所共同引用之資源描述此目錄中各項相關服務所共同引用之資源Provider=SQLOLEDB;
18、Data Source=emywang;Initial Catalog=main;User ID=XX;Password=*;描述此目錄中的存取權限描述此目錄中的存取權限 主任,科主任,校長,訓導主任 描述資料相關資源,即本研究的描述資料相關資源,即本研究的Service!CDATAECampusDb SELECT ExamID 試別編號,ExamName 試別名稱FROM ExamORDER BY ExamID 考試類別/試別每一個服務都需要有一個相對應的描述檔每一個服務都需要有一個相對應的描述檔。班級考試成績 每一個服務都有一個相對引用說明每一個服務都有一個相對引用說明 更新課程考試成績
19、EveryoneEveryoneEveryone 學生 若個別服務的權限控管不同,則相對於服務的若個別服務的權限控管不同,則相對於服務的 AC檔內描述檔內描述 科主任,主任,校長,訓導主任,導師 第24頁共34頁系統建置系統建置(續續)Client端撰寫程式流程端撰寫程式流程滙入基本元件滙入基本元件(學會提供學會提供)vDSConnection:與:與DSA取得連線取得連線vDSRequest:送出:送出RequestvDSResponse:收到:收到Response利用利用ToolKit找到合適的服務找到合適的服務組合適合的服務,完成應用程式組合適合的服務,完成應用程式第25頁共34頁系統建
20、置系統建置(續續)程式範例程式範例Dim DSreq As DSRequestDim DSRsp As DSResponse Dim DSConn AS DSConnection步驟一 宣告物件步驟二 取得連線nDSConnStatus=DSConn.Connect(登入帳號,密碼,伺服器名稱)步驟三 判斷連線是否成功If nDSConnStatus=0 Then 步驟四 建立需求DSreq.AddElement 登入帳號,LoginName.Value DSreq.AddElement 密碼,PassWord.Value 步驟五 送出需求並取得回應Set DSRsp=DSConn.SendR
21、equest(TAIS.GetLoginPermission/1.0,DSreq)步驟六 轉成RecordSetSet rstLogin=DSRsp.GetRecordset(使用者資料)第26頁共34頁系統建置系統建置(續續)系統範例系統範例第27頁共34頁系統建置系統建置(續續)系統範例系統範例第28頁共34頁結論結論協作學校大家共同使用相同的協作學校大家共同使用相同的DataBase Schema,在系統資料的相容性,能比業,在系統資料的相容性,能比業界有更大的方便性界有更大的方便性學校不是營利事業,大家只希望在系統學校不是營利事業,大家只希望在系統的使用上能更方便,更能反應資訊科技的使
22、用上能更方便,更能反應資訊科技的快速變遷的快速變遷在此研究中充分表現出在此研究中充分表現出SOA在中等學校在中等學校校務行政系統協作上的優點校務行政系統協作上的優點。第29頁共34頁結論結論(續續)DSA在中等學校的應用在中等學校的應用因應資訊科技,建置系統反應敏捷因應資訊科技,建置系統反應敏捷可與國中、大學交換資料,同等級學校轉學可與國中、大學交換資料,同等級學校轉學資料互轉資料互轉專業分工、協作方便專業分工、協作方便節省人力、時間、金錢等開發成本節省人力、時間、金錢等開發成本第30頁共34頁結論結論(續續)安全性議題安全性議題目前採用自然人憑證透過目前採用自然人憑證透過SSL的方式來向的方式來向DSA Server取得服務取得服務未來計畫採用未來計畫採用SSL+VPN第31頁共34頁結論結論(續續)研究貢獻研究貢獻SOA(Service-Oriented Architecture)、SOC(Service-Oriented Computing)是新興的是新興的架構與概念,使得開發程式更節省成本及時架構與概念,使得開發程式更節省成本及時間,並可達到重複使用及跨平台。間,並可達到重複使用及跨平台。在這新的方法下,協作以及元件的設計將會在這新的方法下,協作以及元件的設計將會有不同的方向,是一大挑戰,本研究確實能有不同的方向,是一大挑戰,本研究確實能提供一個示範。提供一個示範。