Top Banner
1 車車車車車車車車車 Part 1 車車車車車車
97

車載資料庫服務系統 Part 1

Jan 05, 2016

Download

Documents

Mei

車載資料庫服務系統 Part 1. 國立東華大學. 大綱. Part1 資料庫簡介 資訊平台的過去與現在 服務導向架構 Part2 網路服務 網路服務安全 雲端運算服務 行動網路服務. 資料庫簡介. 資料庫系統是企業的核心價值. 某位企業界的經營者曾說:「未來網際網路界有幾種人可以賺到錢:擁有資料庫的人,整理資料庫的人,管理資料庫的人以及應用資料庫的人」. 資料庫管理系統. 資料庫. 資料庫管理系統. 資料庫分類. 以模型分類 階層式資料庫( Hierarchical Database ) 網狀式資料庫( Network Database ) - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 車載資料庫服務系統 Part 1

1

車載資料庫服務系統Part 1

國立東華大學

Page 2: 車載資料庫服務系統 Part 1

2

大綱• Part1

– 資料庫簡介– 資訊平台的過去與現在– 服務導向架構

• Part2– 網路服務– 網路服務安全– 雲端運算服務– 行動網路服務

Page 3: 車載資料庫服務系統 Part 1

3

資料庫簡介

Page 4: 車載資料庫服務系統 Part 1

4

資料庫系統是企業的核心價值 • 某位企業界的經營者曾說:「未來網際網路界有幾種人可以賺到錢:擁有資料庫的人,整理資料庫的人,管理資料庫的人以及應用資料庫的人」

Page 5: 車載資料庫服務系統 Part 1

5

資料庫管理系統

資料庫 資料庫管理系統

Page 6: 車載資料庫服務系統 Part 1

6

資料庫分類• 以模型分類

– 階層式資料庫( Hierarchical Database )– 網狀式資料庫( Network Database )– 關聯式資料庫( Relational Database )– 物件導向式資料庫( Object-Oriented Database)– 資料倉儲 (Data Warehouse)– NoSQL 資料庫

• 以資料存取的架構分類– 主機 /終端機架構– 主從式架構– 分散式架構

Page 7: 車載資料庫服務系統 Part 1

7

以模型分類• 階層式資料庫( Hierarchical Database )• 網狀式資料庫( Network Database )• 關聯式資料庫( Relational Database )• 物件導向式資料庫( Object-Oriented Databa

se)

• 資料倉儲 (Data Warehouse)

• NoSQL 資料庫

Page 8: 車載資料庫服務系統 Part 1

8

階層式資料庫• 採用樹狀結構,將資料分門別類儲存在不同的階層之下,

而每一個資料樹又由許多資料元件組成,也就是一對一或一對多的資料關係。

• 優點– 是資料結構類似金字塔,不同層次間的資料關聯性直接且簡單。

• 缺點– 則因資料以縱向發展,橫向關聯難以建立,所以資料可能會重複

出現造成管理維護上的不便。– 尋找資料時,需從樹根( root )開始,一筆一筆沿連結找,不易

使用,當需要應用在不同情況時,容易造成資料重覆,資料維護較為困難。

• IBM 的 IMS (Information Management System) 即是屬於此類的資料庫管理系統。

Page 9: 車載資料庫服務系統 Part 1

9

階層式資料庫東華出版社 台北市中山區…

上奇出版社 台北縣板橋市…

XML 設計 450

資料結構 550資料結構 550

周處 台中縣大里市… 王維 台北縣三重市… 李白 高雄市三民區…

作業系統 600

系統程式 650

Page 10: 車載資料庫服務系統 Part 1

10

網狀式資料庫• 將每筆記錄當成一個節點。節點與節點之間可以建立關聯,形成一個網狀架構。

• 優點– 避免了資料的重複性。

• 缺點– 關聯性比較複雜,尤其是當資料庫的內容愈來愈多的時候,關聯性的維護會變得非常麻煩。

– 不易取用、不易使用、存取路徑須事先設定,當需要重新建立關係或新連結時,非常麻煩。

