Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

::旗標電腦文摘::最正確、最豐富的電腦知識寶藏!
2008-12-18│ NO446│訂閱電子報

本週活動:
本期主題:
最新主題:
 
:::最新出版:::
 卡娃伊設計點子爆米花 - Photoshop + Illustrator
MdN 編輯部 編 / 許郁文 譯
會聲會影 X2 - 影片剪輯‧生活分享大師
PCDIY 2009 電腦選購、組裝、應用
Pro/ENGINEER Wildfire 4.0 零件設計基礎 (上) 4.0/3.0/2.0全適用
Flash 資料庫應用即戰力
老師來了 Photoshop 熱血連環漫畫教室
一定更漂亮! Photoshop 人像編修


本期主題:學習 Flash 資料庫應用不可不知的 5 件事


第 1 件事:為何要讓 Flash 與資料庫做溝通?

Flash 提供了網頁高度的互動與精緻美麗的畫面效果, 但以往大家卻一直以為 Flash 的網頁無法與伺服器端溝通, 因此無法處理真正由伺服器端技術與資料庫提供的動態資料。

事實上, 利用 ActionScript 和其他輔助的技術, 我們就可以讓 Flash 和伺服器、資料庫做進一步溝通, 讓 Flash 網頁更具實用性, 而不再只是空有美麗表皮的動畫效果!

第 2 件事:怎樣能讓 Flash 與資料庫溝通?

Flash 其實不能直接存取伺服器端的資料庫, 而是利用 Flash 中的 ActionScript 程式與伺服器端的程式溝通, 再由這些伺服器端的程式負責連結資料庫並存取資料。而由於這些伺服器端的程式, 是處在資料庫和 Flash 之間, 所以我們也稱之為「中介程式 (Middleware)」。目前常見的中介程式, 包括了 ASP、ASP.NET、PHP、JSP…等等, 其實也就是一般所謂的動態網頁所使用的伺服器端技術。把以上的文字做成圖來說明的話,就更容易理解了:

Flash 與資料庫溝通的方式

在上圖中的 HTTP 請求和 HTTP 回應, 指的就是一般傳遞網頁時的協定, 也就是說, Flash 是用一般網頁傳遞資料的方式, 和中介程式 (ASP、PHP...) 溝通的。

Flash 利用一般網頁傳遞資料時的 GET 或 POST 方式 (屬於 HTTP 協定的一部分) 與中介程式溝通, 這和 HTML 網頁用表單來傳遞資料的方式是一模一樣的。

 

第 3 件事:只要用 Flash + 中介程式, 就可以輕鬆製作資料庫應用程式嗎?

基本上沒錯!只要用 Flash + 中介程式就可以與資料庫溝通, 可惜這樣並不輕鬆呢!因為採用這種做法時, 只能傳遞單一字串變數, 所以碰到資料較多或種類較複雜時, 就變得很麻煩。

而為了因應 Flash 在資料交換上的這種困境, 便發展出了「Flash Remoting」這種技術。Flash Remoting 的最主要功能, 就是讓 Flash 可以直接和伺服器端直接交換不同資料型態的資料 (例如布林、陣列、字串…), 讓資料的傳遞更方便迅速。

第 4 件事:Flash Remoting 是怎麼運作的?

Flash Remoting 特別的地方在於它採用 Adobe 公司的 AMF (Action Message Format) 協議 , 而 AMF 是二進制的資料型態 (binary format)。也就是說, Flash Remoting 能把 Flash ActionScript 傳給伺服器的資料轉成 AMF 的二進制的資料型態, 再交給伺服器端的中介程式。

若把 Flash ActionScript 比喻成中文, 那麼 AMF 就像是英文, 所謂的國際共通語言, 而 PHP、ASP 等中介程式就像是阿拉伯語。由於要把中文翻譯成阿拉伯語實在太難, 所以需要先把中文翻成英文, 變成國際通用的語言後, 再翻成阿拉伯語。對比回 Flash 與資料庫溝通 的情況, 就是得由 Flash Remoting 將 ActionScript 翻成 AMF 資料格式, 再進一步轉換成 PHP、 ASP 等中介程式的格式。

