總網頁瀏覽量

搜尋此網誌

2010年12月23日 星期四

CentOS 5 裝JDKSE1.6

1.yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel
2.java -version 查看版本
3.如果你的 JVM 還是舊版本可使用下列方式改變
執行 update-alternatives --config java,選擇你要更換的JVM
4.設定 JAVA 環境變數將以下文加入最後一行存檔

JAVA_HOME=/usr/lib/jvm/java-1.6.0
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH JAVA_HOME CLASSPATH
5.reboot

 3

2010年11月6日 星期六

Amazon EC2 簡易註冊過程

註冊AWS帳號並申請EC2服務
1.先有 AWS account 通常是以email 為帳號 註冊是免費 但此信箱你必須收的到信才能確認請到 http://aws.amazon.com/ec2  註冊AWS帳號後到信箱收信
建立AWS帳號

打開註冊頁面

輸入你的電子郵件,選取”I am a new user”,按下黃色按鈕。
輸入名字,電子郵件打兩次,再輸入密碼兩次,按下黃色按鈕”Create account”來建立帳號。

接下來,把有星號的必填欄位(地址,城市,電話…等)都填入正確的資料。其中電話當然要是正確的,因為Amazon系統會自動撥號給這隻電話確認真實性。 勾選同意服務條款後按繼續。
 如果沒有資料填寫的錯誤,到此AWS帳號就建立完成了!
收到Welcome to Amazon Web Services信件後點選確認完成
 到EC2申請網址。勾選” I am a returning User”,並輸入密碼登入。
接下來應該會看到下面這個畫面!”Free Tier for new AWS customers"
看到這個畫面後,請拿出你的信用卡,並且把頁面卷到最下方。填入信用卡號,日期,姓名等資訊。Amazon用信用卡片來確認你的身分,如果雲端運算的使用量超出他的免費規定,也會因此收錢。不過,在一般測試使用情況下,一般人使用的量不會到需要收錢的地步。

按下黃色按鈕繼續後,接下來就是身分確認階段。系統會再次詢問你的手機號碼。把國碼的地方改為Taiwan(+886),手機號碼寫09xx這樣開頭的號碼就可以繼續。 接下來畫面會跳出來顯示一個四位數的PIN,然後你的手機過幾秒就會接到一通電話跟你說英文。用手機上的鍵盤直接輸入你電腦畫面上看到的四位數PIN

點選查詢目前帳戶狀態

這個時候會看到Elastic Compute Cloud, Simple Simple Notification Service…等服務都處於”審核狀態”(Authorizing your account to access this web service)。
到這個階段的話,Amazon那邊在審核這個申請以及信用卡號等資料,所以我們能做的事情就是等待了。按照Amazon那邊跟台灣的時差加上過去經驗來看的話,我們可能會等到數小時。

如果一切順利,在信箱中就會有Amazon信件通知。

2010年10月11日 星期一

cloud computing 懶人包 收集

IDC(國際數據資訊公司)的Frank Gens說2010年會是IT產業的轉變年(transformational year for IT),部份轉變來自雲端運算技術。雖然雲端運算是熱門話題,許多IT朋友對主機部份從供應商的選擇到對安全與順應性的控制,仍感迷失與不確定。我們整理出一份很讚的資源列表來助你在這些議題中導航。如果你發現其它值得分享的內容,請讓我們知道。

有數家企業機構和集團在協助瞭解雲端技術,提供了最佳的實行方式並促成標準化:

紅帽提交雲端API作為業界開放標準

Linux大廠紅帽(Red Hat)周三(8/25)揭露了該公司的雲端計畫,並宣布已提交該公司的Deltacloud雲端API規格予分散式管理工作小組(Distributed Management Task Force,DMTF),以期成為開放的雲端業界標準。

Deltacloud是紅帽在2009年所建立的開放源碼專案,由該公司的架構即服務(Infrastructure as a Service,IaaS)雲端管理API所構成,並在今年初轉至Apache軟體基金會旗下的Apache Incubator,並開放外界存取。至於創立於1992年的DMTF則是專門號召IT產業共同開發、驗證、推廣及採用各種系統管理標準的組織。

紅帽雲端事業部總經理Scott Crenshaw表示,雲端運算逐漸在現代的企業中擴大,互動及可攜性日益重要,很高興可提交Deltacloud API予DMTF以協助所有雲端間的互動。DMTF總裁Winston Bumpus,隨著該組織持續建立雲端運算的開放管理標準,紅帽的貢獻將可推動雲端的一致性。

紅帽於今年開始推廣其雲端解決方案,在今年6月的紅帽高峰會中發表了該公司的雲端基礎(Cloud Foundations)產品線,主要的兩大部份為可支援私有雲端及公共雲端的架構即服務(IaaS)與平台即服務(PaaS),並著眼於互動及可攜性。

除了提交IaaS管理API給DMTF之外,紅帽周三也揭露了其PaaS雲端策略,PaaS建基於JBoss Enterprise Middleware上,其解決方案可允許企業、雲端服務供應商及軟體即服務(SaaS)供應商可利用既有的資產及開發新的應用程式,並將它們部署在公共及私有雲端上。

Gartner副總裁Yefim Natis認為,像是中介軟體的應用程式架構在企業運算及雲端運算中皆屬於重要的技術層,要達到雲端運算在生產力、規模或成本上的效益,必須透過支援應用程式架構的雲端來部署應用程式,主流業者在計畫未來的應用程式架構投資時,應考量及評估包含雲端在內的各種部署選項。

PaaS Is The Future Of Cloud Services: APIs Are The Key




Krishnan Subramanian June 10, 2010
  • 大大簡化了開發商的生活,從而易於訪問功能的平台。 除了開發一切,從白手起家,他們可以挖掘API和功能輕鬆訪問
  • 加快平台訪問
  • 高度可擴展的平台使導致了豐富的功能集
  • 幫助協調與其他服務供應商選擇
  • 有助於集成和互操作性
  • 有助於更好地管理平台的安全性
  • 提供了一個簡單的選項來處理分析
  • 甚至有助於確保遵守

2010年10月3日 星期日

eGroupWare 減少傳統資訊流 即時協同式合作

群組軟體簡單的說就是為了讓一群人共同作業而設計的軟體,目前商業軟體中比較有名的是 IBM Lotus Notes、Microsoft Exchange、Oracle Collaboration 與NOVELL Groupwise(台灣地區);但是許多人常誤以為它只是電子郵件系統的延伸,因為大部份購買類似軟體的公司,往往只規劃了軟體購置的預算,而忽略了教育訓練的問題,造成許多人只懂得使用它的基本功能。


軟體的功能日益強大,對於一個愛嘗鮮的資訊人員而言,不難去適應大量的軟體操作程序;不過大部份人對於這樣子的變化相當難以調適,因而無法讓軟體功能發揮應有的效益。面對這樣的現況,開放原始碼的解決方案就提供了更多彈性,許多這個類型的產品可以免費取得與使用,讓導入的公司可以有更多資源放在人員訓練之上。
eGroupWare [1]就是一個開放原始碼的群組軟體,雖然國內還沒有公司能夠提供完整支援,但是中文介面已經大致翻譯完成,加上能夠免費取得,讓有心採用的機構能夠先行測試是否符合需求。
最新版本的 eGroupWare 有數十個成熟的模組能夠使用,支援許多新技術,像是LDAP、AD、XML-RPC、SYNCML、AJAX等介面,也能夠進行像是知識管理、企業入口網站與工作流程等應用,甚至有香港的朋友為它加入了財會系統CK-ERP[2],讓它能夠滿足越來越多元的需求。
要完整使用它的功能,所需要了解的技術層面相當廣泛,但是許多基本的應用只需要一個下午就能夠完成環境建置,可以根據實際的需求與技術能力彈性調整。

eGroupWare主要模組介紹
[felamimail 電子郵件]

一個只支援 IMAP 協定(大部分是 POP3)的郵件閱讀程式,它支援 Sieve 郵件過濾規則語言(RFC 3028),也能夠在 eGroupWare 建立新帳號時,同步在Cyrus IMAP或是Postfix等郵件伺服器上建立對應的郵件帳號;只是目前對於歐美語系以外郵件的支援還不算完整。

[calendar 行事曆]

eGroupWare的行事曆提供許多彈性,能夠在安排行程時檢視同樣群組的使用者行程,也能夠由系統協助查詢時間的空檔,避免在安排行程時產生衝突。除了一般常見到的重複行程、行程提醒與相關欄位外,它還能夠與eGroupWare的其他模組產生連結,並且安排行程的與會人員、需要的資源(例如會議室、投影機等),考慮的相當週到。

行事曆、通訊錄與記事本等模組能夠透過 SyncML 協定與電腦、手機和PDA等設備進行資料同步,行程的資料也可以透過 iCAL 或是 CSV 格式匯入,以及匯出 iCAL 格式資料。
[timesheet 時間表]

時間表也可以稱之為工時記錄表,主要是配合專案管理模組使用,用來讓使用者根據專案中的工作內容提報工時,方便會計部門進行專案成本的估算。
[manual 線上說明]
線上說明是基於 wiki 模組延伸出來的功能,主要是希望在官方網站匯集來自世界各地使用者提供的操作說明,透過這個模組就可以下載官方網站最新版本的資料,只是目前資料是以英語、德語為主。
[resources 資源管理]
許多公司內部經常發生搶資源的情形,像是約了一個客戶來公司卻發現所有的會議室都在使用中,或是等半天就是借不到那個神奇的投影機。資源管理模組就是為了避免類似情況而設計,可以讓使用者預約包括會議室、投影機、公務車或是各種公用資源,避免因為行程上的衝突造成損失。…當然,前提是沒有人有”插隊”的特權。
[projectmanager,projects 專案管理]
projectmanager是新版的專案管理模組,前一個版本為 projects ,前者與其他模組有較佳的整合,而後者則是兼顧了許多細節;雖然兩個模組各有擁護者,但是都來自同一個開發者,而這個開發者未來應該只會維護新版的專案管理模組。
[mydms,filemanager 檔案管理]
舊版的檔案管理模組 filemanager 只是單純提供檔案上傳與下載的管理功能,而 mydms 提供了許多進階功能,像是版本控制、關聯檔案、異動通知與權限控管等;filemanager也能夠控制權限,不過僅限於模組本身的增、刪、改、查, mydms 進一步做到控制類別與個別檔案的權限,適合對於資料安全訴求較高的組織。
[mydms,filemanager 檔案管理]


舊版的檔案管理模組 filemanager 只是單純提供檔案上傳與下載的管理功能,而 mydms 提供了許多進階功能,像是版本控制、關聯檔案、異動通知與權限控管等;filemanager也能夠控制權限,不過僅限於模組本身的增、刪、改、查, mydms 進一步做到控制類別與個別檔案的權限,適合對於資料安全訴求較高的組織。
[fudforum 討論區]


FUDforum[5]本身就是國外的一個熱門討論區系統,除了大部分討論區系統可以看到的功能外,甚至能夠透過與新聞群組、通訊論壇等系統整合,讓部份從BBS起家的網站能夠移轉或是保留現有系統運作。eGroupWare所內建的 FUDforum 版本已經沒有再更新,不過功能已經能夠滿足大部分需求。

[tts 問題傳票系統]

傳票給人的感覺很像會計在使用的,其實這個模組有點類似內部聯繫單,像是電腦壞了需要人處理、客戶留言需要轉給業務、或是初一十五拜拜要請人去採買牲禮等都可以透過這個模組”交辦”或是”求救”;因為這樣的需求可能像是A部門接到B部門的客戶電話,然後將資料轉給B部門的主管,再由B部門的主管轉給適當的業務處理,資訊需要傳來傳去,所以稱之為傳票。
[messenger 線上傳訊]
這個模組提供個人與個人之間的留言功能,不受限於時間與地理位置限制,像是A部門的某甲男心儀B部門的某乙女,就可以透過這個功能留言給某乙女,請她去吃個飯;公司是否允許這樣的行為不清楚、某乙女會不會把某甲男的簡訊傳給其他人看也不知道,線上傳訊就是這麼樣的一個工具。
[workflow 工作流程]
工作流程是eGroupWare中較複雜的模組之一,主要用來進行商業流程的自動化,像是文件、資訊或任務在一個流程中的參與者中如何傳遞、處理與通知,可以定義相當多的自動處理規則;這個模組的前身是 tikiwiki 的 GalaxiaWorkflow[6],一個以活動為基礎的工作流程系統,需要花些時間理解其中的概念才能夠應用。
[wiki 協同編輯]