• Computer Associates 公司曾經推出的 IDMS (Integrated Database Management System) 即是屬於此類的資料庫管理系統。

Page 11: 車載資料庫服務系統 Part 1

11

東華書局 花蓮縣

墊腳石書局 台中縣

金石堂書局 台北市

C# 程式設計 350

作業系統分析 400

OS 考題範本 300

資料結構分析 450

離散數學 350

線性代數 400

櫻桃出版社 花蓮縣

博碩出版社 台中縣

山東出版社 台北市書局資料

書籍資料

出版商資料

網狀式資料庫

Page 12: 車載資料庫服務系統 Part 1

12

關聯式資料庫• 關聯式資料模式是當今應用最普遍的資料模式。關聯式資料模式是採用二維陣列的資料表來建立資料的關係。

• 資料表由記錄中的資料列和資料欄所組成,兩個資料表間的關係使用一個相同的資料欄來建立關聯,主要的特色有易取用資料、易使用、有彈性、架構簡單。

Page 13: 車載資料庫服務系統 Part 1

13

關聯式資料庫

資料表

資料表

資料表

資料表

資料表

資料表

Database

Name Address Tel

王小花 台北市松江路 02-22535888

王大美 台北市民生路 02-22535999

陳美大 台中市三民路 04-21234567

Page 14: 車載資料庫服務系統 Part 1

14

關聯式資料庫學號 姓名 性別 科系 年級

7844201 王小花 F CSIE 1

7844202 王大美 F CSIE 1

7844203 陳美大 F CSIE 1

學號 課程編號7844201 CSIE001

7844202 CSIE002

7844202 CSIE003

課程編號 課程名稱 授課教師 選修類別 學分數CSIE001 程式設計 林大刀 CSIE 3CSIE002 資料結構 李小刀 CSIE 3CSIE003 演算法 周大帥 CSIE 3

Page 15: 車載資料庫服務系統 Part 1

15

物件導向式資料庫• 物件導向式資料庫是以物件導向的方式來設計資料庫,其中包含了物件的屬性、方法、類別、繼承等特性。

• 若以關聯式資料庫和物件導向式資料庫來做比較,關聯式資料庫必須由資料庫設計者來設計、建立及管理關聯。

• 物件導向式資料庫中,物件和物件之間的連繫,是因其屬性而必然發生的。

Page 16: 車載資料庫服務系統 Part 1

16

•底下是一個物件導向式資料庫的結構示意圖:

訂單

課戶

產品

作者

物件導向式資料庫

Page 17: 車載資料庫服務系統 Part 1

17

接著看下面的物件導向式資料庫:日期 客戶 是否購買 客戶名稱 聯絡人 性別 地址

OID10

2010/1/1

OID20

0

OID11

2010/4/1

OID21

0

OID12

2010/5/3

OID22

1

OID18

敦煌書局 阿明 m 花蓮縣

OID19

伊甸書局 阿吉 m 台東縣

OID20

承品書局 阿華 m 屏東縣

訂單 客戶

物件導向式資料庫

• 上圖中,兩個物件是透過 OID 來連繫起來的。在關聯式資料庫中資料表間的關係必須靠設計者自行建立來產生關聯。物件導向式資料庫中,各物件之間的關係則是在物件建立之時,會自行建立連繫。

Page 18: 車載資料庫服務系統 Part 1

18

資料倉儲• 是一種大型資料庫,其中儲存及管理用來分析歷史及目前交易所需的資料。

• 例如銀行利用資料倉儲來監控及管理顧客的信用卡交易與存放款狀況。

Page 19: 車載資料庫服務系統 Part 1

19

NoSQL 資料庫• 目前 Cloud Computing 在處理大量資料時,大多採用 NoSQL 的資料庫,這類資料庫的特點在於支援分散式平行處理。 NoSQL 資料庫是一個統稱的名詞,泛指非關聯式資料庫的資料庫技術,包括了數十種不同類型的資料庫系統,因為這些資料庫大多沒有支援標準的 SQL ,例如知名的 Google BigTable 、 Amazon S3 的 Dynamo 資料庫,或是微軟 Azure 平臺儲存資料的方式,都屬於 NoSQL 資料庫的其中一種。

