崑山科技大學 -...

52
崑山科技大學 資訊傳播系 四年制大學部 專題製作報告 多媒體互動展示平台 組員:4940C031 王源輔 4940C034 蔡宏偉 4951C003 蔡昀璋 指導老師:陳淵琮老師 中華民國九十八年四月

Upload: others

Post on 03-Jun-2020

24 views

Category:

Documents


0 download

TRANSCRIPT

  • 崑山科技大學

    資訊傳播系

    四年制大學部

    專題製作報告

    多媒體互動展示平台

    組員:4940C031 王源輔 4940C034 蔡宏偉 4951C003 蔡昀璋

    指導老師:陳淵琮老師

    中華民國九十八年四月

  • 多媒體互動網路平台

    專題生:蔡宏偉、王源輔、蔡昀璋

    崑山科技大學資訊傳播系

    摘要

    現今資訊爆炸的時代,網際網路幾乎成為現在人的生活必需品,很多事情都

    可以透過網際網路來進行,以前要開會議必須要全部人員到達現場才可進行,今

    天只要透過一只小小的 WebCam 和一部可連上網路的 PC,就可以進行視訊會議,

    不僅方便,也可以省去很多麻煩。

    在網際網路中,網路平台提供了全球眾多網友的一個資訊交流的空間,讓很

    多資訊、資料與想法在此快速交流,尤其像是 Google、Yahoo、MSN…這些全球性

    並且受到大家愛用的網路平台,功能不斷推陳翻新,每次改版新增的功能總是受

    到網友們熱烈討論,再加上結合串流技術而誕生的新世代網路平台:YouTube 的竄

    起與全民的百科全書:Wikipedia 維基百科全書的出現,不僅顯現出網路平台於網

    際網路已經是不可缺的主角,並結合「互動」與「多媒體」的網路平台,加上後

    台資料庫系統的支援,更是受到眾多使用網際網路的網友們愛戴,由此可見:互

    動多媒體網路平台已經成為網際網路中最受到矚目的焦點了!

    關鍵詞:串流多媒體、網路平台、資料庫、.NET、Silverlight

  • 目錄 一、前言 .......................................................................................................................1

    1.1 研究緣起........................................................................................................1

    1.2 研究目標.........................................................................................................2

    二、文獻回顧 ...............................................................................................................3

    2.1 Windows Server 2003 簡介 .............................................................................3

    2.2 Apache簡介......................................................................................................3

    2.3 ASP.NET簡介 ..................................................................................................4

    2.4 ASP.NET網頁執行原理 ..................................................................................5

    2.5 串流多媒體的簡介.........................................................................................5

    2.5.1 串流多媒體簡史..................................................................................5

    2.5.2 串流多媒體原理..................................................................................6

    2.5.3 串流多媒體傳送方式..........................................................................7

    2.5.4 常見的串流多媒體種類......................................................................8

    2.5.5 三大串流多媒體比較表....................................................................10

    2.5.6 串流多媒體的優點............................................................................10

    2.5.7 串流相關協定簡介............................................................................ 11

    2.6 Silverlight簡介...............................................................................................12

    2.6.1 XAML.................................................................................................12

    2.6.2 Silverlight執行步驟............................................................................13

    2.7 資料庫簡介....................................................................................................14

    2.7.1 資料庫簡史........................................................................................15

    2.7.2 資料庫的優缺點................................................................................16

    2.7.3 SQL語言簡介 .....................................................................................17

    2.7.4 Access資料庫系統簡介 .....................................................................18

    2.7.5 Microsoft SQL Server資料庫系統簡介 .............................................18

    2.7.6 MySQL資料庫系統 ...........................................................................19

    2.7.7 MySQL資料庫簡介 ...........................................................................19

  • 2.7.8 ODBC簡介 .........................................................................................19

    三、研究方法 .............................................................................................................20

    3.1 網路及硬體規格、開發環境.......................................................................20

    3.1.1 網路環境.............................................................................................20

    3.1.2 伺服器硬體環境.................................................................................20

    3.1.3 開發環境.............................................................................................20

    3.2 伺服器架構...................................................................................................21

    3.3 伺服器串流效能測試(一).......................................................................22

    3.3.1 Client端...............................................................................................22

    3.3.2 Server端設定 ......................................................................................22

    3.3.3 測試結果與數據................................................................................23

    3.3.4 補充說明............................................................................................23

    3.4 伺服器串流效能測試(二).......................................................................23

    3.4.1 Client端...............................................................................................23

    3.4.2 Server端設定 ......................................................................................24

    3.4.3 測試結果與數據................................................................................25

    3.4.4 補充說明............................................................................................25

    3.5 .NET連接MySQL..........................................................................................25

    3.5.1 前備軟體............................................................................................25

    3.5.2 測試流程............................................................................................26

    3.5.3 開發流程簡介....................................................................................26

    3.5.4 結論....................................................................................................30

    3.6 資料庫規劃表...............................................................................................30

    3.7 網路程式規劃...............................................................................................30

    3.8 Sliverlight發展流程.......................................................................................31

    3.8.1 Silverlight開發過程(一)................................................................31

    3.8.2 Silverlight開發過程(二)................................................................35

    四、解決方法與討論 .................................................................................................37

  • 4.1 發展前中後期所遇到的問題.......................................................................37

    4.1.1 實做之前所遭遇的問題.....................................................................37

    4.1.2 各項軟體發展中遇到的困難.............................................................38

    4.1.3 整合時所遇到的困難.........................................................................41

    4.2 結論................................................................................................................42

    4.3 未來發展........................................................................................................42

    五、參考資料 .............................................................................................................43

  • 圖目錄 圖 1、ASP.NET 執行示意圖…………………………………………………………...5

    圖2、串流媒體示意圖(一)……………………………………………………………6

    圖3、串流媒體示意圖(二)……………………………………………………………7

    圖4、單播示意圖………………………………………………………………………7

    圖5、廣播示意圖………………………………………………………………………8

    圖 6、Silverlight 執行示意圖…………………………………………………………13

    圖 7、ODBC示意圖………………………………………….……………………….20

    圖8、伺服器架構圖…………………………………………..………………………21

    圖9、.NET透過ODBC連結MySQL示意圖………………………………………..26

    圖 10、.製作過程(一)………………………………………………………………27

    圖 11、.製作過程(二)………………………………………………………………27

    圖 12、.製作過程(三)………………………………………………………………28

    圖 13、.製作過程(四)………………………………………………………………28

    圖 14、.製作過程(五)………………………………………………………………29

    圖 15、.製作過程(六)………………………………………………………………29

    圖 16、Silerlight 執行流程圖…………………………………………………………31

    圖 17、Silverlight 開發圖(一)………………………………………………………..32

    圖 18、Silverlight 開發圖(二)………………………………………………………..32

    圖 19、Silverlight 開發圖(三)………………………………………………………..33

    圖 20、進入Visual Studio以利程式開發…………………………………………….33

    圖21、成果(一)………………………………………………………………………34

    圖22、成果(二)………………………………………………………………………34

    圖23、電子書預覽(一)………………………………………………………………35

    圖24、電子書預覽(二)………………………………………………………………35

    圖25、電子書預覽(三)………………………………………………………………36

    圖26、電子書預覽(四)………………………………………………………………36

    圖27、電子書預覽(五)………………………………………………………………37

  • 表目錄 表 1、Windows Server 2003 功能表…………………………………………………7

    表2、三大串流媒體格式使用率………………………………………………………9

    表 3、串流伺服器列表………………………………………………………………10

    表4、資料庫類型比較表……………………………………………………………..15

    表 5、SQL 演進表…………………………………………………………………….18

    表6、資料庫分類表…………………………………………………………………..30

  • 一、前言

    1.1 研究緣起

    網際網路從 90 年代快速興起,「Internet」已跨越全球任何障礙,截至

    2006 年為止,全球已經擁有超過 8 億的網際網路用戶數量,甚至有統計顯

    示,預計 2009 年時,全球網際網路用戶數量將會突破 10 億人口,如此驚人

    的數字,一定會繼續成長下去。使用網際網路的用戶數那麼龐大,不管此網

    路平台是以何種形式存在,都是這十億人口最佳的互動與交流的平台,但是

    對於容量較大的檔案,不方便在這些網路平台上交流,因應此情況,發展出

    了串流媒體,讓檔案較大的影片,可以在下載的同時透過串流技術,也可一

    邊觀賞影片或聆聽音樂。

    雖然眾多網路平台都有提供所謂的「串流影音」的服務,不過爲了應付

    眾多的使用者、有效利用網路平寬與增加伺服器的運作效率,在上傳以後會

    被壓縮較符合快速傳輸的串流格式,這樣都會犧牲掉影片畫質和影片的解析

    度。系上有不少同學、教師作品都與拍攝、攝影有直接關連性,爲了完整保

    有系上作品的品質,呈現最完整、最漂亮的畫面在大家眼前,因此本研究將

    採用 Windows Media Service 9 串流媒體伺服器,結合微軟最新跨平台動畫

    技術:Silverlight,加上微軟所提供的網站開發技術:ASP.NET2.0,並搭配

    Access 後端資料庫系統,建置一個互動多媒體網路平台。

    -1-

  • 1.2 研究目標 為符合系上高畫質影片作品與立即發佈的需求,主要著重在結合 Http

    網站建置與串流媒體伺服器的結合,達到影片或其他作品立即上傳,立即可

    以發佈到網路上的功能,而網站必須要有個管理的介面,對於整個網站網後

    的管理、備份與維護會比較方便,因此本研究的目標為:

    1. 以 Windows Server2003 作業系統,使用 Apache(版本為 2.0),建

    置一個提供系上老師與同學們上傳影片與其他作品,可以立即線上

    觀賞轉發佈的網站。

    2. 以微軟開發的伺服器端運算腳本為基礎,使用 C#程式語言來撰寫

    ASP.NET 網頁程式。

    3. 以 Windows Media Server 9 串流媒體伺服器為平台,提供網站裡所

    有會用到影音多媒體的部分,達到串流的功能與目的。

    4. 使用 Microsoft Silverlight 技術,將影像、視訊、動畫和文字等與 Http

    網頁作結合。

    5. 結合 Access 資料庫系統,將使用者的資料匯入至資料庫內,讓網站

    管理者更便於新增、刪除、查詢與修改資料,並可以提高使用者資

    料的安全性。

    -2-

  • 二、文獻回顧

    2.1 Windows Server 2003 簡介

    Windows Server 2003 是微軟公司旗下的伺服器作業系統,於 2003 年 4

    月發行,此作業系統一共有四種版本,而此研究使用版本為企業版(Windows

    Server 2003 Enterprise Edition),硬體規格最多支援八個處理器、4GB 以上的

    主記憶體(主記憶體最低需求為 256MB),每個版本之間對於硬體及可支援

    之功能都略不相同。前一代版本為 Windows Server 2000,最新版本為

    Windows Server 2008(2008 年 3 月發行)。Windows Server 2003 可架設的伺

    服器有:Http 伺服器、憑證與 SSL、Mail 伺服器、Wins 伺服器、DNS 伺服

    器、IAS 伺服器等。

    表 1、Windows Server 2003 功能表

    功能 標準版 企業版 Datacenter Edition Web Edition

    RAM Maximum 4G 4G 以上 4G 以上 2G

    Asp.net 支援 支援 支援 支援

    Media Server 支援 支援 支援 不支援

    IIS 內建 內建 內建 內建

    .NET Framework 支援 支援 支援 支援

    Access 資料庫 支援 支援 支援 支援

    熱插拔記憶體 不支援 支援 支援 不支援

    2.2 Apache簡介

    最初由伊利諾大學香檳分校的國家超級電腦應用中心開發,目前由

    Apache 軟體基金會負責開發。在 Apache 問世後,GUN 團體成員便對此軟

    體產生強大的興趣,並不斷進行研究與加強,讓 Apache 成為「安全又可靠」

    的伺服器之一,當今 WebServer 約略 49.41%是採用此伺服器軟體來建置。

    由於 Apache 相當受到歡迎,因此也發展出適用跨平台的版本,本研究採用

    -3-

  • Apache 2.0.63 for Windows 版本,搭配 Apache 的 API 擴充功能,將 ASP.NET

    的編譯器應用到 Apache 伺服器中,讓 C#.NET 開發出來網頁程式編譯後再

    傳送給瀏覽者。Apache1.0 與 2.0 版之間最大的差異是改善「執行緒」,藉此

    改善網站的執行效率,並可以在跨平台的領域達到更好的表現,增加對 IPv6

    的支援與更多的 Apache API 擴充應用性。

    2.3 ASP.NET簡介

    ASP.NET 是由微軟公司所提供的網站開發技術,程式設計師、網頁開

    發人員可以利用這些技術來建置一個網站。 ASP.NET 是承襲微軟前一代網

    站、網頁開發技術 ASP 而來,但是兩者之間確有著很大的差異。簡單來說,

    ASP.NET 微軟公司以 ASP 為基礎,將其重新改造之後的產品,並且和所有

    的 Microsoft .NET 的應用程式建構在 CLR 的基礎上。開發人員們可以使

    用.NET 平台所支援的程式語言,諸如:JavaScript .NET、VB.NET 或 C#…

    來撰寫 ASP.NET 程式,當然此平台也包含 Open Source 領域的語言,像是

    Perl、Python 等。如果把 ASP 拿來跟 ASP.NET 做個比較,最大的差異在於

    執行效率上的不同,其原因在於 ASP 每次讀取網頁都必須逐一編譯程式碼,

    而 ASP.NET 則是執行編譯過的原生機器碼,除此之外更對物件模組做了大

    幅度修改,更加結構化與物件導向,而 ASP.NET 也引進了新的 Code Behind

    模式、新 Data Access 技術,原本的 SQLConnection、SQLCommand 等

    ADO.NET 元件都被新的 DataSource 架構所取代,讓程式碼更精簡,開發過

    程更方便。

    -4-

  • 2.4 ASP.NET網頁執行原理

    瀏覽者

    交由伺服器執行.aspx 網頁

    存取資料庫

    (如果有需要)

    資料庫系統

    瀏覽者實際看到的網頁

    編譯 ASP.NET

    瀏覽要求 瀏覽

    伺服器編譯 回覆要求

    圖 1、ASP.NET 執行示意圖

    2.5 串流多媒體的簡介

    通常多媒體的檔案比起一般檔案會較大,如果要等到檔案完全下載到自

    己電腦上再開啟,需要花費很龐大的時間,而串流多媒體為了解決此問題而

    因應誕生。

    2.5.1 串流多媒體簡史

    在網際網路甫出現的年代,串流媒體是一大瓶頸,要如何把影像與

    聲音在網路上快速流通,是件非常困難的事情,直到 Vxtreme 公司發展

    了以影片為導向的串流技術 Vxtreme Theatre,此問題才得到解決。不久

    以後,RealNetwork 公司也開發了 RealVideo 與 RealAudio,串流多媒

    體大戰正式進入白熱化。後來微軟公司併購了 Vxtreme 公司,並成立了

    -5-

  • Streaming Media Division,將技術提升至 Mpeg4 規格,隨後 Apple 與

    Adobe 也各自發展出串流多媒體,讓現今的串流多媒體更多樣化。

    2.5.2 串流多媒體原理

    傳統要在網路上觀看影音檔案,都必須下載在個人電腦然後並使用

    對應的播放軟體來觀看,不但耗時且效率極差。這些內容都會存取在個

    人電腦當中,不但有可能造成硬碟空間不足,也可能侵犯到作者的著作

    權,在傳統頻寬普遍不足的狀況下也只能如此。

    串流媒體的問世就是為了因應上述這些問題而產生,在串流伺服器

    收到用戶端提出要求的時候,這時它會將影音檔案分割成很多的封包,

    然後將這些封包同時傳送給用戶端,等封包傳送到用戶端,再將封包組

    合起來,然後呈現在用戶的眼前。而這訊號就如同排隊進門的人們一

    樣,源源不絕的串接起來,形成一個持續不斷的訊號流,這就是為什麼

    這項技術會被稱為串流媒體的原因了。簡單的譬喻圖文解釋如下:

    一頁一頁地傳送書本 一頁一頁地收取書本

    圖 2、串流媒體示意圖(一)

    串流伺服器會將檔案拆解成較小的片段,接下來進行緩衝處理,持

    續將處理過後的封包傳送給瀏覽者,瀏覽者透過相對應的播放軟體一邊

    接收封包,一邊將其轉換成可供瀏覽者觀看的影像與聲音,達到一邊下

    載,又可一邊觀看的效果,底下有個簡單的示意圖:

    -6-

  • 圖 3、串流媒體示意圖(二)

    2.5.3 串流多媒體傳送方式

    傳送方式可分為兩種,一種是單播,一種是組播。

    單播(Unicast):

    簡單來說就是一對一,伺服器與用戶端必須單獨建立一條資料通

    道,每個資料封包只可以傳給一個用戶端,此種傳送方式瀏覽者擁有較

    多的控制權力,可以控制播放、暫停、停止、快轉甚至播放的進度,但

    是對於網路頻寬的需求也相對較大。

    圖 4、單播示意圖

    組播(Unicast):

    -7-

  • 透過 IP 組播技術,一台伺服器可透過支援 IP 組播技術的路由器對

    多台用戶端發送封包而無延宕,此種傳送方式對於伺服器的效能會提高

    很多,而且對於網路頻寬也較能有效率的使用,但是使用者對於播放中

    的多媒體,幾乎只能擁有開與關閉的功能,無法自由快轉、控制播放的

    進度。

    圖 5、廣播示意圖

    2.5.4 常見的串流多媒體種類

    微軟公司:

    伺服器端:Microsoft Media Serveice 系列

    用戶端:Microsoft Media Player 系列

    RealNetwork 公司:

    伺服器端:RealNetworks Media Servers 系列

    用戶端:Real Player 系列

    Apple 公司:

    伺服器端:QuickTime Darwin Streaming Server 系列

    用戶端:Basic QuickTime4 Movie Player 系列

    Adobe 公司:

    伺服器端:Flash Media Server 系列

    用戶端:Adobe Flash Player 系列

    -8-

  • 表 2、三大串流媒體格式使用率(來源:Nielsen//NetRatings, November 2000)

    2000 年 7 月 2000 年 11 月 增加人數 成長率

    Windows Media 10.9 million 13.2 million 2.3 million 20.7%

    RealNetworks 27.1 million 27.7 million 0.6 million 2.3%

    Apple QuickTime 8.1 million 7.9 million -2 million -2.5%

    近年來由於 Windows Media 免費搭載在 Windows 作業系統中,使

    得用者大幅提升,已有追上 RealNetworks 的趨勢;此外新興的 Flash

    Player 也是不容小覷的新勁敵,諸如知名影音網站 Youtube、MySpace

    都採用 Flash Player 串流規格與伺服器。

    -9-

  • 2.5.5 三大串流多媒體比較表

    表 3、串流伺服器列表

    Real System Windows Media QuickTime

    播放器 Real Player Media player QuickTime Player

    Real Player

    主要協定 RTSP+(UDP &

    RTP) MMS+(UDP or TCP)RTSP+(UDP & RTP)

    是否支援 HTTP YES YES YES

    是否支援 SMIL YES YES YES

    是否支援基本的

    網路管理 YES YES YES

    數位著作權管理 YES YES YES

    遠端編碼控制 NO YES YES

    支援 OS 系統

    Windows/Linux

    Solaris/ HP/UX

    IBM/AXIs

    Windows

    MAC OS X

    調整傳輸率 YES YES YES

    支援檔案格式

    RM、RMVB、

    WMV、ASF、

    MOV、MP3

    ASF、WMV、MOV、

    MP3、WMA MOV、WMV、MP3

    2.5.6 串流多媒體的優點

    1. 串流媒體可以讓使用者一邊下載一邊觀看,不需要等待太多的下載

    時間,結果發現載下來的東西不是使用者想要的。

    2. 觀看的影片或檔案不會直接存在於使用者電腦,可以避免大量耗費

    -10-

  • 硬碟空間的情況產生。

    3. 為目前網路現場直播的唯一方式,短時間內無其他技術可以取代。

    4. 傳送的檔案並無容量大小限制。

    5. 對於錄製好的影片(非現場直播)可以隨意的暫停、快轉、重播。

    6. 只要在伺服器許可以的情況下允許多人同時觀賞同一步影片。

    7. 允許限制影片的散佈及版權,不會讓影片被複製或存取在觀賞者的

    電腦之中。

    2.5.7 串流相關協定簡介

    RTF(Real-time Transfer Protocol):

    爲了處理即時特性的資料而產生的端對端傳輸協定。分為兩部份:

    RTF:

    主要負責資料的傳輸。

    RTCP:

    主要負責對 RTP Session 的參與者傳輸品質和服務品質控制,此外

    RTF/RTCP 並不保證傳輸可靠與否,也就是說它把資料丟出但並不保證

    參與者是否有收到訊息。

    RTSP(Real-time Streaming Protocol):

    簡單來說就是一個可以對多媒體服務做遠端控制的通訊協定,

    RTSP 的語法和 HTTP 非常相似,不同的在於 RTSP 會讓參與的兩方互

    動來完成工作。而使用 RTSP 協定中的各種方法,可以達成對串流媒體

    的控制,非常方便。

    SDP(Session Description Protocol):

    類似 HTML 的標記語言,嚴格來說不太像是通信協定。它可以被

    包括在 SIP、RTSP、SAP、HTTP 中,算是用途很廣泛的一種協定。

    SMIL(Synchronized Multimedia Integration Language):

    一個具有很好整合力的通信協定,是由 W3C 所提出具有擴充性標

    -11-

  • 準的協定。舉例來說如一張圖片在哪個地方 Show 出來幾秒後音樂播放

    等等,另外由於 SMIL 是以 XML 為基礎,所以雖然語法跟 HTML 很像

    但卻有著更嚴謹的語法結構。

    2.6 Silverlight簡介

    Microsoft Silverlight,是微軟公司開發的跨瀏覽器、跨平台的 RIA

    web 技術,融合了,Silverlight 在讀取資料與更新顯示的過程中,不會

    重新整理整個網頁而中斷使用者的操作,目前最大的競爭對手為 Adobe

    公司旗下的 Flash。外觀 Silverlight 看起來功能與 Flash 部分雷同,但是

    Silverlight 跟.NET 一脈相成,也改善了 Flash 連結資料庫能力較弱的部

    分,加強了 Flash 不足的地方,Silverlight 最大的特色是「把 Windows

    Media Video 格式不著痕跡地嵌入瀏覽器中」,讓影片的安全性與整個網

    頁完美結合,不僅與美國職棒大聯盟官方網站達成合作共識,也與目前

    都採用 Flash 顯示影片的 Brightcove 部分支援 Silverlight 技術, 2008

    年英國知名新聞媒體 BBC,也採用 Silverlight 技術來轉播北京奧運所有

    比賽。

    2.6.1 XAML

    屬於 Windows Presentation Foundation 的一部分,擁有 HTML 的外觀,

    亦含有 XML 語法特質的描述性語言,簡單來說是微軟基於 XML 所開發出

    來的.NET Programming Language 之一。

    Silverlight 的特點:

    廣泛的網路應用

    支援向量繪圖、向量圖形

    支援攜帶式裝置

    整合現有網路開發技術與資源

    降低開發成本

    -12-

  • 快速部屬

    保護網頁內容防止遭拷貝

    能與現有網站開發技術互相整合

    (含 ASP、.NET、AJAX、JSP、PHP 等)

    一個 Silverlight 的專案檔裡,至少會有四種檔案格式,分別為:

    顯示內容的 HTML 檔案

    aghost.js,以及 eventhandlers.js 兩個檔案

    XAML 檔案

    JavaScript 檔案

    2.6.2 Silverlight執行步驟

    1. Silverlight 從網頁呼叫 Silverlight control

    2. 載入並執行 XAML 檔案

    3. 呈現在頁面上供瀏覽者觀看

    圖 6、Silverlight 執行示意圖

    -13-

  • 2.7 資料庫簡介

    資料庫簡單來說是相關資料的集合,並且有不同程度的複雜度,可以被視為

    能夠進行自動查詢和修改的資料集,資料庫有很多種型式,從最簡單的儲存有各

    種資料的表格,到能夠進行海量資料存儲的大型資料庫系統,在各個方面得到了

    廣泛的應用,資料庫可以由人工或是藉由電腦來產生並進行維護與管理,而完整

    的資料庫系統在 ANSI、SPARC 結構下,可分為外部層、概念層與內部層,以下

    是常見的幾種資料庫結構:

    階層式資料庫:

    資料以樹狀的形式建構,要存取資料時從樹狀的根部開始沿著

    Node 節點逐一的去尋找所需要的資料,階層式資料庫設計和使用都很

    簡單,存取速度也很迅速,較適合大量資料記錄和固定查詢的應用系

    統,較常使用於航空公司的訂位系統、銀行的自動提款機…

    網狀式資料庫:

    網狀式資料庫的資料組成類似網狀,資料間是多對多的關係存在。

    若要查詢資料時必先找到通往該資料的存取路徑,才能順利找到,網狀

    式資料庫比起階層式資料庫複雜許多,資料太多時運作的效率也會大大

    的降低,同時資料更新和維護也都較為不易,但是資料不會重複、彈性

    較大、提供實體資料獨立是最大的優勢。

    關聯式資料庫:

    關聯式資料庫裡的所有資料都是以二維形式表格儲存,只要在檔案

    間有相同的資料欄位存在,那麼多個檔案間的資料,便可以互相交換使

    用,或是合併,這也是目前應用最廣泛的資料庫結構。

    分散式資料庫:

    分散式資料庫允許開發用戶的應用程式分布在不同地方,資料庫藉

    由 cluster、網際網路,把一個大的事物分散到 cluster 中的多個節點去執

    行,提高了資料庫的吞吐量和容錯性,由於資料分散於各個資料庫中,

    大大提升資料庫的安全性,但也因為資料庫分散於各地,管理上也增加

    -14-

  • 許多困難。

    物件導向式資料庫:

    物件導向式資料庫是一種以對象形式表示訊息的資料庫,在純物件

    導向式資料庫中,資料以物件的形式儲存,這些物件只能由其所屬的類

    中定義的方法來操作,藉此可以達到查詢資料更有效率的目的,這是因

    為無需查詢只需通過指針就可以直接獲得對象。

    表 4、資料庫類型比較表

    2.7.1 資料庫簡史

    資料庫技術最初產生於 20 世紀 60 年代中期,根據資料模型的發

    展,可以劃分為三個階段:第一代的網狀、階層資料庫系統;第二代的

    關聯資料庫系統;第三代的以面向物件模型為主要特徵的資料庫系統。

    第一代資料庫:

    全球最早的資料庫在 1969 年由 IBM 研發的階層式資料庫和

    70 年代初期由美國 CODASYL(資料系統語言協會)的下屬:資

    料庫任務組—DBTG 提議的網狀模型。階層式資料庫的資料模型像

    是樹狀圖一般,一層一層不斷延伸下去,網狀模型則像是蜘蛛網,

    每個資料間就像網子一樣,相互連接著,但是這兩種資料庫的出現

    奠定了現代資料庫發展的基礎。

    -15-

  • 第二代資料庫:

    和前一代資料庫最大的不同,第二代資料庫的特徵是出現了關聯資

    料的概念,其包含了:資料結構、關係操作、資料完整性。關聯概念具

    有以下特點:

    1. 關聯單一概念,實體和實體之間的相關性用關聯來表示。

    2. 以關聯數學為基礎。

    3. 資料的物理儲存和存取路徑對用戶不透明。

    4. 關聯資料庫語言是非過程化的。

    第三代資料庫:

    由於資料庫越來越普及,甚至擴展到各行各業中,因此關聯式資料

    庫已經無法滿足使用者們的需求,因此產生了第三代資料庫,其最大不

    同在於以下幾點:

    1. 支援資料管理、物件管理和知識管理。

    2. 保有和繼承了第二代資料庫系統的技術。

    3. 跨系統平台,支援資料庫語言標準,支援標準網路協定。

    4. 有良好的攜帶性、連接性、擴展性和操作性。

    第三代資料庫支援多種資料類型如:關聯式資料庫…並和諸多新技

    術相結合,如:分佈處理技術、平行運算技術、人工智慧技術、多媒體

    技術、模糊理論…並廣泛應用於多種領域裡,由此也不斷衍生出多種新

    的資料庫技術。

    2.7.2 資料庫的優缺點

    優點:

    1. 共享性:

    資料庫內的資料可被多人共享

    2. 完整性:

    資料庫內的資料不能被任意修改,應保持其完整性

    -16-

  • 3. 獨立性:

    指應用程式不與資料的內部儲存方式有任何關聯,達到資料的獨立

    4. 安全性:

    可以利用存取控制及加密方法來保證資料庫中資料的安全性

    5. 無重複性:

    同一份資料在資料庫中只會被儲存一份,減少系統的複雜度

    6. 一致性:

    由於資料庫內的資料不會被重複,因此一致性也自然成立

    缺點:

    1. 整體作業成本會增加

    2. 必須要有專業的資料庫人員

    3. 需經常備份,否則意外狀況將造成重大傷害

    2.7.3 SQL語言簡介

    SQL(Structured Query Language)語言可分為三個部份:

    1. 資料定義語言,Data Definition Language 簡稱 DDL:

    可利用此種語言來建立新的表格,或刪除原來已存在的表格。

    2. 資料處理語言,Data Manipulation Language 簡稱 DML:

    可利用此種語言來對已建立好的表格進行新增、刪除、修改、存取、

    搜尋與更新資料等動作。

    3. 資料控制語言,Data Control Language 簡稱 DCL:

    可利用此種語言來控制對資料庫中資料的存取權限,達到保護資料

    安全的目的

    -17-

  • 2.7.4 Access資料庫系統簡介

    Access 是微軟公司在 1992 年 11 月開始所發佈的關聯式資料庫管理系

    統,現今配置於 Microsoft Office 系列中的資料庫系統,適合用於個人、SOHO

    族或中小企業使用的桌上型資料庫系統,其特點是它結合了 Microsoft Jet

    Database Engine 和圖形用戶介面。Access 資料庫屬於入門階級的資料庫系

    統,它使用便利與強大的設計工具,可以在不需要撰寫到任何程式碼的情況

    下建立資料庫來儲存與管理資料,因而受到使用者的愛戴,但是 Access 其

    功能與擴充性的不足,可能導致經驗不足的開發者在過度樂觀導致判斷錯誤

    的情況下,達不到預期中的效果甚至產生意料外的錯誤。

    2.7.5 Microsoft SQL Server資料庫系統簡介

    Microsoft SQL Server 的簡稱,是微軟公司針對企業級市場的主力資料

    庫產品,最新的版本是 SQL Server 2008,於 2008 年推出,此資料庫遵循

    ANSI-SQL 規格且擴充其功能的查詢語言。SQL Server 系列初始版本數個較

    適用於中小企業的資料庫管理,但是近年來應用範圍有所擴展,已經觸及到

    大型、跨國企業的龐大資料庫的領域。此套資料庫系統也針對初學者提供免

    費的 Express 版。SQL Server 2005 在資料庫核心做了相當大的改變,將.NET

    整合到資料庫引擎中,開發人員除了可用原有的 T-SQL(Transact-SQL)語

    法進行開發之外,也可使用.NET 語言進行開發,另外在介面整合、高可用

    性、安全性與商業智慧等方面,均做了相當大的強化與更新。

    表 5、SQL 演進表

    -18-

  • 2.7.6 MySQL資料庫系統

    通常開發.NET 的人員鮮少會使用 MySQL 來當作後端資料庫系統,由

    於在本研究初期時整體網站規模尚在評估中,因此嘗試與市面上較常見的資

    料庫系統做連結。.NET 開發人員較常使用 MSSQL 或是 Access 結合,因為

    同樣為 Microsoft 所開發,在開發網站過程也較為方便,但是 MySQL 是市

    面上常用的資料庫系統之一,因此 MySQL 與.NET 的連結也成為研究題材

    之一。

    2.7.7 MySQL資料庫簡介

    常用於建置網站的另一種資料庫系統,在「LAMP」裡面站有很重要的

    地位。MySQL 是原始碼開放的小型關聯式資料庫,是瑞典 MySQL AB 公司

    所開發,在 2008 年 1 月 16 日 SUN 公司正式宣布併購 MySQL。MySQL 目

    前被廣泛運用於網際網路中,除了免費、原始碼開放的優點以外,其體積小、

    速度快,許多中小型網站為了降低總成本通常會選擇使用 MySQL 做為網站

    的後端資料庫系統。

    2.7.8 ODBC簡介

    Open Database Connectivity 的簡稱,提供了一種標準的 API 方法來溝通

    資料庫並執行任務,而使用者也可將 SQL 語法傳送至 ODBC,經由 ODBC

    再轉送給資料庫。ODBC 朝著獨立性和開放性的方面發展:與具體的程

    式 言無關,與具體的資料庫系統無關,與具體的作業系統無關。簡單來說 ODBC

    是個資料庫與其他應用程式、程式語言的驅動程式,只要透過 ODBC 協定,

    在此資料庫符合 ODBC 的協定條件下,都可以透過 ODBC 與資料庫進行查

    詢、新增、刪除、更新的動作。

    -19-

  • 圖 7、ODBC 示意圖

    三、研究方法

    3.1 網路及硬體規格、開發環境 3.1.1 網路環境

    TANet 100Mbps 標準高速乙太網路

    3.1.2 伺服器硬體環境

    中央處理器:Intel Core2 Dou E6300 1.86GHz

    主記憶體:DDR2 667MHz 1024MB

    硬碟規格:Samsung HD160JJ 160GB

    主機板:北橋晶片 Intel Wyloway i975x

    南橋晶片 Intel 82801GR ICH7R

    網路卡 Broadcom Nerxtreme Gigabit Ethernet

    顯示卡:ATI FireGL V3300 128MB

    3.1.3 開發環境

    作業系統:Windows Server 2003 Enterprise Edition SP2

    開發平台: .Net Framwork 2.0 SDK

    Microsoft ASP.NET2.0 AJAX Extensions 1.0

    Silverlight2.0 SDK Bate2

    -20-

  • Microsoft Visual Web Developer 2005 Express 版

    Microsoft Visual Studio 2005

    Microsoft Expression Blend 2.5 March 2008 Preview

    Microsoft Office Access 2003

    Adobe Photoshop CS3

    防火牆:COMODO FireWall Pro 2.4 版

    3.2 伺服器架構

    本研究採用 Windows Server 2003,而 Silverlight 並不需要使用到其他的伺服

    器,所以主要使用內建的 Windows Media Services 與 Apache2.0 兩種,再加上一

    套編碼器的軟體,採用微軟公司的 Windows Media Encoder 9,此套軟體屬於免

    費軟體,也可直接建立 Live 頻道。在用戶端需要使用的應用程式為 Windows

    Media Player 與 Microsoft Internet Explorer,這兩套軟體都會內建於微軟作業系統

    內,不需要另外安裝播放器、瀏覽器。

    圖 8、伺服器架構圖

    -21-

  • 3.3 伺服器串流效能測試(一)

    由於本伺服器硬體架構並非屬於專業伺服器等級之平台,爲了讓伺服器運作

    達到最佳化的目的下,又可以讓硬體效能完全發揮出來,所以做了此次測試,此

    測試又可分為兩個部份,目的是針對不同情況下找出伺服器能負荷的最大極限,

    再針對這些數據對於系統作管理。

    3.3.1 Client端

    Client 電腦:

    硬體規格:

    CPU:Intel Pentium D 3.2GHz

    主機板:北橋 Intel 945G

    南橋 Intel 82801G ICH7

    主記憶體:DDR2 667MHz 2GB

    顯示卡:NVIDIA 7300GT 256MB

    網路卡:Broadcom Netxtreme Gigabit Ethernet

    軟體規格:

    Windows XP SP2

    Windows Media Player 10(未安裝任何外掛編碼器)

    Microsoft Internet Explorer 6

    電腦數量:

    30 部

    3.3.2 Server端設定

    串流檔案規格:

    格式:WMV 容量:1.22GB

    -22-

  • 影片長度:00:42:15 影像規格:720*480

    視訊資料速度:4000KMHz 資料串流名稱:video 1

    音訊:4161kbps 音訊範例大小:16 位元

    音訊頻道:雙聲道 音訊取樣速率:44kHz

    串流伺服器設定:

    1. 伺服器的設定皆為預設值,未使用插入式廣告與包裝函式廣告

    2. 本測試採用單播方式進行

    3.3.3 測試結果與數據

    尖峰連線數:25

    尖峰流量數:108423kbps

    3.3.4 補充說明

    當播放程式到達 26 部時,伺服器網路頻寬幾乎滿載,client 端的串流緩

    衝很明顯的時間拉長,到達 27 時則會有一、兩部斷線,到達第 28 部,緩衝

    時間 2~3 分鐘甚至更長時間仍然無法順利播放影片。

    3.4 伺服器串流效能測試(二)

    上次測試採取單一檔案測試,此次測試檔案採取混合式,測試檔案一共

    有五個,其中三個是 MP3 音訊檔,兩個是 WMV 影像檔,除此之外其他相關

    設定或環境與第一次測試幾乎相同,點閱方式採隨機點選。

    3.4.1 Client端

    軟、硬體設備與上次測試硬體完全相同。

    測試電腦連接數量增加至 35 部。

    -23-

  • 3.4.2 Server端設定

    串流檔案規格(一):

    格式:MP3 容量:8.54MB

    音訊長度:00:03:43 位元率:320kps

    音訊頻道:立體聲 音訊取樣速率:44kHz

    串流檔案規格(二):

    格式:MP3 容量:4.81MB

    音訊長度:00:03:30 位元率:192kbps

    音訊頻道:立體聲 音訊取樣速率:44kHz

    串流檔案規格(三):

    格式:MP3 容量:5.87MB

    音訊長度:00:04:16 位元率:192kbps

    音訊頻道:立體聲 音訊取樣速率:44kHz

    串流檔案規格(四):

    格式:WMV 容量:1.22GB

    影片長度:00:42:15 影像規格:720*480

    視訊資料速度:4000kbps 資料串流名稱:video 1

    音訊:4161kbps 音訊範例大小:24 位元

    音訊頻道:立體聲 音訊取樣速率:44MHz

    串流檔案規格(五):

    格式:WMV 容量:93.5MB

    影片長度:00:24:39 影像規格:704*396

    視訊資料速度:500kbps 資料串流名稱:video 2

    音訊:1095kbps 音訊範例大小:24 位元

    音訊頻道:立體聲 音訊取樣速率:44MHz

    串流伺服器設定:

    1. 伺服器的設定皆為預設值,未使用插入式廣告與包裝函式廣告

    -24-

  • 2. 本測試採用單播方式進行

    3.4.3 測試結果與數據

    尖峰:35 播放程式

    頻寬尖峰:37713kbps

    3.4.4 補充說明

    此次測試串流檔案一致,當 35 個使用者同時開啟播放程式時,使用總

    網路頻寬約只有上次的 37~38%之間,由此可知,串流檔案大小會直接影響

    伺服器效能和可連線數量。

    3.5 .NET連接MySQL

    現在網站功能越來越多,原本為了方便管理衍伸出的資料庫系統,因應

    時代趨勢也融合入網站系統內,在微軟的網站開發程式裡,同為微軟公司的

    Access 和 SQL Server 系列當然是最主要也是最常拿來跟.NET 一起開發的資

    料庫,透過開發工具內建的功能,就可以輕輕鬆鬆存取上述兩種資料庫系

    統,但是在除了 Access 和 SQL Server 以外,MySQL 資料庫也很普遍被使用,

    尤其取得容易且免費,更讓 MySQL 在眾多資料庫中佔有一席之地,要如何

    讓.NET 來連結 MySQL 資料庫,正是此次的測試主題,本測試選用的 MySQL

    資料庫為 5.1 版本。

    3.5.1 前備軟體

    資料庫主程式:MySQL 5.1

    ODBC:MySQL ODBC 5.1

    phpMyAdmin 2.10.2(僅用來比對資料庫內資料,非必須軟體)

    -25-

  • 3.5.2 測試流程

    1. 安裝 MySQL 5.1(安裝皆預設值,僅將編碼改為 BIG5)。

    2. 安裝 MySQL ODBC 5.1。

    3. 建立受測試資料表。

    4. 至控制台的 ODBC 管理員進行新增 ODBC 資料表。

    5. 進行網站開發測試。

    6. 檢查連結成功、資料是否相符。

    3.5.3 開發流程簡介

    .NET 透過 ODBC 連結 MySQL 原理:

    .NET(客戶端應用)透過微軟的驅動軟體管理模組(ODBC 資料

    來源管理者),經由安裝過的 MySQL ODBC 與 MySQL 進行連結,以後

    便可透過 MySQL ODBC 使用.NET 對資料庫的作業。

    圖 9、.NET 透過 ODBC 連結 MySQL 示意圖

    以下是研究的操作過程簡介:

    1.安裝好 ODBC 以後,到控制台的 ODBC 資料來源管理員進行設定

    -26-

  • 圖 10、.製作過程(一)

    2.至 MySQL 新增數筆資料

    圖 11、.製作過程(二)

    -27-

  • 3.進入 Visual Web Developer 2005 進行網頁開發

    圖 12、.製作過程(三)

    4.輸入資料庫存取帳號密碼

    圖 13、.製作過程(三)

    -28-

  • 5.測試網頁

    圖 14、.製作過程(四)

    6.比對資料,確定連結正常

    圖 15、.製作過程(五)

    -29-

  • 3.5.4 結論

    即使微軟預設的「ODBC 資料來源管理員」並未支援 MySQL 資料庫,

    但是也能透過 MySQL AB 公司所提供的 ODBC 來做為「驅動軟體」,輕鬆

    將.NET 與 MySQL,這可以讓網站開發人員除了微軟公司本身的資料庫系統

    以外,可針對個人或公司的需求、預算選擇出最適合的資料庫系統。

    3.6 資料庫規劃表

    本專題研究使用 Access 資料庫來存放所有資料,使用 ADO.NET 讓 ASP.NET

    來存取資料庫內的資料,以下為資料庫內的資料表規劃:

    表 6、資料庫分類表

    分類名稱 內容

    文章分類表 用紀錄文章分類與已發表文章數量

    回應列表 紀錄各文章的回應,並與部落格文章表建立關聯性

    部落格文章表 紀錄發表文章之標題、簡介與內容

    部落格多媒體 紀錄發表文章之檔案數量與檔案連結位置

    3.7 網路程式規劃

    本專題研究使用者對象為崑山科技大學資訊傳播系全體師生,必須得有

    帳號與密碼方能登入使用,登入身份又規劃為一般會員與管理者兩種身份,

    利用 ASP.NET 的權限管理功能來建立存取規則。一般使用者可瀏覽與使用

    的頁面全部放在 Page 資料夾內,但是匿名使用者與未登入的使用者並沒有

    權限進入與瀏覽,而管理者的權限除了可以存取 Page 資料夾之所有資料

    外,更可以存取 Data(存放管理頁面程式之資料夾)、File(存放多媒體檔

    案之資料夾),並可利用管理者頁面對資料庫內的資料進行新增、更新、刪

    除與查詢的動作。在不同網頁程式間要傳輸的資料使用 Session 與

    QueryString 暫存資料,以便讓下個網頁程式可以繼續未完成的處理。

    -30-

  • 3.8 Sliverlight發展流程 3.8.1 Silverlight開發過程(一)

    圖 16、Silerlight 執行流程圖

    Silverlight 執行動作如上:Silverlight 的程式關鍵在於 XAML 和 JS

    上 Xaml 以 xml 格式的指令碼,在畫面上繪製出向量元素,而 JS 檔則

    是透過程式碼來操控 xaml 檔的向量元素。安裝完 Microsoft

    Expression、Silverlight 系列套件以及 Microsoft Visual Studio 之後,開

    始進行開發。

    -31-

  • 圖 17、Silverlight 開發圖(一)

    圖 18、Silverlight 開發圖(二)

    -32-

  • 圖 19、Silverlight 開發圖(三)

    圖 20、進入 Visual Studio 以利程式開發

    -33-

  • 圖 21、成果(一)

    圖 22、成果(二)

    -34-

  • 3.8.2 Silverlight開發過程(二)

    圖 23、電子書預覽(一)

    圖 24、電子書預覽(二)

    -35-

  • 圖 25、電子書預覽(三)

    圖 26、電子書預覽(四)

    -36-

  • 圖 27、電子書預覽(五)

    四、解決方法與討論

    4.1 發展前中後期所遇到的問題 專題的最終核心放在 Silverlight 上,乍看之下好像在做 Microsoft 版的

    Flash 一樣,但是實做起來卻有很多比起 Flash 更多的問題存在,因為

    Silverlight 是 Microsoft 發展的軟體很多整合都要按照固定的規則,所以相對

    的軟體的選擇性也比較單一性,但相對得由上端到下端的支援有比較完整。

    現在我們將把我們所遇到的問題作一個彙整如下,希望有興趣繼續發展的人

    可不省去不必要得時間在嘗試錯誤上。

    4.1.1 實做之前所遭遇的問題

    1. 在我們決定以 Silverlight 作為專題的主軸之時,此套軟體不過才剛剛上

    市不到半年,雖然大家都躍躍欲試但是市面上可以參考的資料實在是寥

    寥可數,所以一開始的資料蒐集就是一個很頭大的問題,好在當初

    -37-

  • Microsoft 為了宣傳該軟體的上市,在各地方辦了許多的說明會,當然

    我們也把握時機在說明會獲得很多的資訊以及資料。另外在我們專題期

    間 Silverlight 版本以由 1.0 版更新至 2.0 版,經過我們使用的結果發現,

    版本的改動幅度非常的大,導致有很多地方都要重新的修改,所以專題

    在選擇軟體之時,因該要考量到軟體的版本是否已經有穩定版的發行,

    如果軟體還在測試階段或者是改動幅度很大,需考量是否選擇此軟體繼

    續作為發展的主軸,否則有可能遇到做好的東西在快完成的時候還要在

    做一次大規模的修改。

    2. 由於很多深入探討的文章都是以英文為主,光是花費在翻譯文章、瞭解

    其中意思的時間就耗去一大半,所以前期的文獻探討就需要花費很多的

    時間。

    3. 市面上雖然有少部份關於 Silverlight 的書籍,但大多數都是以基本的操

    作為主,所以在一些進階的部份實做的非常緩慢。我們的解決方式是將

    書籍的範例一個一個的實做,藉由在實做中打穩基礎,然後在一次一次

    的去修改直到符合我們的需求。

    4. 軟體的取得。由於系上並沒有採購此軟體,所以只能以 Microsoft 提供

    的免費版本為實做的使用,但免費軟體的使用權限畢竟沒有像完整版那

    樣完整,所以還是會有些許的功能上有缺失。

    4.1.2 各項軟體發展中遇到的困難

    Silverlight 部份:

    1. Silverlight 的程式語法總和了市面上許多程式優點,例如 VisualC

    ++、JAVA、ASP.NET 都可以支援,可是礙於組員先備程式能力只

    有基礎的程度,所以在選擇要使用哪種程式來實做反倒變成了一個

    困擾。解決的方法,最後還是以比較熟悉的 JAVA 來作為撰寫的主

    要工具程式。

    2. Silverlight 的程式架構關聯性很強,如果修改部份沒有做的很確

    實,很容易造成程式執行的錯誤,但是相對而言,因為關聯性強所

    -38-

  • 以只要有順序的去修改可以很容易的做出自己要的東西。解決的方

    法就是盡量按照其關聯性編寫,如此一來在修改與維護上就會變的

    比較容易。

    3. 主幹的程式已經編寫完成後,如果要加入自己想要的功能,需要繼

    續按造主幹的編寫方式進行,如果以自己的方式編寫的話,很有大

    的機會會造成程式執行的錯誤,解決的方法是一開始就要把主幹程

    式編寫完成再去發展其他功能,如果一開始先把功能加入在連同主

    幹程式一起寫會造成很多的錯誤。

    ASP.NET 部份:

    1. 登入權限規劃問題:

    專題開始時,原本就預計以本系的學員作品為展出的主要平

    台,因此為了保障所有人的權利一定要規劃登入的權限,防止被其

    他人事竄改或盜用。解決的方法為利用 ASP.NET 的權限規則設定

    資料夾的權限,讓其他不相干的人不得進入,所以在權限上我們現

    在只有管理者跟使用者兩者,未來使否有有參觀者的加入還在考慮

    之中。

    2. 網頁程式間資料溝通問題:

    原本是要將處理資料寫入 cookie 中,但是會有資料遭盜竊取

    的疑慮。所以我們解決的方法是將資料利用 Session 和 QueryString

    進行各網頁資料之中的傳遞,如此一來可以確保資料的安全疑慮提

    高對學員們資料的保障。

    3. ASP.NET 語言與資料庫選擇問題:

    當初以 VB.NET、C#.NET 作為主要的語言選擇,最後決定以

    C#.NET 為主,主要是 C#.NET 語法比較嚴謹,在程式撰寫的基本

    -39-

  • 功會比較有幫助。其二資料庫的選擇以 SQLServer、MySQL、Access

    為主要考量,最後以 Access 作為主要資料庫,主要原因考量資料

    量不是很大,而且在日後轉換成 SQL 或者是 MYSQL 時會比較方

    便。

    4. 網頁伺服器選擇問題:

    IIS 與 Apache 的選擇,最後以 Apache 為主,主要原因是 IIS

    本身就是 Microsoft 發展的網頁伺服器對於自家商品 Silverlight 的

    資源本身就是比就沒有問題的,為了測試跨平台的功能我們最後決

    定以 Apache 作為主要網頁伺服器。

    影音(streaming)部份:

    1. Streaming 軟體的選擇問題:

    市面上最主要的 streaming 軟體分為四個主流分別為 Microsoft

    Media Serveice、RealNetworks Media Servers、QuickTime Darwin

    Streaming Server 與 Flash Media Server。最後決定以 Microsoft Media

    Serveice 為主。原因是 Silverlight 與 Microsoft Media Serveice 皆為

    Microsoft 產品在支援與相容性上比較沒有太大問題。

    2. 連線品質:

    這個問題一直以來都是串流媒體最大的挑戰,通常使用者發現

    連線品質不佳就算再好的內容,也很容易被遺棄。所以在實做時我

    們做了不少的壓力測試(如附錄一、二),一方面確定伺服器的能

    耐,一放面想辦法給使用者最佳的環境以及找出更多的缺點。

    3. 檔案大小、畫質的限制:

    檔案大小、畫質都會影響到使用者使用的品質,所以在伺服器

    端我們都將給予限制,但為了要給使用者不破壞其上傳檔案又不增

    -40-

  • 加伺服器負擔的情況下,我們最後的取捨為 500MB 的空間,預估

    可以滿足系上的需求。

    4. 預覽畫面的擷取:

    如同字面上的意思,很多著名的影音網站如:Youtube、Vlog

    等,都在選取影音串流前有著該影音的代表畫面,但如何擷取、選

    擇代表畫面則是一個問題,而且上述網站也無法百分之百擷取到這

    個畫面,這也牽涉到人為的主觀意識,畢竟每個人對代表畫面的定

    義不同有其難度。

    4.1.3 整合時所遇到的困難

    因為本專題使用了很多套的軟體來製作,最初步的架構都完成後整

    合就變成了我們最重要的課題,相對的因為使用的軟體多,所以在整合

    方面也是我們遇到最多問題的地方。在專題之初,有老師問我們為什麼

    不用 Flash 來作專題就好,這樣不僅參考的資料多而且 Silverlight 可以

    作到的功能大多數 Flash 也可以辦得到,Flash 與 Silverlight 的比較上述

    已有提到,會選擇 Silverlight 最大原因還是在於他的後端整合比較完

    善,可以讓我們比較好將這些東西結合在一起。

    1. 版本問題:

    節有提到 Silverlight 的改動幅度非常的快速,一開始我們使用

    的是 1.0 的版本,到了專題中期 Microsoft 隨即推出了 Silverlight2.0

    版,但是改動的幅度卻非常的大,導致裡面的一些程式在 2.0 版要

    在重新修改一次,其版本在 1.0 到 2.0 之間的整合也就花了不少時

    間。

    2. 版面結合:

    因為本專題分為三個方向同時進行,所以在各自完成後,發現

    版面的排版、色彩、風格上都有不同的差異存在。所以在版面的整

    合上也有不同的分歧。解決的方法是我們先互相討論要以哪種風格

    -41-

  • 作為主軸,在將其他部份比較不錯的挑出來額外加入,但畢竟組員

    們都不是美術科班出生,再版面的設計跟編排上還是有許多需要加

    強。

    4

    4

    .2 結論 數位時代的來臨,每個人對於視覺的要求已經不是文字可以簡單應付

    了。相較於每個人對於影像聲音的需求越來越高,在網路上也衍伸出一個新

    興行業,正是多媒體影音網站,然而在這個情況下,如何有效的提供使用者

    依個好的展示空間,但又要維持好的連線品質以及創作者的智慧財產權就變

    成了很重要的問題,很多專家以及廠商也都對此開發出很多相關網站,互動

    多媒體網路平台這個專題即是為本系需求自行發展之技術。

    在本專題中,嘗試以 Apache 作為主要網頁伺服器,結合 Silverlight 來

    發展網路平台,一方面嘗試不同於使用 IIS 的另一種方法,另一方面也測試

    不同公司發展出來的軟體之間的整合性以及安全性,在最後的結果也證實兩

    者之間的相容性是沒有問題的,在安全性方面。歷經了多次招受攻擊的教

    訓,也漸漸的找到了克服的方法,在安全性方面也有一定等級的防護程度,

    奏後再進行多次上傳測試、播放等等,已經有達到預期的水準,惟獨美術編

    排方面還有可加強之處。

    .3 未來發展 在靜態圖像上大致佈置都已經完成,未來如果要在發展最主要是希望可

    以在相簿上加上即時書寫的功能,讓整體看起來更有電子書的感覺。其二,

    在影片播放代表畫面擷取方面,雖然有構想,但是如何讓電腦判斷上傳的影

    片其代表畫面為何,這已經有點偏限個人主觀意識,而且要實現有其難度,

    但這是一個可以在未來發展的方向。

    -42-

  • 五、參考資料

    [1] 文淵閣工作室,”挑戰 ASP.NET2.0 for C#互動網站百寶箱”,碁峰資訊,

    台北市,2007 年

    [2] 董大偉,”ASP.NET2.0 深度剖析範例集”,博碩文化,台北縣汐止市,

    2006 年

    [3] 董大偉,”Silverlight 權威講座”,旗標出版社,台北市,2007 年

    [4] 陳會安,” ASP.NET 2.0 網頁設計範例教本-使用 C#”,旗標出版社,

    台北市,2006 年

    [5] 鯤鵬工作室,”數位影音串流寶典”,金禾資訊,台北市,2002 年

    [6] 呂高旭,”Silverlight-ASP.NET 與 AJAX 開發實務”,悅知文化,台北

    市,2007 年

    [7] 奚江華,”Silverlight 完美入門”,碁峰資訊,台北市,2007 年

    [8] 包明勝、鄭正權,”新世代創意設計工具 Microsoft Expression Blend”,

    上奇科技,台北市,2007 年

    [9] 章立民研究室,”Silverlight 速學範例 100”,碁峰資訊,台北市,2007

    [10] 資策會 FIND 網站:http://www.find.org.tw/

    [11] 維基百科全書:http://zh.wikipedia.org/

    [12] NCC 公民行動網:http://www.nccwatch.org.tw/

    [13] 藍色小舖:http://www.blueshop.com.tw/

    [14] 神魂顛倒:http://bbs.flash2u.com.tw/

    [15] 微軟 MSDN:http://msdn.microsoft.com/

    -43-

  • [16] 微軟技術社群討論區:http://www.microsoft.com/taiwan/

    [17] 微軟 Silverlight 官方網站:http://www.microsoft.com/silverlight/

    -44-

    一、前言1.1 研究緣起1.2 研究目標

    二、文獻回顧2.1 Windows Server 2003簡介2.2 Apache簡介2.3 ASP.NET簡介2.4 ASP.NET網頁執行原理2.5 串流多媒體的簡介2.5.1 串流多媒體簡史2.5.2 串流多媒體原理一頁 一頁一頁地傳送書本一 一頁一頁地收取書本2.5.3 串流多媒體傳送方式2.5.4 常見的串流多媒體種類2.5.5 三大串流多媒體比較表2.5.6 串流多媒體的優點2.5.7 串流相關協定簡介

    2.6 Silverlight簡介2.6.1 XAML2.6.2 Silverlight執行步驟

    2.7資料庫簡介2.7.1 資料庫簡史2.7.2 資料庫的優缺點2.7.3 SQL語言簡介2.7.4 Access資料庫系統簡介2.7.5 Microsoft SQL Server資料庫系統簡介2.7.6 MySQL資料庫系統2.7.7 MySQL資料庫簡介2.7.8 ODBC簡介

    三、研究方法3.1 網路及硬體規格、開發環境3.1.1網路環境3.1.2伺服器硬體環境3.1.3開發環境

    3.2 伺服器架構3.3 伺服器串流效能測試(一)3.3.1 Client端3.3.2 Server端設定3.3.3 測試結果與數據3.3.4 補充說明

    3.4 伺服器串流效能測試(二)3.4.1 Client端3.4.2 Server端設定3.4.3 測試結果與數據3.4.4 補充說明

    3.5 .NET連接MySQL3.5.1 前備軟體3.5.2 測試流程3.5.3 開發流程簡介3.5.4 結論

    3.6 資料庫規劃表3.7 網路程式規劃3.8 Sliverlight發展流程3.8.1 Silverlight開發過程(一)3.8.2 Silverlight開發過程(二)

    四、解決方法與討論4.1 發展前中後期所遇到的問題4.1.1實做之前所遭遇的問題4.1.2各項軟體發展中遇到的困難4.1.3整合時所遇到的困難

    4.2結論4.3未來發展

    五、參考資料