AMF 隨著 ActionScript 3.0 的問世, 已從 AMF0 演化到 AMF3 版本。有興趣的讀者可參閱「AMF3 Specification」(http://osflash.org/documentation/amf3)。

因此, 採用 Flash Remoting 技術 (AMF 協議) 來讓 Flash 與資料庫溝通的過程, 就像是下圖
這樣:

第 5 件事:具體來說,製作 Flash 與資料庫的應用程式時,需要接觸哪些技術呢?

依據前述的說明, 製作 Flash 與資料庫的應用程式時必須接觸的技術包括了 Flash、 ActionScript、Flash Remoting、中介程式 (PHP 或 ASP...等)、資料庫管理系統、資料庫查詢語法。

以本書來說, 中介程式採用了 PHP, 而資料庫部分則採用 MySQL。這些都屬於較簡單易學, 且免費的程式語言和系統, 只要隨著本書範例來學習、套用, 即使你沒接觸過 PHP 與資料庫, 也都能做出有趣的 Flash 資料庫應用程式。

至於 Flash Remoting, 我們必須依據所採用的中介程式, 在伺服器上安裝 Flash Remoting, 才能採用 Flash Remoting 技術來讓 Flash 與資料庫溝通。PHP 用的 Flash Remoting 就稱為AMFPHP, 是目前最受歡迎, 被大家公認為最好用的 Flash Remoting 技術。而其他中介程式也有對應的 Flash Remoting 可用 (如下表):

中文程式
對應的Flash Remoting
PHP
AMFPHP
Java
OPENAMF
ASP.NET
FLUORINE
Perl與Python
FLAP
Ruby
WebORB for Ruby on Rals

這些說明現在看起來還有點兒抽象,不過別擔心,從下一章起我們實際開始安裝開發環境,並逐一體驗各章範例後,您就能更踏實地掌握 Flash 資料庫應用的根本觀念囉!

 

......本文節錄自《Flash 資料庫應用即戰力


本期主題:Microsoft Exchange Server 2007 簡介


Exchange 系統從 Exchange 4.0 (1996)發展迄今已十多個年頭了, 在這十幾年間, 熟悉 Exchange 的朋友們可發現 Exchange 系統對於 「協同運作」 發展的努力:以電子郵件為基礎, 將行事曆、聯絡人、會議邀請等功能串連在一起;近年來, 行動裝置的發展又將靜態的資訊存取方式擴展到 Pocket PC、電話上, 讓日趨重要的電子郵件能以電腦、電話等不同的設備隨時隨地存取;本文將為您介紹 Exchange 2007 的功能、架構, 讓您對 Exchange 2007 有個初步的認識。

Exchange 2007 的基本架構

Exchange 2007 依然是與 AD 網域整合的應用系統, 絕大部分的 Exchange 設定都放在 Windows Server 2003/2008 網域的 AD 資料庫內, 也就是說第一步要確認 Exchange 2007 存在的網域需要是 Windows Server 2003/2008 AD 網域, 那麼 Exchange 2007 伺服器是否需要為網域的成員伺服器呢?可能您在心中想著: 「當然囉, Exchange 2007 沒有 AD 網域無法運作, 理所當然一定是成員伺服器。」 , 但真正的答案是 「有的是, 有的不是」 。

Exchange 2007 和所有前版的 Exchange 有一個最大的不同點, 它分為五個伺服器角色, 以前的 Exchange 2000 及 Exchange 2003 將 Exchange 系統的架構分為 「前端伺服器」 及 「後端伺服器」 兩個角色, 由前端伺服器負責郵件代理(Message Proxy)的任務, 將使用者存取的需求藉前端伺服器導向後端放置信箱的伺服器, 這是先前版本在架構上最基本的任務分類;隨著郵件安全方面的威脅日益嚴重, Exchange 系統也增加了郵件篩選的機制, 從 Exchange 2000 的兩個篩選器增加到 Exchange 2003/SP2 的五個篩選器;如果您歷經這些變革, 會發現這些機制尚有加強的空間, 比如說若前端伺服器被入侵是否會影響網域?能否在智慧型郵件篩選器上建立白名單?前端伺服器要放在 DMZ 區還是內部網路?另外還有 RPC over HTTP、郵件路由等問題, 如果 Exchange 系統內沒有前端伺服器, 前述所有的運作都集中在一部 Exchange 伺服器上, 對安全性及伺服器的負荷都將產生不確定的影響。

......更多的內容請見《Microsoft Exchange Server 2007 SP1 管理實務


好書能增進知識、提高學習效率‧ 卓越的品質是旗標的信念與堅持
Copyright c 2008 Flag Publishing Co.,Ltd. All Rights Reserved 本電子報內容未經授權請勿轉載