Page 20: 車載資料庫服務系統 Part 1

20

NoSQL 資料庫• 常見的 NoSQL 資料庫有 4 類,分別是

– 圖學資料庫( Graph Database )– 文件導向的資料庫( Document-Oriented Databa

se )– Key-Value Store 分散式資料庫– 記憶體快取為主的資料庫。

Page 21: 車載資料庫服務系統 Part 1

21

圖學資料庫 • 圖學資料庫是運用圖學架構來儲存節點間關係資料架構,例如用樹狀結構來組織從屬關係或網狀結構來儲存朋友關係,地理圖資系統通常也會用圖學資料庫來儲存地圖上每一點和鄰近點的關係,或用圖學資料庫來計算點與點之間最短的距離,也可以用同樣的概念來計算出人與人之間最短的交友距離。

Page 22: 車載資料庫服務系統 Part 1

22

圖學資料庫• 以 Facebook 為例,用節點來記錄帳號、用關係來記錄朋友關係、用屬性來描述這個帳號的個人資料等。最後可以用網絡圖來呈現出 Facebook 用戶之間的交友狀況。

• 常見的圖學資料庫:– Neo4j– InfoGrid– AllegroGrph

Page 23: 車載資料庫服務系統 Part 1

23

文件導向資料庫• 文件資料庫主要是用來儲存非結構性的文件,例如 HTML 網頁與 XML文件。

• 常見的開源文件資料庫像是 CouchDB 、 MongoDB 以及 Riak等。

Page 24: 車載資料庫服務系統 Part 1

24

Key-Value 分散式資料庫 • Key-Value 資料庫是 NoSQL 資料庫中數量最多的類型,最大的特色就是採用 Key-Value 資料架構,沒有原本關聯式資料庫中常用的欄位架構,每筆資料各自獨立,有分散式與高擴充能力的特性。

• Google 的 BigTable 、 Hadoop 的 HBase 、Amazon 的 Dynamo 、 Cassandra 、 Hypertable等。

Page 25: 車載資料庫服務系統 Part 1

25

記憶體資料庫• 記憶體資料庫( In-memory Database )就是將資料儲存在記憶體的 NoSQL 資料庫,包括了 Memcached 、 Redis 、 Velocity 、 Tuple space等。 Memcached 、 Redis都是一種Key-Value 資料架構的資料庫,只是將資料儲存在記憶體中來提高讀取效率,大多用來快取常用網頁,加快傳遞網頁的速度,減少讀取硬碟的次數,不過系統關機後就無法保存。

Page 26: 車載資料庫服務系統 Part 1

26

以資料存取的架構分類•主機 /終端機架構•主從式架構•分散式架構

Page 27: 車載資料庫服務系統 Part 1

27

主機 /終端機架構中央主機

終端機 終端機

終端機終端機

Page 28: 車載資料庫服務系統 Part 1

28

主從式架構資料庫 Se

rver

Client Client

ClientClient

Page 29: 車載資料庫服務系統 Part 1

29

分散式架構

Network

資料庫 Server

資料庫 Server

Client Client Client

Page 30: 車載資料庫服務系統 Part 1

30

資訊平台的過去與現在

Page 31: 車載資料庫服務系統 Part 1

31

資訊平台的類型• 大型主機 (Mainframe) 架構 • 檔案共享 (File sharing) 架構 • 主從式 (Client/server) 架構 • Web Services 架構

Page 32: 車載資料庫服務系統 Part 1

32

大型主機 (Mainframe) 架構• 大型主機的技術,五十年代起即主宰資訊平台,

• 目前仍極具影響力, IBM 、 DEC 、 HP 、WANG等為代表,以及 UNIX 作業系統 text mode都是,傳統行業仍使用中

• 大型主機的軟體架構有一些限制:– 無法簡便的支援圖形化使用者介面– 無法支援分散各地的資料庫

Page 33: 車載資料庫服務系統 Part 1

