我的雲端生活網 - Life+

Monday, September 22, 2008

OpenID,一套合作的協議

本來以為OpenID是讓用戶在網上有一個通用的識別項,但根據http://openid.net/等網頁的簡要說明,告知顯然我誤會了。顧名思義就是要open,一個登入行遍天下,不過,這「一個」登入似乎不是只登入一次的意思,而且一個「登入」也似乎不是一個帳號的意思。

規格書的認證部份,OpenID Authentication 2.0開宗名義指出:認證是證明用戶操作這個識別項。而識別項就延用網址URI形式,可說是「節能省碳」,重覆使用既有的設計。認證這個話題是很多人都喜歡談的。如果學校收發室要為學生轉寄郵件製作資料庫,就要考慮「誰寄給哪位同學」的問題,學生的識別項很好找,但左邊那個「誰」的識別項不容易設計。既然目前OpenID還不考慮到通用識別項(universal identifier)的情況,盼望將來通訊協議有更好的發展。只是,人與資訊完全密切整合,會是《全民公敵》或《駭克任務》的社會情況嗎?如果是,我不樂見這種未來情況。

Paul and Technometria的OpenID示意圖Leancode的OpenID示意圖給我們一些不同的觀察點,前者採通訊資料流觀點,後者採認證層次觀點。Paul and Technometria的圖告訴我們,哪些資料或訊息的傳遞是一組的,並且為了維持OpenID的運作,各服務方都要表現出適當的行為。Leancode的圖顯示出在認證的訊息傳達之前,須要來往傳遞一些未認證的準備訊息。用戶的目的訊息,是借OpenID提供方的識別項,請求其他的服務方提供服務。而OpenID提供方與其他服務方在下層則必須交換session訊息,這個行為和client-server環境的服務方內部運作相同。

我覺得設計分散式合作協議的人很厲害也夠聰明。低層次的電腦協議是彼此傳遞一組資料,則根據收到的資料符號格式,判讀為哪一種行為。高層次的通訊協議卻可以用比較抽象和淺顯的講法描述各方該傳什麼資料或提供什麼表單,或者表現什麼行為。

OpenID看起來是網路應用的必要過程,從任何網站都只對自己的帳號提供服務,轉變成任何網站都順便對其他網站的帳號提供服務。對微程式資訊自家產品Single Sign-On的參考用處,目前可能是檢查各系統元件、各伺服器,在互動和通訊行為,起碼在自己系統環境中是否足夠open;順便為了未來對其他公司和其他系統的聯外整合做預備。

Tuesday, September 16, 2008

Open WYSIWYG 網頁編輯器配置小技巧

OpenWYSIWYG, http://www.openwebware.com/ , 是很好的網頁程式元件. 除了是全JavaScript寫作的, 也是跨平台適用的.

我有段網頁程式是:

<p>
內容:
<textarea id="content" name="content" style="width: 100%;" rows="6"></textarea>
說明:
<textarea id="content1" name="content1" style="width: 100%;" rows="7"></textarea>
</p>

按照 OpenWYSIWYG 的說明書, 在開頭加上 <script language="JavaScript" type="text/javascript" src="script/wysiwyg.js"></script> <script language="JavaScript" type="text/javascript" src="script/wysiwyg-settings.js"></script> , 文件尾端加上:

<script language="javascript1.2">
var mySettings = new WYSIWYG.Settings();
mySettings.ImagesDir = 'image/';
WYSIWYG.attach('content', mySettings);
</script>

, 所有 script, style 和影像檔都放對位置, 網頁在 FireFox 成功顯示, 卻在 IE 6 出現錯誤:

行: 809
字元: 6
錯誤: 原始 HTML 對這個操作無效
程式碼: 0
URL: ...

翻出 wysiwyg.js 808 行是 textarea.insertAdjacentHTML("afterEnd", editor);
MSDN對insertAdjacentHTML的註解是:網頁正載入時不可做這個操作.
不過, 經過一些檢測, 上述錯誤不是由這個原因發生.

想來想去, 覺得是網頁文件結構不對吧 (non-well-formatted) ... 後來把文件改成:

<p>
<div>內容:
<textarea id="content" name="content" style="width: 100%;" rows="6"></textarea>
</div>
說明:
<textarea id="content1" name="content1" style="width: 100%;" rows="7"></textarea>
</p>

在 IE 就完成了. 我想 OpenWYSIWYG 對網頁結構是敏感的.

Thursday, September 11, 2008

Monday, September 1, 2008

如何成為一位傑出的工程師一文讀後感

這篇文章值得一讀,但是;讀完後我們要怎麼再思考咀嚼成為自己的血肉? 我覺得 why很重要,而why not也很重要,文中提到:



成就傑出表現的原因並不在他們擁有什麼 ,而在於他們如何應用他們所擁有的特質。傑出表現之謎其實在於如何將他們的天分轉換成生產力:就好像將位能轉換成動能一樣。我們的結論是:傑出的表現是努力得來的,與天份無關。(Stars are made, not born.)



那麼這句話自相矛盾的嚴重!沒有天份,就無法將天份轉換成生產力,所以;傑出表現的原因在他需要先擁有天份,才能轉換/應用 特質,結論應該是;傑出的表現是因為有了天份,才能靠後天努力得來,那麼就與天份有關,不是嗎?



這篇文章反應的只是一些特例,也就是說他的研究對象是那些已經在這個領域有充足天份的人,以這些人為基礎來做這個研究,成員結構與一般的公司大相逕庭,所以他的結論應該是;如果你對xx領域已有天份,還需要靠後天的努力才能成為傑出的工程師,於是乎那種天生的宿命論仍然主導一個工程師的傑出不傑出,不是嗎?







--- 電子發票系統建置 http://rd-program.blogspot.com/2012/03/blog-post.html ---

(規範閱覽筆記) 電子產品碼資訊系統架構

架構

EPCglobal 架構包含相關硬體、軟體、資料規範以及一些核心服務,可供 EPCglobal 和他們的委派者使用。透過電子產品碼(EPC)的使用,達成商流與電腦應用的加強。

受惠者

EPCglobal 的用戶,包括
  1. 純用戶:將 EPCglobal 規範與核心服務使用在商務運作中的機構。

  2. 發展者:參與 EPCglobal 規範研發過程的機構。

  3. 方案提供者:根據規範與核心服務,實作用戶系統的機構。

  4. 其他方案提供者。
由 EPCglobal 客戶使用本架構的各項目彼此溝通所造成的綜合效果,俗稱為 EPCglobal Network 。

架構概觀

EPCglobal 架構與三種活動對應,包括 EPC 實物交換規範、 EPC 資料交換規範和 EPC 基礎架構規範。
  1. EPC 實物交換規範:定義貼附實體產品的電子產品碼,用以保證當 EPC 用戶從別的用戶收取所傳送的實物時,能夠判讀實物的電子產品碼。
  2. EPC 資料交換規範:提供用戶在特定的使用群或與公眾分享資料的方法,也提供存取 EPCglobal 核心服務或其他分享服務使資料交換變容易。
  3. EPC 基礎架構規範:定義用以收集和記錄 EPC 資料的介面規範,做為基礎架構元件以提供用戶內部系統的建置。

EPCglobal 架構的目標 (1)


EPCglobal 架構中各份規範的角色如下:

  1. 使交易伙伴的資訊與物資交換變得容易:交易雙方必須先行議定所交換資料的結構與意義和交換機制;也必須先行議定所交換的實物上如何用可了解的方式貼附電子產品碼。

  2. 為系統元件培養競爭市場區位:EPCglobal 規範定義系統元件的介面,使不同廠商製作的元件能夠互通,進而提供用戶一些選擇。

  3. 鼓勵創新:EPCglobal 規範只規定介面,不規定實作。鼓勵實作者在產品與系統能創新,而介面規範能保證系統的互操作性。

[1] F. Armenio, H. Barthel, L. Burstein, J. Duker, J. Garrett, B. Hogan, O. Ryaboy, S. Sarma, J. Schmidt, K.K. Suen, K. Traub, and J. Williams, The EPCglobal Architecture Framework: EPCglobal final version 1.2 approved 10 september 2007 [Online].


(待續)

Blog Archive