資訊圈子中的朋友對於 wiki 這個新名詞應該不陌生,也有人將它翻譯作”快記”,大部分的人都將它拿來當作知識管理的工具之一;eGroupWare內建的 wiki 模組與需要記憶大量特殊語法的wiki系統不同,使用了所見即所得編輯器處理大部分的內容,只要在內容中包含了wiki words(一種大小寫混用且首字大寫的英文字,像是 GroupWare )或是類似 ((twpug)) 這樣的標籤就可以與新文件或是其他相關內容產生連結。
[jinn 網站管理]
JiNN 代表了 JiNN is Not Nuke 的遞迴縮寫,作者藉此傳達對於 Nuke 系統的熱門相當不以為意;這個模組有點像是進階的資料庫管理工具,能夠同時讓多個人參與多個網站資料庫的管理工作,只是操作方式需要花些時間理解。
舉例來說,在JiNN中定義了一個網站後,JiNN會去擷取指定網站的資料庫資訊,接著可以根據資料庫中的資料表定義物件;物件中除了資料表的欄位名稱與屬性外,還能夠進一步定義資料欄位間的關聯以及資料欄位輸入的方式、限制等。相關操作完成後就可以透過JiNN對該網站進行資料的增、刪、改、查,甚至是製作報表等進階功能,等於是只要將一個網站的前端處理完成就能夠用它來進行管理,功能還不會比自己設計的管理介面遜色。
[phpbrain 知識管理]

最簡單的知識管理方式就是蒐集常見問答,接著將許多相關的文章串連在一起,必要時在以這些問答內容為基礎撰寫完整的教學,甚至延伸出其它格式的教學內容;eGroupWare中的知識管理就是基於這樣的概念設計,除了發問、回答、自問自答外,還能夠連結內部文章或是外部網站,並且附加檔案、評論等,所有的操作也會有詳實的紀錄保留。
[chatty 聊天室]

Chatty是一個即時的聊天室,也是修改自一個獨立的程式[7],不過是原作者帶著它加入eGroupWare中;透過它可以檢視目前有哪些人上線,並且與上線的人即時傳遞訊息。比較特別的地方是這個模組是以 AJAX 技術設計,因此並不會像部份網路聊天室一樣頻繁的更新畫面(這樣子對眼睛很不好…),對於伺服器也不會造成太大的負擔。

eGroupWare是Web-based的應用程式,所以你必須有把它安裝到Web Server上,目前支援的有Apache、IIS和Roxen。資料庫則可以使用Mysql、PostgreSQL、MSSQL。PHP的版本需要在4.1以上。
目前egroupware包括了下面功能:

* 通訊錄 [ addressbook ]

* 系統管理 [ admin ]

* 備份 [ backup ]

* 書籤 [ bookmarks ]

* 行事曆 [ calendar ]

* 漫畫 [ comic ]

* 翻譯工具 [ developer_tools ]

* 電子郵件 [ email ]

* 樣板管理系統 [ etemplate ]

* 郵件管理 [ felamimail ]

* 檔案管理 [ filemanager ]

* 簡易討論區 [ forum ]

* FTP網頁介面用戶端 [ ftp ]

* 多功能討論區 [ fudforum ]

* 他站新聞 [ headlines ]

* 記事本 [ infolog ]

* 內容管理系統 [ jinn ]

* 私人訊息 [ messenger ]

* 提醒視窗 [ notifywindow ]

* 新聞發布與管理 [ news_admin ]

* 知識庫 [ phpbrain ]

* LDAP線上管理系統 [ phpldapadmin ]

* 系統資訊 [ phpsysinfo ]

* 投票 [ polls ]

* 偏好設定 [ preferences ]

* 專案管理 [ projects ]

* 線上註冊 [ registration ]

* 安裝設定 [ setup ]

* 網站管理員 [ sitemgr ]

* 網站介面 [ sitemgr-link ]

* 股票 [ stocks ]

* 傳票管理 [ tts ]

* 多人線上文件編輯系統 [ wiki ]

要想了解這個系統可能要花不少時間,但是了解後許多工作的進行會更方便
目前有那一些的知名的商業群組軟體呢?
1.Dsk Nts

2.Nvell Nterprise

3.Oracle Collaboration Suite

4.Microsoft Exchange Server

5.IBM Loutus Note

這些群組軟體由於開發時間較久,也能提供客製化功能,但是要建置一套商業群組軟體的系統,所費不貲。

egroupware的好處是,都是由php所寫成的,以web介面執行,有跨平台的介面

而在sever端,可以

apacha+php+mysql

IIS+PHP+mssql

在經過上千個鐘頭的開發工作後,eGroupWare研發團隊正式推出了 1.0 版,除了感謝許多人外,也提出下個版本的目標:

1. 工作流程(workflow)引擎

2. 聯絡中心(取代目前的通訊錄)

3. 新的檔案管理員模組

4. 支援MaxDB

5. 許多行事曆的延伸功能

6. 一個能夠與微軟Outlook同步的軟體已經正在開發中

=======================================相關資訊=======

下載中文安裝說明PDF檔



中文研發團隊

http://free.tnc.edu.tw/modules/news/...p?storyid=1304

艾桃科技Advanced Technology Ongoing - 線上教學

http://download.ossacc.org/Ani/xoop/h/tutor.htm

企業EIP速建指南(書)

http://www.netz.com.tw/product.asp?good_id=132


台灣站長俱樂部(運用想法)

http://webmaster.club.tw/index.php?s...1c144465455758

Open Virtualization Format

今天,虛擬化技術得到廣泛應用,而不同的虛擬化平台(VMware、Xen、KVM等等)也是百花齊放百家爭鳴。這樣就產生了一個問題,不同的虛擬化平台支持不同的虛擬化格式,他們之間往往是不兼容的,我們迫切需要一種將虛擬機在不同的虛擬化平台之間封裝和分發的標準方法。因此VMware和虛擬化領域的其它先驅創建了Open Virtualization Format,一種平台獨立的、高效、可擴展的虛擬機封裝和分發格式。

通過OVF,可以高效、靈活、安全地分發企業軟件,可以實現虛擬機在不同的虛擬化平台之間轉移,從而為客戶提供相對的平台獨立性和供應商獨立性,客戶完全可以將一個OVF格式的虛擬機部署到另一個虛擬化平台上。

OVF將大大增強虛擬化使用體驗,通過OVF提供的便攜性,平台獨立性,核實,簽字,版本控制和授權功能,您可以:

精簡安裝方式,提高用戶體驗;

提供虛擬化平台獨立性和靈活性;

更容易地創建複雜的多層服務;

通過便攜式虛擬機高效地分發企業軟件;

提供特定平台的增強能力,通過可擴展性,更容易採用虛擬化的先進技術;

OVF 的Key Features:

對發佈的優化:OVF能夠提供虛擬應用(virtual appliances)的可移植性發佈。OVF支持格式壓縮以提高傳輸效率,同時提供工業標準的內容檢查和完整性檢查,並提供基本的軟件許可證管理。
提供簡單的自動化的用戶體驗:OVF提供了一個強大的、用戶友好的安裝方式以簡化整個安裝過程。在安裝過程中,OVF文件中的元數據可以通過用戶管理工具進行校驗以確定將要安裝的虛擬機數據的有效性。同時還能驗證和本地虛擬化環境是否兼容。
支持多虛擬機配置:一個虛擬應用方案中可能包括多個虛擬應用,通過OVF可以配置由多個相互關聯的虛擬應用構成的複雜多層服務。
虛擬機的可移植性:OVF是虛擬化平台獨立的。但同時又支持具體平台的可擴展性。它支持現有的所有虛擬機硬盤文件格式和將來的硬盤格式
供應商和平台獨立性:OVF不依賴某個特定的主機平台、虛擬化平台、或客戶操作系統。
支持本地化;OVF支持多語言環境,支持多語言交互式的虛擬應用安裝過程。
可擴展性:OVF是可擴展的,它被設計成可隨虛擬應用發展的。
From
OpenSource China

參考文獻:
http://www.dmtf.org/initiatives/vman_initiative/

服務導向架構(Service-Oriented Architecture,SOA)

服務導向架構(Service-Oriented Architecture,SOA) 簡介

作者: 曾保彰 / 臺灣大學計算機及資訊網路中心資訊網路組

「以客為尊」的核心概念,提供網路服務單位建構一個具彈性、可重複使用的整合性介面,加速達到網路服務提升的目標。


前言
SOA是一種架構模型,由網站服務技術等標準化元件組成,目的是為企業、學校或提供網路服務單位建構一個具彈性、可重複使用的整合性介面,促進內外部如內部應用程式、用戶、與部門(系所)等相關單位完美的溝通,盡速達到網路服務提升的目標。

何謂SOA?

我們常聴到 Information Technology (IT)產業的架構演進,由1980年代的主機(mainframe)架構,到1990年代的主從式(client server)架構,到1999年時是network centric架構,而到2004年時已複雜到所謂的 Service-Oriented Architecture架構(SOA,服務導向架構) 。此外也常聴到:如果企業不導入這個架構,企業在未來就會沒有競爭力。因此,本文將針對SOA作淺顯的簡介,也希望透過本文的介紹,對於本校網站服務技術(web services) 未來的架構有所幫助。

首先讓我們釐清一些SOA的迷思。正確來說 [1]:

1.
SOA不是新玩意:多年前即有資訊部門或公司成功地用SOA方式來建構、運行應用程式,且當時XML、web service都尚未提出
2.
SOA不是種技術:它是種建構、組織的方法,用來建立應用程式的運行環境,以及讓學校的業務程式能以「功能化」方式發展、累積。
3.
就算購買最新的XML、web services產品(如開發工具、執行平台、軟體元件等),也不表示就可以建構出SOA式的應用程式。

簡單來說,SOA是一種遵循典範,是針對學校或企業內應用程式的設計、開發、佈建、管理所提出的遵循典範。從資訊技術層面而言,一個執行學校或企業業務的應用程式稱為一個獨立的「邏輯單位」,而對學校或企業營運層面而言則可稱為一項「服務」,在企業的整體運算環境中就存在著多個「獨立邏輯/業務服務」,且需要對其進行妥善設計、開發、佈建、管理等,也因此需要採行服務導向架構(SOA)。
要實現SOA,需要學校或企業的程式設計師改採「持續累積服務」的觀念與角度來開發應用程式,即便這麼做在短時間內看不到顯著好處,程式師還是必須跳脫、超越過往對應用程式的想法,改以「既有服務可否再運用?」或者是「能否沿用其他同仁開發過的服務再建構?」的觀點來面對程式開發。
SOA主張「程式開發技術」與「程式建構方法」的交替並用,以類似傳訊溝通的作法,將數個所需的「業務服務」進行連結,以此來實現一個新的應用程式,而非「從頭開發」。透過適當的程式組構及傳訊式的程式連結,可讓學校或企業快速因應學生或用戶的需求與改變,新的應用程式只要透過「傳訊微調」即可實現,而非「重新撰寫」。
SOA不單只是程式開發的方法論,也提供行政管理層面的依循。例如它並非是以應用程式個體為角度來進行管理,而是直接將過往程式師開發出的程式視為「服務」來管理。而對「服務」間的「互動傳訊」進行分析,SOA便可讓程式設計部門的主管瞭解何時該執行哪個業務邏輯,以及為何要執行,如此資訊管理者與分析師便可對服務程序進行最佳化調適。
SOA如何運作?
SOA服務導向架構是一種新興的系統架構模型,主要概念是針對學校或企業需求組合而成的一組軟體元件。組合的元素通常包括:軟體元件、服務及流程三個部份。當學校或企業面對外部要求時,流程負責定義外部要求的處理步驟;服務包括特定步驟的所有程式元件,而軟體元件則負責執行工作的程式。SOA 已成為現今軟體發展的重要技術,透過 SOA 讓異質系統整合變得容易,程式再使用度也提高。不必自行開發或擁有所有程式元件,發展者可以視其需要組合網路上最好的服務。不受限於特定廠商的產品功能或是平台,達到真正的開放性(Openness)。從分散式元件架構到 SOA概念上,SOA 如同物件導向、軟體元件等軟體技術一般,運用小的零組件組合成應用系統。但 SOA 強調的是如何將彼此關係鬆散的應用系統功能元件在網路上發行、組合及使用。SOA 具有下列技術特性[2]:
1.
分散式架構 (distributed)-SOA 的組成元件是由許多分散在網路上的系統組合而來,可能是區域網路,也可能是來自廣域網路。例如網站服務技術 (web services) 就是運作 HTTP來相互連結的 SOA。如此的作法,也使得網站服務技術很快的就成為所有支援網際網路的系統平台均能使用的技術。
2.
關係鬆散的界面 (loosely coupled)-傳統的系統主要是將應用系統功能需求切割成相互關聯的小零組件:模組、物件或元件,發展者要花費極大的心力了解零組件是如何設計及使用,以確保不會違反零組件連接關係限制。如此一來,若要以不同零組件替換原始設計,就成為一件困難的事。SOA 的作法是以界面標準來組合系統,只要符合界面要求,零組件可以任意替換,大幅提高系統變更的彈性度。
3.
依據開放的標準 (Open standard)-使用開放標準是 SOA 的核心特色,過去的軟體元件平台如 CORBA、DCOM、RMI、J2EE 採用專屬協定作為元件連結的規範,使得不同平台的元件無法相通。SOA 則著重於標準與互動性,將可避免不同平台 (.NET web services 與 Java web services) 開發程式間相互整合的困擾。
4.
以流程角度出發 (process centric)-在建構系統時,首先了解特定工作的流程要求,並將其切割成服務界面(包括輸入與輸出資料格式),如此其他的發展者就可以依據服務界面開發 (或選擇) 合適的元件來完成工作。