33

Main Frame Computer(Data, Application, Presentation)

Terminal Terminal

One-tier: Centralized Computing

Page 34: 車載資料庫服務系統 Part 1

34

大型主機架構的改良與提昇• 新的改良模式在 1994年被提出來,主要以關聯式資料庫替代傳統資料庫,

• 並以改良的 middleware 諸如 IBM 的 IMS 、 CICS 與 Encina , BEA 的 TUXEDO 來提供分散式的服務。

• 新的大型主機伺服器軟體,不但提供了分散式主從架構,並且支援更大的儲存能力及改善其安全機制。

Page 35: 車載資料庫服務系統 Part 1

35

檔案共享 (File sharing) 架構 PC LAN (local area network) computing

• 從一個共享的伺服器,下載資料到桌上型電腦的工作環境。

• 使用者的工作 (包括運算邏輯及資料 ) ,都在桌上型電腦的環境下執行。

• 在共享情形比較低、更新內容較少且資料的轉換量較低的情況下,檔案共享架構才能順利運作。

Page 36: 車載資料庫服務系統 Part 1

36

檔案共享 (File sharing) 架構的現狀

• 檔案共享的系統使用容量,會隨著上線人數的成長及圖形使用者介面 (GUIs) 的使用而吃緊,大約只能滿足同時 12 個人上線。

• 在 1990年代, PC LAN ( 區域網路 ) 運算架構變更後,以主從架構來取代。

Page 37: 車載資料庫服務系統 Part 1

37

主從式 (Client/Server) 架構• 由於檔案共享架構上的限制,因此主從式

(Client/Server) 架構被提出來。• 簡單說就是以資料庫伺服器 (Database serve

r) 取代檔案伺服器 (File Server)

Page 38: 車載資料庫服務系統 Part 1

38

主從式 (Client/Server) 架構的優點

• 主從式架構,是藉由利用要求 (request) 與回應 (reply) ,而不是傳遞整個資料檔案來減少傳輸流量。

• 利用前端圖形化使用者介面,來改善多重使用者,同時使用一個共享的資料庫。

Page 39: 車載資料庫服務系統 Part 1

39

主從式架構的各種類型• 兩層式 (Two tier) 主從架構• 三層式 (Three tier) 主從架構• 多層式 (N-tier : Multi tier) 主從架構• 協同分散式的企業架構 (Distributed/Collabor

ative Enterprise Architecture)

Page 40: 車載資料庫服務系統 Part 1

40

兩層式 (Two tier) 主從架構• 執行程序被切割成使用者及資料庫兩個環境。

• 資料庫管理系統,提供預儲程序 (store procedures) 及觸發器 (triggers) 。

Page 41: 車載資料庫服務系統 Part 1

41

Two-tier: Client/Server Computing

Internet

Internet

Internet

Firewall

Client

CORBA/DCOM

Server

Page 42: 車載資料庫服務系統 Part 1

42

Two-Tier Computing:Client/Server Computing

Client Tier (Fat Client)(Application, Presentation GUI)

Server Tier(Data)

Page 43: 車載資料庫服務系統 Part 1

43

兩層式主從架構的限制• 同時上線的使用者約為 100 人。因為伺服器必須隨時 , 與每個使用者端傳遞尚在連線 (keep-alive)的訊息 , 即使他們之間沒有任何的動作。

• 在執行序的管理與服務以及資料庫管理的應用上,受限於各廠商所提供的預存程序,而顯得較無彈性。

• 在程式功能性的移轉會有彈性上的限制 (無法採自動方式從一伺服器轉至另一伺服器,即 portable問題 )

Page 44: 車載資料庫服務系統 Part 1

44

三層式 (Three tier) 主從架構• 三層式架構 ( 也被稱為多層次架構 )被提出來克服兩層架構的限制

• 在三層式架構中,中間層 (Middleware)被新增出來,介於使用者介面端及其他系統或資料庫端之間

Page 45: 車載資料庫服務系統 Part 1

45

Three-tier: Web Computing

InternetInternet

Internet

Firewall

Web Server

DB Server

Web Service

Web Service

Extranet

Client

Client

Page 46: 車載資料庫服務系統 Part 1

46

Three-Tier ComputingWeb-enabled Computing

Presentation Tier (Client Tier; Thin Client)(Presentation GUI)

Application

Data Tier (Database Server)(DBMS+Database)

Application Tier (Agent Tier; Web Server)(Business Logic)

Page 47: 車載資料庫服務系統 Part 1

47

三層式主從架構的內容• 中間層可以各種形式存在,例如: transact

ion processing monitors, message servers, ORBs or RPC等。

• 中間層可以進行使用者端優先順序的排程、應用程式執行的排程及資料庫的排程。

Page 48: 車載資料庫服務系統 Part 1

48

三層式主從架構優點• 與兩層式架構的比較下,三層式的主從架構明顯的改善多人 (數千人 )線上使用的效能並且較具彈性

Page 49: 車載資料庫服務系統 Part 1

49

三層式主從架構的缺點• 三層式架構有個限制,因開發的環境比使用視覺導向的兩層式開發環境複雜,系統開發比兩層次要來的困難得多。

Page 50: 車載資料庫服務系統 Part 1

50

大型主機架構改為三層式主從架構

• 1994年開始,大型主機架構開始被改良成分散式的架構。

• 大型主機的業者,現在提供標準的溝通及程式介面,使其容易整合成分散式的三層主從架構中的伺服器。

Page 51: 車載資料庫服務系統 Part 1

51

協同分散式企業架構 Distributed/Collaborative Enterprise Architecture

• 協同分散式企業架構是在 1993年被提出來的。

• 這個軟體架構以 Object Request Broker (ORB) 技術為基礎,比 CORBA更進一步的使用元件共享,可重複使用的商業模型 ( 不只是物件 ) 。

• 即 DCOM(.NET) 與 EJB 的觀念。• 是多層次架構。

Page 52: 車載資料庫服務系統 Part 1

52

協同分散式企業架構的優點• 標準化商業物件模型• 標準化分散物件運算模式• 並將它整合起來

–提供組織更有彈性地– 在操作上及技術,增進使用的效率

Page 53: 車載資料庫服務系統 Part 1

53

協同分散式企業架構的缺點• 協同分散式企業架構,會因為缺乏商業可用的物件導向分析與設計方法工具而被限制,設計方法的工具與方法論已成為應用程式的焦點。

• UML (Unified Modeling Language) 應運而生, 1998年成為 W3C認可的產業標準,可以提供設計上的工具以及提供給各種方法論使用。

Page 54: 車載資料庫服務系統 Part 1

54

Web services 降低依存性

Schema

Agreements

ProgrammingLanguage

Object Model

ApplicationServer

Database

OperatingSystem

Database

OperatingSystem

ProgrammingLanguage

Object Model

ApplicationServer

Application 1 Application 2

Tightly Coupled SolutionService Oriented Architecture

Page 55: 車載資料庫服務系統 Part 1

55

Web Services 架構• Web Services 服務性元件的分散式軟體架構,它可在執行時動態的被整合起來。

• 是協同分散式企業架構的理想境界• 也是一種多層次架構

Page 56: 車載資料庫服務系統 Part 1

56

Four-Tier Computing:Web Service Computing

Application Tier (Agent Tier; Web Server)

(Business Logic)

Data Tier (Database Server)

(DBMS+Database)

Service Tier(Business Collaboration)

Presentation Tier(Presentation GUI)

Application 和程式互動 Application 和人互動

Page 57: 車載資料庫服務系統 Part 1

57

Web Services 架構的特色• Web Services 是具有獨立性及模組化應用,它可在網路中被描述、發行、配置及呼叫。

• Web Services 可整批的建置在開放且分散的系統中,允許公司及個人很迅速且經濟的組合出,它們是在全球各地可茲利用的數位資產。

Page 58: 車載資料庫服務系統 Part 1

58

Web Services 架構與 XML