最後舉一個學校常用的例子來說明SOA在實際應用上帶來的可能性。假設我們要建立一個線上投稿的網站,網站提供的服務包括了線上投稿作業、論文分派作業、論文審查作業、線上註冊及報名作業等。傳統的方式我們會儘快找一個類似的網站,再儘快將其他類似網站的原始碼(source code)拿來修改,但其他類似網站的原始碼所執行的平台有可能不是架站者所熟悉的作業系統。若要讓架站者作一個客製化,並符合自己投稿主題的線上投稿的網站,可能要熟悉這個平台並修改網頁及測試,再加上別人的網站可能有一些bug,如果要做到毫無問題,除錯時間可能要花上三個月的時間。但是,如果我們導入SOA的架構的話,可能將來只要花費心力將作業服務模組化、物件化或元件化,然後將它們整合到網站中即可,不需要再花費時間和資源自己去維護一個線上投稿的網站,也不需要再自行建立和資料庫連結、報名付款機制等。這個網站就像是建立在SOA上,整合了這些web services元件的一個應用程式系統。更重要的是,透過如http、XML、SOAP 等產業標準開放式協定,不必擔心這些服務使用甚麼平台、甚麼技術來建立,而將來如果有更好的服務或服務提供者時,也可以輕易的將服務更換或更新。對系統開發者來講,可以快速輕鬆的將系統建構完成,將心思專注在規劃更好、更完善的系統上;對服務提供者而言,只要能設計出一個好的服務,它的潛在使用者市場將不再受到使用者平台的限制而有無限的可能。單就這類應用所呈現的美好遠景,應該可以解釋為什麼會到處聽到有人在談論SOA了。
因此 SOA 的實作,就是將所有程式邏輯及服務內容全部包裹在服務內部,並實作一個標準的介面與外部作溝通,這種做法跟傳統的元件導向做法非常類似,唯一的差別是介面定義的方式、資料格式、與溝通管道必須是產業標準 (http、XML、SOAP 等)。 也就是說只要能實作出這樣的介面,不論介面後面是什麼,都可使成為 SOA。


綜合以上的介紹,SOA能帶來的幫助,有以下好處:

1.增加企業盈收,或提升學校的服務品質。

2.提供可變動的網路服務型態。

3.降低學校或企業的成本。

4.降低開發服務的時間。

5.整合學校或企業的網路服務技術資源。

6.降低整體風險及意外。

參考文獻

[1] http://dev2dev.bea.com.tw/techdoc/07soa/07soa_040812_01.htm

[2] http://www.microsoft.com/taiwan/msdn/columns/soa/SOA_overview_2004112901.htm

2010年9月29日 星期三

Remote Procedure Call XML觀念演進->XML-RPC->SOAP

RPC
遠端程序呼叫(Remote Procedure Call,RPC)是一個電腦通訊協定。該協定允許執行於一台電腦的程式呼叫另一台電腦的子程式,而程式設計師無需額外地為這個互動作用編程。如果涉及的軟體採用物件導向編程,那麼遠端程序呼叫亦可稱作遠端呼叫或遠端方法呼叫。
XML
延伸標示語言(eXtensible Markup Language,簡稱XML),又稱可延伸標記語言,是一種置標語言。置標指電腦所能理解的資訊符號,透過此種標記,電腦之間可以處理包含各種資訊的文章等。如何定義這些標記,既可以選擇國際通用的標記語言,比如HTML,也可以使用像XML這樣由相關人士自由決定的標記語言,這就是語言的可延伸性。XML是從標準通用置標語言(SGML)中簡化修改出來的。它主要用到的有可延伸標示語言、可延伸樣式語言(XSL)、XBRL和XPath等。

XML-RPC是一個遠端過程調用remote procedure call,RPC)的分布式計算協議,通過XML將調用函數封裝,並使用HTTP協議作為傳送機制[
XML是從1995年開始有其雛形,並向W3C(全球資訊網聯盟)提案,而在1998二月發佈為W3C的標準(XML1.0)。XML的前身是SGML(The Standard Generalized Markup Language),是自IBM從1960年代就開始發展的GML(Generalized Markup Language)標準化後的名稱。

GML的重要概念:
檔案中能夠明確的將標示與內容分開
所有檔案的標示使用方法均一致
1978年,ANSI將GML加以整理規範,發佈成為SGML,1986年起為ISO所採用(ISO 8879),並且被廣泛地運用在各種大型的檔案計劃中,但是SGML是一種非常嚴謹的檔案描述法,導致過於龐大複雜(標準手冊就有500多頁),難以理解和學習,進而影響其推廣與應用。
同時W3C也發現到HTML的問題:
不能解決所有解釋資料的問題 - 像是影音檔或化學公式、音樂符號等其他形態的內容。
效能問題 - 需要下載整份檔案,才能開始對檔案做搜尋。
擴充性、彈性、易讀性均不佳。
為了解決以上問題,專家們使用SGML精簡製作,並依照HTML的發展經驗,產生出一套使用上規則嚴謹,但是簡單的描述資料語言:XML。 XML是在一個這樣的背景下誕生的——為了有一個更中立的方式,讓消費端自行決定要如何消化、呈現從服務端所提供的資訊。
XML被廣泛用來作為跨平台之間互動數據的形式,主要針對數據的內容,通過不同的格式化描述手段(XSLT,CSS等)可以完成最終的形式表達(生成對應的HTML,PDF或者其他的檔案格式)。
XML設計用來傳送及攜帶資料資訊,不用來表現或展示資料,HTML語言則用來表現資料,所以XML用途的焦點是它說明資料是什麼,以及攜帶資料資訊。

豐富檔案(Rich Documents)- 自定檔案描述並使其更豐富
屬於檔案為主的XML技術應用
標記是用來定義一份資料應該如何呈現
後設資料(Metadata)- 描述其它檔案或網路資訊
屬於資料為主的XML技術應用
標記是用來說明一份資料的意義
設定檔案(Configuration Files)- 描述軟體設定的參數
例子


XML定義結構、儲存資訊、傳送資訊。下例為張旭發送給陳貞伶的便條,儲存為XML。
<小纸条>

<收件人>陳貞伶

<发件人>張旭

<主题>問候

<具体内容>最近可好?



這XML文檔僅是純粹的資訊標籤,這些標籤意義的展開依賴於應用它的程式。

結構

每個XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言,。這一行代碼會告訴解析器和瀏覽器,這個檔案應該按照前面討論過的XML規則進行解析。第二行代碼,,則是文檔元素(document element),它是檔案中最外面的標籤(我們認為元素(element)是起始標籤和結束標籤之間的內容)。所有其他的標籤必須包含在這個標籤之內來組成一個有效的XML檔案。XML檔案的第二行並不一定要包含文檔元素;如果有注釋或者其他內容,文檔元素可以遲些出現。



範例檔案中的第三行代碼是注釋,你會發現它與HTML中使用的注釋風格是一樣的。這是XML從SGML中繼承的語法元素之一。
頁面再往下的一些地方,可以發現標籤裡有一些特殊的語法。代碼用於表示無需進行解析的文字,允許諸如大於號和小於號之類的特殊字元包含在文字中,而無需擔心破壞XML的語法。文字必須出現在之間才能合適地避免被解析。這樣的文字稱為Character Data Section,簡稱CData Section。

下面的一行就是在第二本書的定義之前的:


雖然它看上去很像XML序言,但實際上是一種稱為處理指令(processing instruction)的不同型別的語法。處理指令(以下簡稱PI)的目的是為了給處理頁面的程式(例如XML解析器)提供額外的資訊。PI通常情況下是沒有固定格式的,唯一的要求是緊隨第一個問號必須至少有一個字母。在此之後,PI可以包含除了小於號和大於號之外的任何字串序列。
最常見的PI是用來指定XML檔案的樣式表:
這個PI一般會直接放在XML序言之後,通常由Web瀏覽器使用,來將XML資料以特殊的樣式顯示出來。
XML的結構有一個缺陷,那就是不支援分幀(framing)。當多條XML訊息在TCP上傳輸的時候,無法基於XML協定來確定一條XML訊息是否已經結束。

XML-RPC是一個遠端過程調用remote procedure call,RPC)的分布式計算協議,通過XML將調用函數封裝,並使用HTTP協議作為傳送機制
歷史

XML-RPC發表於1998年,由UserLand Software(UserLand Software)的Dave Winer及Microsoft共同發表[2]。後來在新的功能不斷被引入下,這個標準慢慢演變成為今日的SOAP協定。
XML-RPC協定是已登記的專利項目,由Phillip Merrick、Stewart Allen及Joseph Lapp共同持有,於1998年3月提出申請,指其將用於一個構想中的應用程式,並於2006年4月獲得接納。現時這個專利由位於美國維珍尼亞州費爾法克斯的webMethods使用

SOAP 簡單物件存取協定
是一種標準化的通訊規範,主要用於Web服務(web service)中。SOAP的出現是為了簡化網頁伺服器(Web Server)在從XML數據庫中提取資料時,無需花時間去格式化頁面,並能夠讓不同應用程式之間透過HTTP通訊協定,以XML格式互相交換彼此的資料,使其與程式語言、平台和硬體無關。此標準由IBM、Microsoft、UserLand和DevelopMentor在1998年共同提出,並得到IBM,蓮花(Lotus),康柏(Compaq)等公司的支持,於2000年提交給全球資訊網聯盟(World Wide Web Consortium;W3C),目前 SOAP 1.1 版是業界共同的標準,屬於第二代的XML協定(第一代具主要代表性的技術為XML-RPC以及WDDX)。

用一個簡單的例子來說明 SOAP 使用過程,一個 SOAP 訊息可以發送到一個具有 Web Service 功能的 Web 站點,例如,一個含有房價資訊的資料庫,訊息的參數中標明這是一個查詢訊息,此站點將返回一個 XML 格式的資訊,其中包含了查詢結果(價格,位置,特點,或者其他資訊)。由於資料是用一種標準化的可分析的結構來傳遞的,所以可以直接被第三方站點所利用。
相關定義

* SOAP 封裝(envelop),它定義了一個框架,描述訊息中的內容是什麼,是誰發送的,誰應當接受並處理它以及如何處理它們;

* SOAP 編碼規則(encoding rules),它定義了一種序列化的機制,用於表示應用程式需要使用的資料類型的實例;

* SOAP RPC表示(RPC representation),它定義了一個協定,用於表示遠程過程調用和應答;

* SOAP 綁定(binding),它定義了SOAP使用哪種協議交換資訊。使用HTTP/TCP/UDP協議都可以。

把 SOAP 綁定到 HTTP 提供了同時利用 SOAP 的樣式和分散的靈活性的特點以及 HTTP 的豐富的特徵庫的優點。在 HTTP 上傳送 SOAP 並不是說 SOAP 會覆蓋現有的 HTTP 語義,而是 HTTP 上的 SOAP 語義會自然的映射到 HTTP 語義。在使用 HTTP 作為協議綁定的場合中, RPC 請求映射到 HTTSOAP曾經代表「Simple Object Access Protocol」,但是這種縮寫已經在標準的1.2版後被廢止了。1.2版在2003年6月24日成為W3C的推薦版本。這種縮寫容易與SOA——Service-oriented architecture產生歧義,雖然它們之間存在非常大的差異。
SOAP是在1998年由Dave Winer, Don Box,Bob Atkinson 和 Mohsen Al-Ghosein 設計的。當時是將其作為一種物件存取協議。現在,SOAP規範是由全球資訊網聯盟的XML工作組進行維護的。
 傳輸方式
SOAP使用網際網路應用層協議作為其傳輸協議。SMTP以及HTTP協議都可以用來傳輸SOAP訊息,但是由於HTTP在如今的網際網路結構中工作得很好,特別是在網路防火牆下仍然工作流暢,所以其更為廣泛地被採納。SOAP亦可以在HTTPS上進行傳輸。
SOAP的訊息格式採用XML。
SOAP 訊息實例

2010年9月27日 星期一

雲端技術進入企業,私有雲應用開始發酵

雲端運算是2009年臺灣最火紅的技術名詞,各家資訊業者紛紛強調雲端效益和資訊架構變革的衝擊。風潮所驅,不只是股市投資散戶都有雲端概念股一說,不少公司執行長、總經理也特別留意。


一時之間,雲端產品琳瑯滿目,各種雲端運算研討會到處都有,雲端運算很快地變成了2009年最被濫用的技術名詞之一,凡是網路應用,就會被資訊廠商貼上雲端產品的標籤,雲端應用變成網站服務的同義詞。

對臺灣ICT業者而言,他們深怕錯過新一波的技術變革,自然焦慮莫名地熱切擁抱雲端。但是,資訊業者浮濫炒作雲端概念的後果,反而讓原本就擔心安全問題的企業更加保守,採取觀望而不行動的態度,甚至有些企業的資訊主管認為,雲端運算只是另一個廠商行銷口號而已。