• Web Services 是可執行的程式,它是利用XML 及 XML messaging 來觸動並連結。它是高度中性的,因為適用於任何語言與平台,可以讓我們在下一個階段,取得元件的方法。

Page 59: 車載資料庫服務系統 Part 1

59

Web Service 架構現有的七個侷限性問題

• 安全性 /隱私權( Security/privacy ) • 訊息傳遞 / 路由( Messaging/routing ) • 服務品質 / 可靠性( Quality-of- service/relia

bility ) • 交易處理( Transaction/processing ) • 管理( Management ) • 效能( Performance ) • 互通性( Interoperability )

Page 60: 車載資料庫服務系統 Part 1

60

Web Services 架構的缺點• 目前沒有 rollback功能• 沒有 two-phase commit功能• 就是沒有交易功能

Page 61: 車載資料庫服務系統 Part 1

61

Collaborative Web Services

• 結構重組以降低成本• 提供服務以開拓商機• 增進效率以維持成長• 容易整合以迅速應變

Page 62: 車載資料庫服務系統 Part 1

62

企業策略的基本核心• 企業策略的基本核心在於對外部的互動,這不是只有更佳的企業內部處理能力,而是要有能力連結和整合跨越整個價值鏈上面的各種活動 (Professor Michael Porter of Harvard Business School.)

Page 63: 車載資料庫服務系統 Part 1

63

新時代企業級軟體之要求多重企業網上協同合作

• 讓企業的系統功能在網上以模組之方式互享。

• 讓軟體模組用商業流程管理結合起來。• 用標準的介面來定義及連結它們。• 呼叫調用時不受地理位置的限制。

Page 64: 車載資料庫服務系統 Part 1

64

服務導向架構SOA

Page 65: 車載資料庫服務系統 Part 1

65

我們已經不知不覺中透過網路使用了服務 !

Page 66: 車載資料庫服務系統 Part 1

66

食 出門在外不知道要吃什麼,現在只要拿出手機上網,就可以找

到附近被登錄的店家。例如: KiDoWi軟體。

Page 67: 車載資料庫服務系統 Part 1

67

食 (cont.) 找到想吃的店進去之後還可以連結到 google map告訴你詳細

的位置。

Page 68: 車載資料庫服務系統 Part 1

68

衣 利用網路搜尋有甚麼新款式的衣、褲、鞋、襪…等。例如:到 adidas 的網站就可以看到現在有哪些鞋款。

Page 69: 車載資料庫服務系統 Part 1

69

衣 (cont.) 利用網路拍賣訂購或販賣衣、褲、鞋、襪…等。例如: yahoo拍賣,就可以刊登或是購買服飾。

Page 70: 車載資料庫服務系統 Part 1

70

住 利用網路搜尋,可以知道住家附近的房價、買屋、賣屋、租屋等資訊。

例如:到永慶房屋的首頁,就可以知道相關的訊息。

Page 71: 車載資料庫服務系統 Part 1

71

住 (cont.) 外出旅遊也可以透過網路訂房的方式取代傳統的電話預約。例如:想要訂遠雄月來大飯店的房間,到他們的網站即可。

Page 72: 車載資料庫服務系統 Part 1

72

住 (cont.) 如果是臨時性的想要找地方住,也可以使用手機尋找附近的飯店、旅館或民宿。

例如: KiDoWi軟體或導航王。

Page 73: 車載資料庫服務系統 Part 1

73

住 (cont.) 找到想落腳的地方之後,連結 google map找尋正確位置。

Page 74: 車載資料庫服務系統 Part 1

74

行 利用網路地圖,查詢該如何到達目的地。例如:利用 google map查詢該如何從壽豐校區到美崙校區。

Page 75: 車載資料庫服務系統 Part 1

75

行 (cont.) 住在台北、高雄的人,還可以在出門前查詢公車到站時間。例如:台北市即時交通資訊網、高雄市即時交通資訊網。

公車行徑路線

欲搭乘的公車

預計多久到站

Page 76: 車載資料庫服務系統 Part 1

76

行 (cont.) 火車票也可以直接上網預訂。例如:台鐵、高鐵。

Page 77: 車載資料庫服務系統 Part 1

77

育 利用網路,可以在不出門的情況下學習知識或當日新聞。例如:維基百科、 YAHOO知識 + 、 NOWNEWS…等。

Page 78: 車載資料庫服務系統 Part 1

78

育 (cont.) 還可以有智力測驗、訓練英文聽力。例如:線上測驗服務中心、線上智力測驗 ...等。

Page 79: 車載資料庫服務系統 Part 1

79

樂 利用社群網站與朋友相互聯絡。例如: Facebook 、 Plurk 、 Twitter…等。

Page 80: 車載資料庫服務系統 Part 1

80

樂 (cont.) 當然少不了玩遊戲、看影片、照片分享。例如:神來也系列、 Youtube 、無名小站…等。

Page 81: 車載資料庫服務系統 Part 1

81

樂 (cont.) 訂購演唱會門票、電影票、唱片預定…等。例如:年代售票、威秀線上訂票…等。

Page 82: 車載資料庫服務系統 Part 1

82

樂 (cont.) 還可以看線上的電視直播、聽線上廣播。例如: HiChannel 、 I‘m TV…等。

Page 83: 車載資料庫服務系統 Part 1

83

其他1. 即時通訊、收發信件。例如: Skype 、 MSN 、 YahooMessage 、 YahooMail 、 hotmail 、 gmail…等。

2. 提供網路空間存放檔案。例如: Bandongo 、 MegaUpload…等。

3. 線上翻譯。例如: Yahoo 字典、 google翻譯…等。

4. 線上算命、拜拜。例如: Yahoo 算命、線上祈福網…等。

5. 線上的金融管理。例如:網路銀行、網路股票下單、繳學費、稅務試算、愛心捐款…等。

Page 84: 車載資料庫服務系統 Part 1

84

其他6. 生病不舒服也可以在家線上掛號。例如:長庚醫院、三軍總醫院…等。

7. 沖印照片。例如:銀箭線上沖印、 7-11線上數位影像…等。

Page 85: 車載資料庫服務系統 Part 1

85

許多服務還是需要人為介入 !

Page 86: 車載資料庫服務系統 Part 1

86

什麼是 Service?

• W3C– 服務提供者完成一組工作,為服務使用者交付所需的最終結果。最終結果通常會讓使用狀態發生變化,但也可能改變提供者,或是使雙方都產生變化。

• OASIS– 一種取得某一個或多個能力的機制,這種取得使用預先定義好的介面,並與該服務描述的約束和策略一致。

Page 87: 車載資料庫服務系統 Part 1

87

Service 的特點 ?

• 服務是可以重複使用的• 服務都有服務合約• 服務之間是鬆耦合的• 服務隱藏了具體的邏輯• 服務是可組合的• 服務是自治的• 服務是無狀態的• 服務是可以被發現的• 服務一般是粗粒度的

Page 88: 車載資料庫服務系統 Part 1

88

What is SOA?

• Gartner Group : SOA 是一種具備鬆散耦合 (loosely coupled)特性的分散式架構,並具備下列五種特質 :– 具備模組概念。– 此類模組必須能分散於多台電腦被重複使用。– 軟體開發人員以預先定義好之服務介面,來定義模組如何與外界溝通,而其他開發人員可以搜尋到此一介面,進而使用這些服務。

– 服務的介面與服務實作是完全分離的。– 服務能夠被共享,被不同型態的應用系統叫用。

Page 89: 車載資料庫服務系統 Part 1

89

Anne Thomas Manes

http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html

Page 90: 車載資料庫服務系統 Part 1

90

Hype Cycle for Application Architecture, 2009

Page 91: 車載資料庫服務系統 Part 1

91

Jeremy Westerman ( BEA WebLogic Integration產品管理總監)認為

• SOA 不是新玩意:多年前即有資訊部門成功地用 SOA方式來建構、運行應用程式,且當時 XML 、 Web Services都尚未提出。

• SOA 不是種技術:它是種建構、組織的方法,用來建立應用程式的運行環境,以及讓企業的業務程式能以「功能化」方式發展、累積。