可是,也有少數臺灣企業真能找到雲端運算技術在企業中可行的應用價值。例如有間善於流程創新的半導體龍頭業者,正在半導體產線中,一項產品往往需要上百道,甚至上千道製程作業,每一道作業的工作站機臺電腦會自動記錄各式各樣的製程資訊和品質監控資訊。

如何調校機臺設定,追蹤製程品質,甚至快速找出良率異常的原因進而排除故障,都得仰賴製程工程師對這些製程資訊的分析。

一般作法上,半導體業者往往藉助許多BI分析工具來處理這些大量產生的製程數據,例如奇美電子曾規畫打造資料倉儲系統(Data Warehouse),來儲存和分析液晶螢幕產線的各項製程數據。

那間半導體龍頭業者,卻打算導入雲端運算技術Hadoop,來打造一套內部雲端運算系統,透過Hadoop框架集中大量伺服器的運算能力,來達到快速分析龐大製程數據的效果,就像Yahoo也曾運用Hadoop技術,在1小時內分析完過去1~2天才能處理好的大量搜尋Log記錄。

這間半導體業者將私有雲端技術運用在生產製程,是臺灣企業少有的作法。

另有一些半導體業者則是考慮透過雲端作業系統來替代生產線機臺設備的監控電腦,將這些監控電腦的功能改由虛擬機器代替,將監控設備集中到雲端環境統一管理,來簡化產線設備的管理負擔,讓產線工程師可以更專注於製程流程的改善,而不用費心維護電腦設備。

對半導體業者而言,製程良率決定了企業的競爭力,而快速分析製程數據的能力,正是左右良率高低的關鍵。企業內部私有雲端平臺不只是節省成本的技術,更成為創造企業競爭力的技術。

臺灣金融業也開始出現了大規模運用雲端服務的案例。渣打銀行以獨立機房運作的形式,導入了甲骨文的SaaS CRM隨選服務平臺來強化客戶關係管理,採用範圍包括臺灣、香港、新加坡等地分行,授權數達一萬多名使用者。

渣打銀行這種將相關資料儲存的後端系統平臺,都部署在獨立機房,而非由隨選服務廠商提供的作法,就是一種企業私有的SaaS服務,也是屬於私有雲的應用型態。

雖然企業還無法像信賴銀行一樣地信賴雲端業者,還不敢將企業競爭力核心的機敏資料放到公開的雲端服務中。但是,支撐各種雲端服務背後的高擴充性分散運算技術、新一代資料中心自動化管理機制、提高伺服器利用率的虛擬化技術等,確實能有助於簡化企業日趨龐雜的IT管理工作,這也是企業真正看重的雲端技術價值。

受到企業需求的壓力,資訊廠商也逐步推出套裝軟體的私有雲工具,例如微軟就打算在2010年推出私有雲端平臺工具企業版,IBM也有提供整套打造的私有雲端系統。除了開源技術以外,企業將有更多選擇來打造私有雲。

在2010年,將會有更多企業嘗試找出各種可行的運用方式,在企業內部善用雲端運算背後的各種技術,形成一股私有雲的應用風潮。這種私有雲系統不一定用來取代既有的內部IT服務,反而最有可能運用在非IT部門的資訊系統中,就像是半導體大廠善用雲端運算優化製程來強化核心競爭力



(ITHome)

2010年9月26日 星期日

4款開源雲計算框架和工具簡介

1、Enomalism (http://www.enomaly.com/) 雲計算平台。Enomalism 是一個開放源代碼項目,它提供了一個功能類似於 EC2 的雲計算框架。Enomalism 基於 Linux,同時支持 Xen 和 Kernel Virtual Machine(KVM)。Enomalism 提供了一個基於 TurboGears Web 應用程序框架和 Python 的軟件棧。




2、Euclyptus (http://eucalyptus.cs.ucsb.edu/) 項目(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems)是 Amazon EC2 的一個開源實現,它與商業服務接口兼容。和 EC2 一樣,Eucalyptus 依賴於 Linux 和 Xen 進行操作系統虛擬化。Eucalyptus 是加利福尼亞大學(Santa Barbara)為進行雲計算研究而開發的。您可以從該大學的網站上下載它,或者通過 Eucalyptus Public Cloud 體驗它,不過後者有一些限制。



3、10Gen (http://www.10gen.com/) 它既是一個雲平台,又是一個可下載的開放源代碼包,可用於創建您自己的私有雲。10gen 是類似於 App Engine 的一個軟件棧,它提供與 App Engine 類似的功能 — 但有一些不同之處。通過 10gen,可以使用 Python 以及 JavaScript. 和 Ruby 編程語言開發應用程序。該平台還使用沙盒概念隔離應用程序,並且使用它們自己的應用服務器的許多計算機(當然,是在 Linux 上構建)提供一個可靠的環境。



4、NimBus (http://workspace.globus.org/) 呵呵,網格中間件Globus的作品,從最早的Virtual Workspace演化而來,提供與EC2類似的功能和接口。

虛擬基礎設施的雲服務:IaaS和Eucalyptus

本文來自IBM developerworks,作者為Prabhakar Chaganti。原文標題:面向虛擬基礎設施的雲服務,第 1 部分: Infrastructure-as-a-Service (IaaS) 和 Eucalyptus。


簡介

在這個 「面向虛擬基礎設施的雲服務」 系列中,瞭解三種主要的雲服務類型:Software as a Service (SaaS)、Platform as a Service (PaaS) 和 Infrastructure as a Service (IaaS)。

在第一篇文章中,探究 IaaS 如何能提供一組構建塊或服務,比如虛擬服務器、數據存儲和數據庫。使用這些服務,您就能夠創建一個平台來部署和運行應用程序。同時,瞭解 Eucalyptus 這種開源的軟件基礎設施,用來實現具有集群或工作站群的雲計算。

雲計算的前景

不嚴格地講,雲計算 是指使用從您的環境之外作為一種服務提供的可伸縮計算資源,它按使用計費。您只需為所使用的資源付費,並在任何時候、Internet 的任何地方均可訪問存在於這個雲之內的任何資源。您無需顧及物理硬件和基礎設施的管理;可以將這些責任留給雲服務提供者。雲計算是一種完全不同的計算和信息技術服務方式。雲計算的前景是提供對所需計算資源的可伸縮的簡便訪問。

如圖 1 所示,雲服務明顯區別於以往的受管服務,主要表現在如下三個方面:

1.按使用付費 — 您使用服務並按分或小時為服務付費。無需為可能需要或實際並未使用的資源提前付費。

2.彈性 — 可以根據需要增加或減少對資源的消費。

3.受管的基礎設施 — 服務的基礎設施由提供者擁有並完全受管於提供者。
 
雲服務可分為如下三個主要類型。




Software as a Service (SaaS)

這是最為常見的一種雲服務類型,我們中的大多數人都或多或少使用過。在 SaaS 雲模型中,服務提供者提供所有的基礎設施以及軟件產品。用戶通過一個基於 Web 的前端與此服務交互。這些服務涵蓋的範圍很廣,從基於 Web 的電子郵件,比如 GMail,到財務軟件,比如 Mint。

Platform as a Service (PaaS)

提供軟件和產品開發工具的一種雲服務,這些工具由提供者托管於它們的硬件基礎設施。用戶可以使用這個平台以及所提供的 API 或是通過一個用於開發的圖形用戶界面來創建應用程序。這種服務的典型例子有 Salesforce.com 的 Force.com 和 Google App Engine。

Infrastructure as a Service (IaaS)

提供對基本構建塊的訪問的一種雲服務。您可以組合併對這些構建塊進行分層來構建運行應用程序所需的基礎設施。IaaS 最典型的例子有 Amazon Web Services (AWS) 和 Rackspace。
圖 2. 雲服務的類型




雲服務還可以基於訪問和位置分為三類:




1.公共 雲對 Internet 上的所有人可用。任何用戶都可以註冊使用公共雲。AWS 和 Rackspace 可能是公共雲最大的兩個提供商。

2.私有 雲是一種專有的雲環境,只對有限的用戶提供雲服務。私有雲通常都位於防火牆後您自己的數據中心內。

3.混合 雲,有時又稱為虛擬私有雲,這種雲提供的服務運行在一個公共的雲基礎設施之上,但通過虛擬專用網(VPN)限制對它的訪問。

目前既可以是運行在 AWS 之上的公共雲,也可以是運行在防火牆後的私有雲的雲服務為數不多,而 Eucalyptus 是其中之一。



Infrastructure as a Service (IaaS)



IaaS 雲提供了一組構建塊或基礎服務,比如虛擬服務器、數據存儲和數據庫。您可以將這些服務一起納入一個平台以便部署和運行您的應用程序。您可以輕鬆地搭建和拆除系統。IaaS 服務通常可通過一個 API 使用基於 SOAP 或 REST 的消息訪問。



IaaS 雲是可完全腳本化的環境;它們非常適合創建隨需應變的框架。快速地組裝好完整的、並能根據對資源的需求擴展或收縮的應用程序部署環境,這種能力是當今 IT 部門的重要價值主張。除了彈性之外,此服務的另一個吸引人之處是服務的按使用付費方式。您只需為您所消費的服務付費,無需預先分配資源。



使用 IaaS 系統會讓多種應用程序從中受益。



測試和試運行

完整的測試和試運行環境可以被創建、使用並在不需要的時候拆除。硬件徵用不再有時間上的延遲,也無需再等待環境就緒。任何時候想要測試,就可以創建一個新的環境並在測試完成後就丟棄該環境。

Web 應用程序部署環境

您可以使用 IaaS 運行 Web 站點並通過按需擴展資源來使站點能夠輕鬆處理流量的增加。您甚至可以使用 IaaS 雲服務針對特定的市場推廣活動或銷售策略創建額外的臨時 Web 站點。

存儲需求

您的企業可以使用雲服務作為為用戶存儲文件和其他數據的地方。

大規模數據處理

您可以使用雲服務的強大功能來處理大型數據集並充分利用大規模並行處理。可以按需創建網格來處理大型數據並在處理完成後拆除這些網格。

AWS 是第一個廣泛可用的 IaaS 系統,它提供了可在 Web 上訪問到的一組服務,這些服務又提供了對 Amazon 的現成可用的計算基礎設施的編程式訪問。由 Amazon 構建並經過多年改進的這個強壯的計算平台現在可以為任何人在任何地點使用,只要他具有 Internet 連接。AWS 所提供的基本構建塊基礎設施能滿足大多數系統的核心需求。對於複雜多樣的企業應用程序的架構的搭建,現在可以通過在 Amazon 提供的這些可靠並且經濟的構建塊服務之上鋪設新的功能得以實現。



AWS 提供的主要服務有:用來管理和運行虛擬實例的 Elastic Compute Cloud (EC2);用來存儲數據的 Simple Storage Service (S3)。這些服務均可通過 API 使用 SOAP 或 REST 訪問到。此 API 正在迅速成為與雲服務環境交互的事實標準,並且 Eucalyptus 也充分利用了它來提供一個很棒的 IaaS 平台。
Eucalyptus












Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) 是一種開源的軟件基礎結構,用來通過計算集群或工作站群實現彈性的、實用的雲計算。它最初是美國加利福尼亞大學 Santa Barbara 計算機科學學院的一個研究項目,現在已經商業化,發展成為了 Eucalyptus Systems Inc。不過,Eucalyptus 仍然按開源項目那樣維護和開發。Eucalyptus Systems 還在基於開源的 Eucalyptus 構建額外的產品;它還提供支持服務。



不管是源代碼還是包安裝,Eucalyptus 很容易安裝在現今大多數 LinuxR 發佈版上。它提供了如下這些高級特性:



1.與 EC2 和 S3 的接口兼容性(SOAP 接口和 REST 接口)。使用這些接口的幾乎所有現有工具都將可以與基於 Eucalyptus 的雲協作。

2.支持運行在 Xen hypervisor 或 KVM 之上的 VM 的運行。未來版本還有望支持其他類型的 VM,比如 VMware。

3.用來進行系統管理和用戶結算的雲管理工具。

4.能夠將多個分別具有各自私有的內部網絡地址的集群配置到一個雲內。

架構



Eucalyptus 包含五個主要組件,它們能相互協作共同提供所需的雲服務。這些組件使用具有 WS-Security 的 SOAP 消息傳遞安全地相互通信。



Cloud Controller (CLC)

在 Eucalyptus 雲內,這是主要的控制器組件,負責管理整個系統。它是所有用戶和管理員進入 Eucalyptus 雲的主要入口。所有客戶機通過基於 SOAP 或 REST 的 API 只與 CLC 通信。由 CLC 負責將請求傳遞給正確的組件、收集它們並將來自這些組件的響應發送回至該客戶機。這是 Eucalyptus 雲的對外 「窗口」。

Cluster Controller (CC)

Eucalyptus 內的這個控制器組件負責管理整個虛擬實例網絡。請求通過基於 SOAP 或 REST 的接口被送至 CC。CC 維護有關運行在系統內的 Node Controller 的全部信息,並負責控制這些實例的生命週期。它將開啟虛擬實例的請求路由到具有可用資源的 Node Controller。

Node Controller (NC)

它控制主機操作系統及相應的 hypervisor(Xen 或最近的 KVM,很快就會支持 VMWare)。必須在托管了實際的虛擬實例(根據來自 CC 的請求實例化)的每個機器上運行 NC 的一個實例。

Walrus (W)

這個控制器組件管理對 Eucalyptus 內的存儲服務的訪問。請求通過基於 SOAP 或 REST 的接口傳遞至 Walrus。

Storage Controller (SC)

Eucalyptus 內的這個存儲服務實現 Amazon 的 S3 接口。SC 與 Walrus 聯合工作,用於存儲和訪問虛擬機映像、內核映像、RAM 磁盤映像和用戶數據。其中,VM 映像可以是公共的,也可以是私有的,並最初以壓縮和加密的格式存儲。這些映像只有在某個節點需要啟動一個新的實例並請求訪問此映像時才會被解密。

一個 Eucalyptus 雲安裝可以聚合和管理來自一個或多個集群的資源。一個集群 是連接到相同 LAN 的一組機器。在一個集群中,可以有一個或多個 NC 實例,每個實例管理虛擬實例的實例化和終止。



在一個單一集群的安裝中,如圖 3 所示,將至少包含兩個機器:一個機器運行 CC、SC 和 CLC;另一個機器運行 NC。這種配置主要適合於試驗的目的以及快速配置的目的。通過將所有東西都組合到一個機器內,還可以進一步簡化,但這個機器需要非常健壯才能這樣做
圖 3. 一個單集群 Eucalyptus 安裝的拓撲


在多集群安裝中,可以將各個組件(CC、SC、 NC 和 CLC)放置在單獨的機器上。如果想要用它來執行重大的任務,那麼這麼做就是一種配置 Eucalyptus 雲的理想方式。多集群安裝還能通過選擇與其上運行的控制器類型相適應的機器來顯著提高性能。比如,可以選擇一個具有超快 CPU 的機器來運行 CLC。多集群的結果是可用性的提高、負載和資源的跨集群分佈。集群的概念類似於 Amazon EC2 內的可用性區域的概念。資源可以跨多個可用性區域分配,這樣一來,一個區域內的故障不會影響到整個應用程序。圖 4 給出了一個例子。




圖 4. 一個多集群 Eucalyptus 安裝的拓撲


在將 Eucalyptus 安裝並應用到您的基礎設施上之前,需要考慮硬件要求。雖然出於試驗目的,可以在一個筆記本電腦上運行全部內容,但是對於一個實際的部署場景,多集群無疑是一個更好的選擇。如下所列的是 Ubuntu 管理員對硬件配置方面的一些指導。這些指導可廣泛應用於任何的 Linux 發佈版(不只是 Ubuntu)。




下面的指標是對用來運行 CC、CLC、Walrus 或 SC 的機器的建議配置。


硬件 最低 建議

CPU 1 GHz 2 x 2GHz

內存 512 MB 2 GB

硬盤 5400rpm IDE 7200rpm SATA

磁盤空間 40 GB 200 GB

聯網 100 Mbps 1000 Mbps





運行 NC 的機器需要更為強大,因為這些機器將會運行每個虛擬實例。它們還需要充足的磁盤空間來存儲啟動實例所需的映像。運行 NC 的這些機器最好是多核的、內存至少 4 GB、使用高速磁盤驅動器。如下是一些建議指標。


硬件 最低 建議

CPU VT 擴展 VT,64-位,多核

內存 1 GB 4 GB

磁盤 5400rpm IDE 7200rpm SATA 或 SCSI

磁盤空間 40 GB 100 GB

聯網 100 Mbps 1000 Mbps


可用性和安裝

在我寫作本文之時,Eucalyptus 的最新版本是 1.6。您可以通過使用由該項目托管的免費公共實例 ucalyptus Public Cloud (EPC) 立即體驗 Eucalyptus。EPC 具有有限的資源,所以對能夠啟用的實例的數量以及能夠使用的存儲量都是有限制的。但是,它仍然是一個很好的體驗 Eucalyptus 和瞭解該環境的途徑。

Eucalyptus 可以從源代碼安裝,也可以從面向特定 Linux 發佈版的包安裝。從源代碼安裝雖然複雜一些,但可工作於幾乎所有的 Linux 最新版本。包安裝雖然簡便,但只適用於 Redhat 和基於 Debian 的發佈版。更詳細的安裝指導,請參考 Eucalyptus 管理員指南。安裝 Eucalyptus 最為簡單的方法是安裝 Ubuntu Linux 發佈版的最新版本 Karmic Koalad,並充分利用 Ubuntu Enterprise Cloud,它能提供對運行基於 Eucalyptus 的雲的完整支持。



Eucalyptus 和 Ubuntu Enterprise Cloud

Ubuntu Enterprise Cloud (UEC) 是一個由 Ubuntu 提出的新的開源計劃,旨在進一步簡化基於 Eucalyptus 的雲基礎設施的部署、配置和使用。UEC 簡化了如下內容:

1.創建能夠在 Amazon 的 EC2 基礎設施上運行 Eucalyptus 的公共雲

2.創建能夠在位於防火牆之後的數據中心內部的基礎設施之上運行的私有雲

這是到目前為止最為簡單的安裝和嘗試使用 Eucalyptus 的方式。只需下載 CD 服務器版並將其安裝在任何想要的地方。UEC 也是第一個允許在本地環境輕鬆創建雲服務並進而利用雲計算強大功能的開源項目。

Eucalyptus 的益處

Eucalyptus 是一個具有優良架構的雲服務環境,可用來在 Amazon 的 EC2 基礎設施上創建一個公共雲,或者在您的數據中心(甚至是筆記本電腦)內創建私有雲。如果您正在考量在您的團隊或組織內使用雲計算,那麼 Eucalyptus 非常值得您考慮用作雲服務平台。它提供了如下一些好處。

開源和開發

Eucalyptus 的創建是為了促進雲計算平台方面的交流和研究。它以源代碼的形式提供免費使用,這就使得您很容易透過其表面看到它的實質,或是針對自己的需求創建該平台的擴展。開發的步調很快。特性以及改進不斷被添加到 Eucalyptus。

Eucalyptus 具有一個由願意與他人免費共享自己見地的熱情而博學的用戶組成的傑出社區。他們的論壇是您獲得支持並與其他 Eucalyptus 用戶交互的一個很好的途徑。

公共雲

Eucalyptus 可很容易地作為一個公共雲安裝和運行在 Amazon 的 EC2 框架上。

私有雲

Eucalyptus 可被作為運行在您的基礎設施之上的私有雲安裝於防火牆後的數據中心內。這樣,您就獲得了對安全性和環境的全面控制。

可移植性

得益於 Eucalyptus 與 Amazon 的 EC2 API 的兼容性以及 Eucalyptus 的靈活性,可以很容易地將應用程序從一個雲遷移到另一個雲。甚至可以創建混合雲來同時使用公共和私有雲。

經過了良好的測試

Eucalyptus 現在是 Ubuntu Enterprise Cloud 的一部分,並且是全球數千個 Ubuntu 服務器的一個組件。這種測試規模將會很快鞏固 Eucalyptus 平台的穩定性。

商業支持

如果您需要超出論壇所能提供的更快的支持,對於基於 Eucalyptus 的雲還有商業支持可用。


在本文中,您瞭解了 Infrastructure as a Service (IaaS) 雲計算環境。您還探究了可用來創建公共或私有雲基礎設施的開源 Eucalyptus 項目。

本系列的第 2 部分將著眼於 Platform as a Service (PaaS) 雲環境以及 Appscale,一個用來運行 Google App Engine 應用程序的開源項目

微軟揭露雲端運算戰略,企業私有雲工具半年後上市

臺灣微軟在雲端運算研討會中揭露,明年上半年將推出私有雲端平臺工具企業版DDCT-E,可以讓企業用來打造內部私有雲端平臺。


微軟虛擬化暨管理事業群總經理Zane Adam表示,針對IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)到SaaS(Software as a Service)等不同類型的雲端應用,微軟會推出不同的雲端運算產品。

在IaaS,微軟已經發表了Windows Server 2008和Hyper-V虛擬化技術,PaaS則有Azure雲端服務平臺,可供企業開發雲端應用程式,SaaS則包括如Exchange Services和SQL Services等。Zane Adam也預告了2010年微軟將推出多項雲端產品。


舉例來說,美國微軟總部下個月將開始推出付費的Azure平臺企業版,包括SLA服務品質的保證。微軟在19個國家推出的Microsoft Online Services線上服務也會在臺灣推出。Azure平臺不只支援.NET應用程式,也可以支援其他網頁動態語言如PHP和JSP,國外已有企業使用案例如達美樂披薩就是將JSP開發的下單系統,轉移到Azure平臺上執行。

不過,臺灣微軟開發工具暨平台推廣處副總經理劉念臻表示,原本臺灣列在Azure企業版第二波上市名單中,而非下個月上市的第一波名單,不過後來微軟總部尚有調整,目前還未確定Azure商業版在臺上市時間。

免費推出企業私有雲工具

在企業私有雲端平臺上,Zane Adam表示,2010年也會推出兩項新功能,包括DDCT-E(Dynamic Data Center Toolkit for the Enterprise)和Private Cloud Federation。

前者可以讓企業打造內部私有的雲端服務平臺,後者則是可以讓企業將內部使用的虛擬機器轉移到微軟Azure平臺上執行

OCCI開放雲端運算介面

OCCI開放雲端運算介面


面對上述問題,開放網格論壇(Open Grid Forum, OGF)早已成立專責介面標準化的工作小組。其所制定的開放雲端運算介面標準(Open Cloud Computing Interface, OCCI),即為一個免費、開放、為社群共同接納推動,且以雲端基礎架構服務為鎖定目標的介面標準。藉由該API,資料中心與雲端夥伴可以免受現有一堆專利或開放雲端API之間歧異不相容之苦。

面對雲端基礎架構服務所組成之關鍵元件,目前OCCI是採用資源導向架構(Resourced Oriented Architecture, ROA)來表示。同時,每個由簡潔URI標示的資源可擁有許多不同的描述呈現方式(例如可以超文件來表示)。OCCI工作小組正規劃在API中加入許多格式的支援,在初始版本中,Atom/Pub、JSON及Plain Text等標準都被納入支援行列中。
該版本並且規定一個單獨URI進入點(Entry Point)定義一個OCCI介面,該介面顯示「Nouns」內含屬性,其中的「Verb」會被執行。原則上,該屬性會以鍵值對(Key-value pairs)表示,而適當的動詞則以連結(Link)表示。重要的是,該屬性會以URI來描述。該API不僅提供CRUD操作,且分別與HTTP Verb的POST、GET、PUT及Delete等參數相對應。HEAD與OPTIONS等Verb參數可用來檢索詮釋資料(Metadata)與有效操作,而不需要實體主體來增進效能。所有HTTP功能均能利用現有網際網路基礎架構,包括快取、代理、閘道及其他進階功能。再者,所有詮釋資料,包括資源間的關聯性會透過HTTP表頭對外公開。該介面原生地以ATOM表示,並盡可能地接近底層HTTP協定來執行。

OCCI會提供對基礎架構服務之定義、創建、部署、操作及退出的管理功能。透過簡易服務生命週期模型,可支援由雲端供應商提供的基本通用生命週期狀態。在事件中,供應商並不會提供或報告服務生命週期狀況,OCCI並不會強制遵行,而是將生命週期模型定義成提議書,供雲端供應商遵循。
參照OCCI,雲端運算用戶端可啟動執行全新應用程式堆疊,並管理其生命週期與其採用的資源。為了執行像是來自SNIA CDMI介面所導出的應用程式堆疊,透過OCCI介面即可分派儲存至特定虛擬機器。SNIA機構並表示,接下來該組織會進一步對儲存管理與其中資料管理之方法途徑進行檢驗。
小結


雲端儲存與雲端運算一樣,必須經由網路來提供隨選分派的儲存資源。重要的是,該網路必須具備良好的QoS機制才行。對於用戶來說,具備彈性擴展與隨使用需求彈性配置的雲端儲存,可節省大筆的儲存設備採購及管理成本,甚至因儲存設備損壞所造成的資料遺失風險也可因此避免。總之,不論是端點使用者將資料備份到雲端,抑或企業基於法規遵循,或其他目的的資料歸檔與保存,雲端儲存皆可滿足不同需求。

至於IT資源要能實現彈性隨需配置,還須仰賴各種不同平台領域之間的協同工作才能達成。而國際標準的制定,正有助於整個雲端運算相關產業的應用發展,讓雲端的精神不再那麼遙不可及,而是落實到實際IT架構的應用。

原文刊載於RUN!PC雜誌:2009年11月號

2010年9月24日 星期五

開源雲平台:Eucalyptus VS OpenStack

Rackspace和NASA近日聯手推出的雲計算軟件堆棧OpenStack在開源軟件與雲計算業界激起陣陣漣漪。簡單來說,OpenStack為那些希望給用戶提供雲服務的托管供應商們創造了進入雲計算領域的機會,就像Parallels Virtuozzo為Web托管公司開發了虛擬化私有服務器。
隨著對實際雲計算與IaaS背後安全問題的理解逐漸加深,OpenStack為用戶在將業務遷移到私有雲或公共雲之前提供了安全方面的自助雲服務和私有測試實驗室。在雲計算業界,OpenStack雖然被譽為是最重要的產品,但同樣存在缺陷。
想搭上雲計算供應商Amazon這艘航母嗎?那麼,你就需要轉向市場上 的另一款開源雲計算產品Eucalyptus。Eucalyptus推出已經有3個年頭了,對於IaaS產品而言算是不短的時間了。Eucalyptus 最初源於聖巴巴拉市(Santa Barbara)加州大學計算機科學院的一個研究項目,到2009年它成為盈利型項目。
Eucalyptus的優勢
首先,Eucalyptus的一大優勢就是自身的開源軟件組件無需修改即可使用,這也意味著它可以輕鬆地運行在沒做修改的GNU Linux內核上。Ubuntu的內嵌雲計算平台同樣也是基於Eucalyptus的,下載後即可安裝使用,操作起來更是非常的方便。
但這些都不足與Eucalyptus最大的優勢相提並論:它設計了與Amazon的EC2平台兼容的開放編程接口(API)。這意味著一家評估 EC2的公司可以在免費的操作系統上使用免費軟件來構建相互兼容的測試實驗室。同樣Amazon的用戶,也可以在將工作移向實際雲環境之前採用 Eucalyptus從事開發工作。此時的Eucalyptus更是減輕了決策者對於雲計算的憂慮。
有趣的是,Eucalyptus也曾被NASA加利福尼亞州的Ames研究中心應用到Nebula平台項目上來,直到碰到Eucalyptus 部分未開源部分才迫使他們放棄了Eucalyptus。最初的問題僅僅是擴展性問題,這也是大部分產品最初都會遇到的問題,但是Eucalyptu與 NASA的裂痕發展到無法挽回的地步,卻是因為NASA發現Eucalyptus不願向該項目提供解決擴展性問題的代碼,即便是該項目並未與 Eucalyptus Systems Inc(Eucalyptus幕後的實體公司)造成利益衝突。
因為Eucalyptus項目並非完全開源。Eucalyptus幕後公司維護著部分代碼,這些代碼關係到商業版Eucalyptus Enterprise Edition(E3)的諸多特性,例如管理、SAN集成、更為出色的後台數據庫以及與VMware的兼容性,這些功能對公司而言,既不可能也不願意開 源。而OpenStack則是100%的開源產品,雖然它目前還沒有提供以上特性功能,但是這些已都被列入了它的技術發展路線。
Eucalyptus也並非100%實現了與Amazon EC2的兼容。雖然它實現了大部分EC2的APIs(以及部分EC3 APIs),但是它不是,也不願意成為完全的EC2副本。Eucalyptus的出色之處在於及時交付、創建新服務器的守護進程,接近實時的自動化。這不 光減輕了IT資源的負擔,同時也提高了應對突發需求的效率。只要被交付的服務器是其支持的類型(主要針對EC2用戶),都可以很好地使用 Eucalyptus取代EC2,或是將Eucalyptus作為遷移服務器或模塊至EC2之前的測試區。
目前,Eucalyptus是僅有的全功能雲計算產品,它遵守包括自身在內的任何標準,同時它選擇了同這個市場的最大贏家Amazon結盟。Eucalyptus依靠它在IaaS的聲譽獲得了重要的市場份額。
OpenStack會如何影響開源
從歷史上來看,開源社區對經濟發展與計算機業創新都有著深遠的影響。眾所周知,開源軟件推動了早期的單機應用向商業化轉型。在數據庫方面,我們 只需觀察MySQL和PostgreSQL;在Web服務器方面,同樣有著開源的Apache;而應用服務器方面,則有Tomcat,JOnAS、 JBoss、Jetty和GlassFish;在編程與腳本語言方面,有Java、Perl和PHP。GNU Linux更是對商業化操作系統以及手機操作系統做出了眾多貢獻。
OpenStack承諾為雲計算商品提供技術支持。雖然市場總為非開源項目留有空間,但開源軟件同樣對其影響深遠,它推動著創新與系統間的相互協作
理論上,OpenStack以全開源方式提供給我們所需的功能。儘管它已經吸引到一線廠商的關注(Citrix、Dell、NTT等),但畢竟 還只是個功能有限又缺乏成熟與穩定的「開發測試版」。而佔據優勢的Eucalyptus又將對開源雲計算平台市場產生怎樣的影響?它會隨著市場變化,在兼 容性和開放性上逐漸完善,還是固守成規默默地退出歷史舞台?一切都需要市場的檢驗。
來源TechTarget中國 作者:Joseph Foran

2010年9月23日 星期四

Eucalyptus Sysyem Ubuntu Open source APIs

Canonical 日前正式釋出 Ubuntu Server 9.1,其中整合了 Eucalyptus 雲端 APIs。根據 Eucalyptus Systems 技術長 Rich Wolski 表示,這組 APIs 在這次的 Ubuntu 散佈套件中,可以輕鬆地啟用。

聽到 Ubuntu,你最先想到這是知名的桌面散佈套件,沒錯,Ubuntu 9.1 的確是不錯的桌面散佈套件,可是 Ubuntu 背後的公司 Canonical,正逐漸把這次釋出與隨後的長期支持版本 (long-term support version) 重心,放到伺服器市場。

代號 Karmic Koala,Ubuntu 9.1 是第一套透過來自 Eucalyptus 開放源碼專案提供的相容 APIs,內建存取 Amazon EC2 工具的作業系統。由加州大學 (University of California) 電腦科學教授 Wolski 創立的 Eucalyptus.org 複製了 EC2 的基本功能。Wolski 表示,在此次 Ubuntu 釋出中可以輕易地啟用 Eucalyptus。Ubuntu 將加速雲端運算技術普及化。

雖然 Eucalyptus 早先已經被包含於 Ubuntu 9.0 中,9.1 散佈套件進一步讓 Eucalyptus 更適於應用在正式產品環境中。

Canonical 看重伺服器市場已經有一段時間,在 Ubuntu 9.1 仍處於 beta 階段時,Canonical 便引入支援大型企業的 PSE (Premium Service Engineer),提供企業用戶接觸 Canonical 平台工程師的專人負責選項。

此外,Canonical 支援與服務主任 Steve George 表示,Canonical 視相容於 Amazon EC2 的 UEC (Ubuntu Enterprise Cloud) 為 Ubuntu 9.1 最重要的功能。George 強調 UEC 並非僅是另一套雲端釋出。他指出,嘗試雲端運算的用戶只能使用公開網雲,UEC 卻允許企業在內部建構網雲。透過建構於 Eucalyptus 專案上的 UEC,用戶可以在若干伺服器執行的 Ubuntu Linux 伺服器上架設相容 EC2 的網雲。

部份觀察家指出,開放源碼因為可以重複複製於雲端環境,無須增加授權費用,將在雲端運算中逐漸扮演重要角色。隨著 Ubuntu 9.1 的釋出,外界開始關注開發者是否真的會運用這樣的技術,開始建構雲端應用軟體。

Ubuntu Server 9.1 是第一套打開通往雲端大門的開放源碼程式碼組合。使用 Ubuntu Server 9.1 與 Eucalyptus 開發的應用軟體,可以在私有網雲或資料中心的虛擬伺服器上執行。私有網雲允許企業終端用戶自行提供所需的虛擬機器。

使用 Ubuntu 9.1 的開發者也可以上傳其應用軟體到 Amazon 的 EC2 或相容於 Amazon APIs 的公開網雲上。Eucalyptus 專案複製了載入並執行 Amazon Machine Image 與使用 S3 儲存服務的功能。

利用 UEC 建構的應用軟體還可以在混合模式下運作,工作負載穩定時,在資料中心的私有網雲上執行,遇到負載高峰時,就傳送到公開網雲上。

在伺服器版本外,同步釋出的尚包括 Ubuntu 9.1 的桌面與 netbook 版本。桌面使用者最先注意到的,或許是 Ubuntu 9.1 更加快速的開機程序。Ubuntu Linux 創辦人 Mark Shuttleworth 稍早曾表示,Karmic 的開機流程比起先前所有的 Ubuntu 釋出版本都要快。他們的目標是 10 秒開機完成,Karmic 算是有了不錯的進展。

此外,新功能之一的 Ubuntu Software Center,是翻新 Ubuntu 中新增與刪除軟體功能的嘗試。Shuttleworth 指出,Ubuntu 未來的軟體交付機制,將增加第三方獨立軟體開發商自主權,並創造更為流暢的使用者體驗。

伴隨 Karmic 釋出的,是提供桌面用戶的 Ubuntu 網路服務 Ubuntu One。Ubuntu One 提供使用者 2 GB 的免費備份儲存空間和雲端同步化,Ubuntu 9.04 以上版本的用戶可以複製檔案到雲端儲存空間。

2010年9月18日 星期六

體驗 Cloud Computing Operating System

這三款 Cloud Computing Operating System 支援中文對於一般人 使用Linux 只要會控制Firefox 等...
能使用的功能算已經非常豐富

1.ICloud

2G.ho.st

3.千腦

http://trac.nchc.org.tw/cloud

雲端服務API開發之基本概念

1. API的角色

「台灣雲端服務產業發展的新焦點:API」提到台灣在雲產業裡的兢爭優勢,以及能四兩撥千金的重要槓桿點:API。很多讀者問道:有沒有API開發的How-to呢? 答案是:當然有。首先來看看API的角色,如下圖:

圖1、雲API的角色

雲主就是雲服務的盟主(強龍),全球第三方應用程式開發者(AP開發者)是自願來協助雲主的地頭蛇。API就成為雲主與眾多地頭蛇之間的分工介面,也是雙方系統的介面。像台灣的「無名小站」、中華電信等雲服務者,或國外的Facebook、Google等都會主動提供API給AP開發者,並且提供內容(Content)來源,則AP開發者就能據之而開發形形色色的應用程序,回饋給雲主。
隨著API愈來愈完整,愈多地頭蛇投靠該雲主,自然而然雲主擁有了更多AP和內容,於是將AP和內容整合為服務(Service),提供給數以億計的用戶了。
2. 雲服務API的分類
API(Application Interface)的型式有許多種,但可以分為兩類:「被動型API」和「主動型API」。被動型API通常是以程式庫(Software Library)形式呈現。因為它提供一群函數(Function)來讓應用程序呼叫之。它被應用程式呼叫,所以稱為被動型API。
主動型API通常是以框架(Framework)形式呈現。因為它提供一群父類別(Super class)來讓應用程序的子類別(Sub class)繼承之。通常,它都主動呼叫應用程式,所以稱為主動型API。

2010/4/16By 高煥堂
** "雲端服務與Android軟硬整合之路" 課程

(經濟部主辦、工研院承辦、高煥堂主講)




平民創新 就在雲端API

昔日白手起家,找錢、建廠房、買設備……,樣樣都得自己來;失敗了,就此進入償債的惡夢中。

今天,Internet為平民百姓架構了一座創業天堂,廣邀大家拚創意。在這裡,創業幾乎零成本:網路是現成的,申請就有;免費軟體也不缺;於是,創新、創意,才是創業成敗的決勝點。
現在,雲端運算更像是挑旺全民創新的一把火。目前,在網路上,有琳琅滿目的免費網路服務,其中,許多提供服務運作的應用程式,可讓資訊工程人員以自身的需求,進行進一步開發,而網路服務中,有不少是經由網際網路存取的API(Application Programming Interface,應用程式介面),這些介面可提供使用者使用遠端系統(編按:「雲端」之名的由來,正是形容:當使用者使用這些遠端系統時,只管使用,並不需要知道系統位處哪裡,就像是它在「雲深不知處」一般)所執行的服務。還有另一層可能,就是這些API也提供了許多網路創業家、或利用網路嘗試創新模式的經理人,透過資源的整合與運用發揮創意,就可以輕鬆建立自己想要實踐的商業模式。
提供低成本創業資源
「新創公司可以用比較低廉的成本建構新事業,」DEMO Conference創辦人Chris Shipley表示,這些大企業(如Google)透過雲端運算服務,免費提供這些API給大眾使用,可以讓網路創業者把創新的想法迅速推向市場,而不須去煩惱投資大量硬體設備。
國內最大地圖社群網站「地圖日記」共同創辦人的郭家齊,對此頗有感觸:台灣地圖資訊很貴,若不是透過UrMap、Google Maps免費提供API,藉此擴充應用,恐怕5年、10年都無法實踐這個商業模式。「2007年初是我們資源最缺乏、也是最想創業的時候,因此,免費使用圖資這件事是創業關鍵,畢竟這不是一般小公司可以負擔得起,『若打不起資源大戰,很多事(創業)就沒有辦法。』」郭家齊分析。
Google Maps API可說是雲端服務的經典案例。Google建立圖資,開發者和技術人員不需要汗流浹背根據應用程式去寫程式碼,或是處理相關的技術問題。開發者和技術人員只要把Google的網路API叫來,就像是在一個有基本餡料的披薩,加上自己想要的海鮮口味或辛辣配料,甚至嘗試一些古怪的食材去「混搭」,就可以烤出自己要的披薩。他根本不要去煩惱麵粉進貨成本和皮技術好壞,API已經免費提供,用一些技術能力和創意,就可以免費吃到具有新意的義大利料理了。如果你有商業頭腦,這些免費的服務還可以讓你向別人收錢,形成新的收費模式。

踩上雲端,輕鬆跨越創業門檻
這些免費的API減輕了自行書寫程式所需的開發時間和成本,也解決了在過程中所需的頻寬問題。在雲端上的這些API像是一個個階梯,讓網路創業者踩在上面,輕鬆跨越許多創業門檻。
網路及雲端運算服務為創業者提供方便之門,只是,最後成功與否,取決於創業者的創新商業模式。Chris Shipley提醒,這些商業模式是否具有投資價值,還是要看它們所建立起來的商業模式,是否讓使用者在雲端上爭相使用、成為生活中的一部分;否則一般使用者不買單,就算雲端服務推出再多的API給創業者嘗試,也不能成就一門好生意。
Facebook是在Web2.0浪潮下社群網站的代表作。和實踐2.0精神的網站一樣,Facebook開放許多API讓使用者一起來延伸發展其應用,在程式上加上個人的需求和想像,豐富大眾共享的成果。在雲端的世界裡,這些提供免費API的網站不僅分享社群的力量,更見證了一項事實:你也可以在API上搞創意和創新,如果你夠有本事,它也可能是大事業的起點。「中國的許多創業家也熱衷於把這些雲端服務推至網路社群應用。」中國創業邦傳媒CEO南立新觀察。
值得注意的是,這些來自雲端的API除了免費提供,它還讓許多開發人員在Web2.0的世界裡共享相關功能,使用者也會一起貢獻發展的結果。結果,技術人員在這些API加上自己的創意與想像,讓Web2.0的世界更凸顯個人創新的可能性,也彰顯群體貢獻的價值;這樣的運作模式在社群網站上所締結的創新力量,不可小覷。
「Facebook和iPhone將是創業者連結API應用的兩大平台,」Chris Shipley表示,因為兩者是目前最普及的社群和行動使用平台,所以對於許多創業的研發人員來說,把一些雲端上面的程式做Mash-up(混合性網路服務,簡稱「混搭」),可以發展很多創業的可能。她進一步解釋,未來有很多雲端的服務會在iPhone、Kiosks、Android、RFID、eDisplay等技術應用,許多資料和服務就會在雲端上發酵成新的商業模式,創新更加無所不在。

混搭也能引爆創新商機
郭家齊說,技術人員可在API上運用Javascript、PHP等技術繼續Mash-up,節省很多開發時間,就可以專注在應用上。只要你懂得如何去Mash-up,在兩個API上混搭出自己的創新做法也是可以的。他也強調,由於很多技術人員享有雲端免費的API服務,也象徵會有更多的競爭者很快加入,所以一定要在自己的商業模式上做更多的服務與強化差異性,才能與後進者進行區隔,「否則每個人都利用Google Maps複製類似的服務,那麼你的競爭優勢在哪裡?」

事實上,許多雲端所提供的API服務,也非全然免費;但是,所強調使用者付費的精神,終究已帶給網友很大的福音。例如Salesforce提供自家開發的Force.com之API,還有提供給開發者的套裝工具包,會根據使用者登入的次數,來決定收多少錢。
Amazon這家網路零售商龍頭,也是雲端服務重要提供者。Amazon因為發展電子商務卓然有成,把眾多的伺服器和硬體設備租借給開發者使用,例如知名的Elastic Compute Cloud(稱為EC2)就提供多種規模的伺服器,給那些預算不多、無力投資龐大硬體資源的企業租用;在此,小型企業可專注在核心與創新服務的開發。
免費的API除了降低創業門檻,更提供新創公司快速成長的條件。「我們發現雲端所提供的免費服務,也讓我們快速增加會員。」郭家齊解釋,像是Yahoo!的API帳號提供整合功能,可以降低會員註冊門檻,協助地圖日記快速增加會員。不過,郭家齊表示,Amazon所提供的伺服器租借服務仍以美國市場為主,所以,目前地圖日記的伺服器主要還是靠自身添購為主,「我們持續觀察看台灣是否有更實惠的解決方案。」
郭家齊指出,目前,具有雲端服務的網站持續降低門檻,為的是讓更多人使用API,例如Yahoo!強化API的自動化使用,即使工程背景不強的人,也可以輕易上手。
倘若,這些API不僅刺激全民釋出智慧,還可以更全面、更自動化去執行許多網路應用,它將會把Web2.0推向更進階的網路世界嗎?當更分散與多元的網路應用瞬間而快速的運作,爆發更多創新與創業的能量,試問:Web3.0會在雲的那一端誕生嗎?還是,我們早已啟程了?
http://ideas.org.tw 創新發現誌 2009/09/16 第50期

Google雲端API在行動應用程序開發者中速崛起

2010-04-29 來源:中國IDC產業聯盟
Ovum最新的《移動應用程序發開發者調查報告》發現,有60%的移動應用程序開發者正在使用或打算使用Google 服務器端的API開發應用程序,令移動運營商僅25%的使用率望塵莫及。
       Ovum的獨立產業分析師Michele Mackenzie評論說:「這一點都不意外,Google利用自身在互聯網領域的優勢,迅速的將自己打造成移動應用程序領域中的強力合作夥伴。」
       雖然據指出移動運營商增加更多對於API的支持,但是很令人遺憾地只有 25%的受訪者支持或打算支持移動運營商的API;特別是同時有31%的樣本正在使用或打算使用Facebook的API。這清楚的表示移動運營商的努力受到打擊,但現在還是競爭的初期,業者們還沒有打算退出比賽。
       在選擇開發應用程序的夥伴時,最優先考慮的是容易開發的程度(70%),其次是平台功能的豐富度(69%),質量良好的SDK(68%),與靈活度/創新程度(63%)。
       蘋果公司的App  Store成為開發者的首選渠道,有74%的受訪者透過或計劃透過App store發表他們的應用程序。 Android Market, BlackBerry App World與Windows Marketplace的表現也都相當不錯,有超過50%的被調查者支持他們。
       首席分析師Eden Zoller,評論道:「令人意外的是,運營商的入口網站或應用程序商店並不如預期中與終端廠商的應用程序商店交惡。」51%的受訪者正在或是打算把移動運營商的應用程序商店當作渠道使用。「一般普遍認為移動運營商是良好的渠道夥伴,因為他們符合許多作為夥伴的核心屬性,並且也同樣支持部份或全部上述對手所提供的裝置。」
       當選擇發佈應用程序的渠道夥伴時,開發者的優先考慮是可得性(32%)。簡單的說,他們希望能把服務盡可能的推廣給越多人越好。地理性與本地化排名第二(12%),接著是技術支持(10%)。與商業模式相關的議題像是成本、靈活度與分成比例的排名都不高,但是不應該誤以為這些事情不重要。重點是瞭解這些基本要素在受訪者心中的輕重緩急。

2010年9月14日 星期二

走向雲端意味著走向開源?

【TechTarget中國原創】對於很多企業的開發團隊來說,轉向雲端也帶來了組織機構的技術障礙。開發管理者需要分類很多開源替代物,作為他們雲環境重新構架的考慮,這種環境要交付在內部或者網絡上的托管的「彈性」(高可擴展性)服務。此消息來源於「用開源為雲部署重新構架應用」的在線研討會。
Collabnet CEO Bill Potelli表示:「開源為雲環境提供許多必要元素,也為重新構架提供了解決方案。」重新構架的好處包括減少週期時間和運營成本,增加靈活性。
Black Duck軟件CEOTim Yeaton講到開源是「公共雲基礎架構的基礎」。他引證的例子包括Hadoop、Eucalyptus、Hyperic、deltaCloud、Open Stack和OpenECP。
       Yeaton認為隨著應用開發轉移到多源環境,為轉移到雲利用最佳組件式必要的。重新構架要求企業結合使用開源和傳統技術。

當然也存在技術障礙。開源提倡者SpringSource前任領導Robert Bearden表示架構的挑戰之一就是新的雲環境要求可擴展的雲基礎設施和可擴展的數據平台。移動應用到雲環境中的一個策略就是通過集群高速緩存(像 Memcache)從數據中分離出應用。支持雲環境的項目包括deltaCloud、Eucalyptus和Open Stack。

開源是重要的雲開發元素

在IDC的一份聲明中,其應用生命週期管理&執行決策醒目總監Melinda-Carol Ballou說開源的低門檻和豐富資源標誌著上市時間的優勢,而且對於企業開發者來說是雲開發策略的重要元素。

轉移應用到雲環境達到了一種邏輯的願景,Bearden如是說道。它可以盡可能多或者少地需求,保持彈性的自然本質。從虛擬化遷移到私有雲意味著共享多個物理源,這些物理源可以從不同環境中提取出來。

Potelli對於雲系統中存在的挑戰也表示贊同,但是也表明多數情況下是已知的。

Potelli講到:「在設計雲時,確實存在挑戰。每一朵雲都有一點不同,因為計算機所使用的網絡和存儲多少有點區別。所有超重的基礎架構和軟件選擇都是有基礎設施提供的。雲目標設計的挑戰在於能夠理解每一朵雲的唯一性,然後能夠按照目標想法進行設計。」

儘管很容易測量雲計算究竟多快可以得到注意,但還是有一些運動出現了。此次網絡會議的主辦方Black Duck表示。Black Duck是一家開源軟件開發治理產品和服務的廠商,分析表明從2008年到2009年,與雲相關的項目中其用戶增長了70%。這些項目的總和接近五千萬行代碼。Black Duck的估計中,亞馬遜的EC2作為主流雲環境,隨後是微軟的Azure和谷歌的Apps Engine。

Linux有無好用的FTP-SERVER必須有GUI 管理

上個月主管要求因RD單位需要使用FTP Server 但必須使用linux ,且要使用GUI介面來管理
,一直沒空處理這個需求,前幾天找了一下,由於VSFTP 功能少的可憐 無法達到相同群組進入不同的目錄,Linux大概使用ProFTP 功能較強大,以下這個網站http://www.debianhelp.co.uk/proftpweb.htm

介紹多個工具滿足ProFTP達到GUI管理方式,不過由於許多需要使用MySQL 等...較為複雜,使用GAdmin-Proftpd 最為簡單, 我使用Ubuntu 9.0.4
1.指令 sudo apt-get install proftpd gproftpd 安裝
2.將使用者權限設好 (完全不會命列列 可由webmin 來管理)
3.將所要使用的目錄權限設好
4.打開Gadmin-ProFTP 匯入 設好的使用者

接著就可以使用這個介面管理FTP

2010年9月13日 星期一

雲端API REST與 SOAP

雲端計算的API 層次

API 共有四種層次,開發者在每一層次關注的任務及資料結構不同。

層次 1 – 網絡:在這個層次,開發者直接撰寫網絡格式的要求,若服務以 REST
為基礎,開發者能創造適當的 HTTP 標頭資訊、建立要求內容、並開啟連結服務
的 HTTP,REST 服務回覆資料時,會附上 HTTP 回應碼,因為許多 REST 服務
很直接,故在這個層次撰寫程式碼時相對有效率。
若服務以 SOAP 為基礎,開發者建立 SOAP 信封、加上適當 SOAP 標頭,再將
資料內容加入主體,SOAP 服務回覆時,是以 SOAP 信封裝載要求結果,使用SOAP 服務時,必須分析信封內的 XML 內容,因此會使用較高層次的 API 來呼叫多數 SOAP 服務。

層次 2 – 特定語言工具箱:開發者在這個層次使用特定語言工具箱,以配合
SOAP 或 REST 的要求,雖然開發者仍專注於網絡內部的資料格式與結構,許多
細節已交由工具箱處理,例如處理回應程式碼、計算簽章等。

層次 3 – 特定服務工具箱:開發者使用較高層次的工具箱,並與特定服務配合,開
發者在此層次能夠專注於企業物件與企業程序,開發者若專注於組織相關的資料與
程序,而非網絡協定,效能會高出許多。

層次 4 – 非特定服務工具箱:這是最高層次的 API,開發者使用多重雲端運算供應
者的共同介面,和層次 3 相同,開發者專注於企業目標及企業程序,但與層次 3
不同的是,層次 4 開發者不需擔心雲端服務項目,使用非特定服務工具箱撰寫的
應用程式,應該不需更動或只更動一小部分,就能轉移至不同的雲端供應者


REST (Representational State Transfer) 是一種分散式的軟體架構風格 ,不是一種標準,也不是一種協定,是一種設計模式,一種風格。
概念來自於Roy Thomas Fielding 
Architectural Styles and the Design of Network-based Software Architectures》一文
Fielding認為,對於使用HTTP承載應用程序協議穿越防火牆,XML-RPC 和SOAP所採用的方式是「從根本上被誤導的概念。」它們所採用的方式違背了設立防火牆的概念,結果是,防火牆廠商為了保護系統需要偵察出所承載的協議。由於大多數SOAP應用程序使用HTTP都是為了穿越防火牆,因此,你可以發現REST與SOAP之間的衝突是從哪裡開始的。Fielding認為,如果你打算使用HTTP的話,就應該與充分利用HTTP本身的含義。

Fielding指出,使用且符合代表性狀態傳輸(REST)設計約束的 Web 上部署的組件,可以充分利用 Web 的有用特性,萬維網(World Wide Web)才能夠達到最佳的工作效果。可以這樣理解REST——當一個瀏覽器得到並且顯示構成HTML頁面的各個元素時,它正在獲取資源的當前狀態的表現形式。在Fielding的博士論文中,他列舉了REST風格的設計約束,並且解釋了為什麼這些約束能夠充分利用Web 的有用特性,使其達到最佳狀態,以及這些約束的關鍵所在。同時,在論文中,他也包含了一些關於REST和某些目前的Web風格之間 「不符合」的討論,以及這些Web風格是如何導致設計無法利用Web特性的。

REST 把軟體視為 "資源"(Resource),以 URL (Uniform Resource Locator) 定位資源所在處。資源的使用者則藉由 HTTP 協定中所定義的"方法"(method)操作資源。
同時在 HTTP 中,也定義了四種基本方法,即 GET, POST, PUT, DELETE,以上四種基本方法大致上對應了四種資料處理動作,即 Create, Read, Update, Delete REST
REST 特點如下
1.資源是由URI來指定。
2.對資源的操作包括Create、Retrieve、Update和Delete資源,這些操作正好對應HTTP協議提供的POST、 GET、PUT和DELETE方法。
3.資源的表現形式則是XML或者HTML,取決於讀者是機器還是人
4.Web Service的Client端主要還是Web流覽器
REST的優點
1.可以利用緩存Cache來提高響應速度
2.通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求,提高伺服器的擴展性
3.瀏覽器即可作為客戶端,簡化軟體需求
4.相對與其他疊加在HTTP協議之上的機制,REST的軟體依賴性更小
5.不需要額外的資源發現機制
6.在軟體技術演進中的長期的兼容性更好
RESTful
REST (REpresentational State Transfer) 的概念來自於 Roy Thomas Fielding 寫的一篇文章 《Architectural Styles and the Design of Network-based Software Architectures》。 其概念結合了 HTTP 與 URL 兩種協定,以及如何運用於網路軟體架構設計。
以 URL 定位資源,根據 HTTP 內容指示操作動作與回應訊息。一個符合上述實作方式的網路服務,就稱之為 RESTful web service 。 有些文章則更進一步,將 ATOM 協定也加了進來,主要是看上 ATOM 格式的特點,將之運用於資源內容的更新工作。 有些 RESTful 文章還會強調要透過 HTTP Authorization 限制使用者存取資源的權限,而不是用表單加 Cookie。



什麼是SOAP?
SOAP(Simple Object Access Protocol)是以XML為基礎的RPC(Remote Procedure Call)與訊息交換機制,雖然支援多種通訊協定,不過一般仍以HTTP為主。1998年SOAP制定初期,微軟扮演主要的推手,並在1999年底推出SOAP 1.0版。2000年5月IBM與其他業者加入W3C,參與制定SOAP 1.1的規格,這對Web Services而言是意義相當重大的里程碑。由於IBM也是Java及J2EE規格制定的重要成員,它的參與代表Web Services規格不再由微軟單一廠商主導。


SOAP(Simple Object Access Protocol )簡單對像訪問協議是在分散或分佈式的環境中交換信息的簡單的協議,是一個基於XML的協議,它包括四個部分:SOAP封裝(envelop),封裝定義了一個描述消息中的內容是什麼,是誰發送的,誰應當接受並處理它以及如何處理它們的框架;SOAP編碼規則(encoding rules),用於表示應用程序需要使用的數據類型的實例; SOAP RPC表示(RPC representation),表示遠程過程調用和應答的協定;SOAP綁定(binding),使用底層協議交換信息。

WSDL(Web Service Description Language)Web 服務描述語言。在這之前,尚不存在一種機制,使一個業務能自動發現其預期夥伴提供的服務。而如今的電子商務需要一種解決方案來描述以下問題:
‧您的在線業務提供什麼服務?
‧您如何調用業務服務?
‧當用戶調用您的業務服務時,該業務服務需要他/她提供什麼信息?
‧用戶將如何提供這些必需信息?
‧服務將以什麼格式發送返回給用戶的信息?


在使用REST?

現在使用REST風格的站點包括Yahoo、flickr、del.icio.us API,Ebay和Amazon同時具有REST和SOAP接口。但在Amazon大約有85%的應用使用REST API,O』Reilly的CEO Tim O』Reilly 也認為開發人員喜歡更簡單的REST,他說在複雜的場合的確用soap更適合,但他更喜歡入門門檻較低的易被廣大用戶人群使用的REST。
在用使SOAP?
google的一些服務在使用SOAP,blogger還使用XML-RPC,還有很多的企業軟件也用SOAP.

  
一些REST & SOAP 整理優點

 REST web services are:

•Lightweight - not a lot of extra xml markup
•Human Readable Results
•Easy to build - no toolkits required

SOAP also has some advantages:
•Easy to consume - sometimes
•Rigid - type checking, adheres to a contract
•Development tools

相關文章
http://www.runpc.com.tw/content/content.aspx?id=105324
http://cloud-gateway.sys-con.com/node/1233158/mobile



基於SOAP和WSDL的Web Services規範多而複雜,雖然它是標準的,但是用戶頭疼,學習曲線陡而長,應用構建時間長。簡單就是美,易用性是金。在java企業應用開發領域, EJB的沒落,Spring框架的興起和流行印證了這一規律。同樣,在SOA領域這一規律也已起作用,興起了另一種簡單的實現——REST,雖然它不是標準的。





其實REST和SOAP各有所長。REST簡單、易用,與互聯網思想一脈相承,核心思想是資源共享、面向資源的Web Services。而SOAP是廣為接受的標準,在互操作性方面,解決複雜的系統集成方面優勢明顯,其核心思想是面向活動的Web Services。
以前,REST和SOAP的爭論異常激烈。如google選擇SOAP;而Amazon 85%的web services應用採用REST,15%採用SOAP。
但慢慢地廠商變得越來越聰明,逐步擺脫理論上的爭論,看重實際的接受度。

2010年8月22日 星期日

Open-Source for Cloud Server

雲端計算的服務可以分為三種型態
第一種為軟體式服務(Software-as-a-service, SAAS),服務商可以在雲端的基礎建設中提供軟體應用程式,這些應用程式是由軟體供應商進行維護與管理的。使用者不需要擁有自我的程式,只要依據需求付費


第二種為平台式服務(Platform-as-a-service, PAAS),PSSA 可以讓使用者使用程式語言或工具來運用雲端供應商所提供的程式服務與雲端設備,也就是使用者可以更該所需要服務的需求與程式碼而不用負軟體與硬體的管理責任。

第三種為(Infrastructure-as-a-service, IAAS),主要建立在虛擬機器上,可以
提供使用者所想要開發的環境,而不用花費金錢購買軟硬體、使用者只需要花費使用的成本就可以透過網路使用雲端的各種軟體及硬體資源來達到其需求。 


目前
 Open-Source 方面介紹一些system

1.EyeOS
這是個網站引擎,提供仿若平常電腦的桌面環境。實地登入架好的eyeOS網站一看,在預設的桌布上,一角落有 登出按鈕與小時鐘,另一角落有垃圾回收桶,下半部有一排類Mac OSX風格的啟動列,其內有預設常用的程式,此外 如果用Mozilla系(Mozilla、Firefox、netscape等)的網頁瀏覽器的話,關閉「瀏覽工具列」,可以達到完全的全螢幕, eyeOS看起來就會變成像是完整的作業系統。使用供應商所提供的服務。
eyeOS有其自有的軟體套件規格,裝好的第三方軟體套件,會出現在 eyeApps選項裏面。
其實不只有 PC、也可以是手機(eyeOS有手機版的入口)PDA、甚至電視遊樂器

http://eyeos.org/index.php?p=whatiseyeos_feature


2. Nimbus
這是一套建立IAAS open-source API 目前很少有資料
http://www.nimbusproject.org/

3.eucalyptus systems 
     Ubuntu Server 9.1 其中整合了 Eucalyptus 雲端 APIs。原是加州大學聖塔芭芭拉分校(UCSB)的研究專案,目前已轉由Eucalyptus System這間公司負責維護, 目的是讓使用者可以打造自己的      打造自己的EC2 ,EC2特色是相容於 Amazon EC2 既有的用戶端介面
管理者手冊 http://open.eucalyptus.com/wiki/EucalyptusAdvanced_v1.6

4.OpenNebula 
是一個開源工具包,輕鬆地建立任何類型的雲: 私雲,  和 混合。 OpenNebula 已被設計為集成與任何網絡和存儲解決方案等,以符合任何現有的數據中心。隨著 OpenNebula 你可以改變你的數據中心成為一個靈活和敏捷的虛擬基礎設施的動態適應不斷變化的需求的服務的工作量

根據國網中心相關資料 其優勢是Ubuntu 9.04 已經收錄 OpenNebula 的套件•  缺點:需下指令來進行虛擬機器的遷徙(migration)。
http://www.opennebula.org

2010年7月16日 星期五

opengazer

1.Download Opengazer http://www.inference.phy.cam.ac.uk/opengazer/ 
2.安裝要求
 A. vxl >= 1.5.1         http://vxl.sourceforge.net/
   先安裝cmake sudo apt-get install cmake
B.opencv >= 0.9.7 http://sourceforge.net/projects/opencvlibrary 
 檢查所需 apt-cache search opencv 再安裝
C.gtkmm-2.4 >= 2.8.0 http://www.gtkmm.org/ 
sudo apt-get install libgtkmm-2.4-dev
D.cairomm-1.0 >= 0.6.0  http://cairographics.org/cairomm/ 
   sudo apt-get install libcairo2-dev
E.boost >= 1.32.0 http://www.boost.org/

2010年7月6日 星期二

ITU Gaze Tracker

這套軟體雖是open-source  其要求如下
OS :indows XP with Service Pack 2

.NET Framework 3.5 SP1
A webcam or videocamera with nightvision and infrared illumination (check supported hardware)
A fairly decent computer



http://www.gazegroup.org/downloads/23-gazetracker/
ITU Gaze Tracker  Forun 論壇
http://www.gazegroup.org/forum/

2010年6月16日 星期三

如何利用Video4Linux抓取WebCam數據-資料

Video4Linux是Linux下用於獲取視頻和 音頻數據的API接口,在這篇文章中,著重闡述如何利用Video4Linux獲取攝像頭數據,以實現連續影像的播放。  
 1. 攝像頭的安裝 在Linux下常用的攝像頭驅動是spca5xx, 這是一個通用驅動,讀者可以在以下網站下到這個驅動http://mxhaard.free.fr/download.html。
這個網站還給出了這款驅動支持的攝像頭的種類。另外,ov511芯片直接就支持Linux,使用者款 芯片的攝像頭有網眼V2000。我使用的是網眼V2000的攝像頭,和Z-Star 301p+現代7131R芯片的攝像頭。後一種需要spca5xx的驅動。關於spca5xx的安裝方法,網上有很多介紹,這裡 就不說了。   

2. 攝像頭的調試 安裝好攝像頭後,為了測試攝像頭能否正常工作,可以用 一下軟件。比較著名的是xawtv,在網上搜以下可以下載到。安裝好後,打開xawtv則可以調試攝像頭。  

3. Video4Linux 編程獲取數據 現有的video4linux有兩個版本,v4l和 v4l2。 
本文主要是關於v4l的編程。利用v4l API獲取視頻圖像一般有以下幾步:  

a> 打開設備
b> 設置設備的屬性,比如圖像的亮度,對比度等等   
c> 設定傳輸格式和傳輸方式  
d> 開始傳輸數據,一般是一個循環,用以連續的傳輸數據   
e> 關閉設備   
下面具體介紹v4l編程的過程。首先指出,在video4linux編程時要包含頭文 件,其中包含了video4linux的數據結構和函數定義。   
1)v4l的數據結構 在video4linux API中定義瞭如下數據結構,詳細的數據結構定義可以參考v4l API的文檔,這裡就編程中經常使用的數據結構作出說明。