• 就算購買最新的 XML 、 Web Services產品(如開發工具、執行平台、軟體元件等),也不表示就可以建構出 SOA 式的應用程式。

Page 92: 車載資料庫服務系統 Part 1

92

1. SOA 是一種藍圖 (blue print).

2. SOAs 不一定要使用 web services.

3. SOA 採用 J2EE 與 .NET 技術 .

4. SOA 並不是一種方法論 .

5. SOAs 是隨需 (on demand) 觀念風險更高 .

6. SOA 是基於改善目前業務的漸進式投入 .

7. SOA 平台工具才是重點 .

8. SOA 是手段,不是企業架構的終極目標 .

1. SOA 是一種技術 .

2. SOAs 必須使用 web services.

3. SOA 是全新、革命性的技術 .

4. SOA 可以確保 IT 和企業的一致性.

5. 採用 SOA 可以降低開發的風險 .

6. SOA 要求技術及商業流程的全面大翻修 .

7. SOA 要求一缸子的顧問 .

8. 我們需要建造一個 SOA.

事 實迷 思迷 思

SOA 的正確觀念

Page 93: 車載資料庫服務系統 Part 1

93

SOA 未來可能之發展• 依 Gartner Group 研究,服務導向架構未來可能會朝向三種型態演變:– 遠端呼叫形式 (Remote procedure call , RPC)

SOA – Web 形式 SOA ( 或稱Web-Oriented Architectur

e , WOA)– 事件驅動形式 (Event-driven) SOA

Page 94: 車載資料庫服務系統 Part 1

94

遠端呼叫形式 SOA

• 採用 IBM 、 Microsoft 、 Oracle 、 SAP 等 IT 技術供應商所制定與主導之 Web Services 規格, Web Services 為目前實作 SOA 最常見的方式。 IT技術供應商透過國際組織之運作,訂定 Web Services 在網路傳輸、編碼解碼及互通協定之各項規格,應用系統間可透過具備平台中立性的 Web Services相互溝通,交換資料。

• Web Services 運用的基本精神仍不脫 1980年代即出現的遠端呼叫形式,透過開放之 XML 、 SOAP 、 WSDL等規格彼此互通。

Page 95: 車載資料庫服務系統 Part 1

95

Web 形式 SOA

• 2005年 Gartner 發布了一個縮寫字 WOA ,定義它屬於 SOA 的一個子集,並可以簡單的用 WOA = SOA + WWW + REST 來說明。

• WOA專指透過 Word Wide Web這個媒介和 REST ( Representational State Transfer ,表徵狀態移轉)架構作為 SOA 的執行方式,REST 簡單而言,是一種寬鬆、簡單協定,藉由 HTTP 管道傳送資料,而無須額外的訊息層,像是 SOA 使用的 SOAP協定。

Page 96: 車載資料庫服務系統 Part 1

96

事件驅動形式 SOA

• 傳統互動方式中,所有服務是由服務用戶端所發動,但在大型複雜系統中, SOA 架構下可能有十餘個大型系統間藉由服務介面串接而成,單靠用戶端發動來使用服務,可能不足以反應真實業務面的快速變遷。

• 一個服務請求發出後,自動觸發相關需要配合之應用系統,此一應用需求已經超越了傳統 SOA 所能處理的範疇,必需要搭配,能夠處理複雜事件的中介軟體才可達成,這便是事件驅動形式的 SOA 。

Page 97: 車載資料庫服務系統 Part 1

97

務實之 SOA 導入方式• 定義清楚 SOA 導入目標

– 組織的問題與挑戰 ?• 明確定義 SOA 專案的範圍

– 不應該徹底翻新整個 IT 基礎架構。• 避免因 SOA 而進行 SOA

– 並非所有應用採行 SOA 都適用。– 巨量資料搬動或要求極短回應時間不適合。– 過多小粒度的服務模組相互交錯叫用不適合。

• 正確描述現有業務流程與找出核心流程– 無法清楚描述現有業務流程,就更無法判斷該專案規模與範圍。