韌館-LearnHouse

百萬年薪俱樂部 揭露成功密碼~高薪的秘密

  作者姓名:文│楊倩蓉 研究員│陳竫詒

百萬年薪俱樂部 揭露成功密碼
高薪的秘密

他們都是中高階經理人,
他們的年薪至少百萬、年齡卻不超過40歲,
他們為什麼可以成功?
《30雜誌》針對56位成功經理人進行調查,在他們身上,我們找到四組關鍵密碼。

王品集團董事長戴勝益喜歡閱讀,閱讀是他的享受,也是蒐集情報與知識最 重要的來源。他有一個工作習慣,每年都會請助理幫他買十二個資料夾,分別標上月份,閱讀時,隨手撕下的好文章,以及該月重要的資料,就夾在當月資料夾中, 這個工作習慣累積多年後,當他想要找一份記憶中的資訊時,只要翻一翻這些排列有序的資料夾,不僅省下東翻西找的時間,辦公桌也永遠乾淨。

美 商美林證券台灣區研究部主管程淑芬喜歡思考與研究,思考與研究為她帶來策略,這些投資策略,動輒影響客戶上千億資產的布局。身為專業分析師,她必須每天過 濾、分析來自全球各地的財經訊息,有些訊息看似重要,實際意義卻不大;有些表面毫無關聯,卻影響深遠,只有透過縝密的思考,才能抽絲剝繭,為客戶預先掌握 市場金融走向。

台灣Google業務總經理張成秀非常善用時間,即使是從辦公室走到洗手間這短短時間裡,她都可以完成六件事情;她甚至會在半夜打電話到辦公室留言給自己,提醒明日要做的重要事情。
成功不是偶然,坐領高薪,是因為他們能幫老闆賺進更多錢,但是上天很公平,每個人一天都只有二十四小時,面對繁忙公事,日立環球儲存科技台灣及上海區總經理劉士維,卻能每天準時6點下班,業績在去年還是拿到電腦硬碟市場第一名,遠高於同業。

四組密碼,成就百萬年薪經理人

每位經理人一定有特殊的工作方法與習慣,協助他們攀上成功的天梯,這是他們累積經驗與知識的成果展現,如果能夠提前學會這些智慧,在職場上,就能少走冤枉路,即使面對不景氣,也能逆境勝出。

《30 雜誌》這一期特別針對五十六位,來自各行各業的青壯年經理人,針對他們的獨特工作方法與日常作息進行「30世代成功經理人」調查,試圖為讀者解碼他們的成 功基因。這些經理人年齡介於25歲到40歲之間,從事行業以科技業與金融業比例最高,各為37%與23%,這些受訪者,來自世界頂尖的金融集團、全球第一 流的製造業、世界知名的管理顧問業,以及台灣最優秀的餐飲服務業等。
透過深度訪查,我們發現經理人的四組成功密碼:

成功密碼1 勤閱讀 知識使你更有力量

95%的受訪者有固定閱讀的習慣,同時,在極度繁忙的工作之中,仍有超過八成受訪者每個月至少讀兩本書,每天讀書超過一小時的人,高達六成。
資深出版人,同時也被譽為台灣本土趨勢大師的詹宏志,每日晚上12點入睡,清晨4點起床看書,這個習慣維持二十年,對他來說,晚上閱讀是「漸入困境」,早上閱讀卻有「漸入佳境」的感受。

詹宏志喜歡晨讀,華人首富李嘉誠六十年來不斷的習慣,卻是睡前閱讀。李嘉誠相信,知識能改變命運,因為他自己就是靠著從早年就培養的閱讀習慣,從閱讀中獲得知識的力量,進而超越競爭對手。
在美商賀寶芙從事直銷十年,共同收入逾千萬的夫妻檔曾竹君與徐顗竣,也都異口同聲說,閱讀是最好的工作導師。「你不一定能學到成功人士的能力,但你會學到他們工作與處世的態度。」徐顗竣說。
雖然詹宏志認為晨讀可以「漸入佳境」,但調查發現,這些30世代經理人主要閱讀時間,仍是下班後與例假日。而且其中逾60%的人,對於閱讀具有明確而具體的目的,以「領導管理」、「行銷趨勢」與「經濟理財」為他們最常閱讀的三大類別。

值 得注意的是,文學類與史哲類書籍也得到25%以上經理人青睞。向古人學習,在21世紀逐漸成為新顯學。除了近年在中國掀起的古書熱,《于丹〈論語〉心 得》、易中天的《品三國》等,日本首富──軟體銀行總裁孫正義,也是中國史哲書籍的愛好者,他建議經商者必讀的《論語》、《孫子兵法》,甚至《菜根譚》、 《韓非子》等書籍,也在日本商界走紅。

此外,根據日本《President》去年8月針對年薪450萬元新台幣以上的經理人閱讀調查發 現,經理人認為可以提升自我價值的前三類書籍(複選三類,共十六類),排名依序是「溝通」、「思想哲學」、「歷史」等,均獲得三成以上的票選,行銷、金 融、領導等專業技能書籍,反而排名在後。
成功經理人對於閱讀重要性的壓倒性支持,與本次調查的另一項結果恰可呼應,調查發現,高達55%的受訪者認為,對學習最有幫助的是「自修」,這項比率,幾乎是「短期海外進修」、「再讀一個學位」這兩個選項的兩倍半。
反觀在收看電視的調查上,成功經理人平均每日花在看電視的時間較少,並且有七成的受訪者,看電視的主要目的是「放鬆」。


成功密2        深思考 思辨幫助你精準判斷

30 世代經理人,大多以中階主管為主,每天必須面對的例行事務相當多,但是根據調查發現,他們認為「動腦想」跟「動手做」一樣重要,動腦想才能「做對的事」, 而不只是「把事情做對」。近七成的經理人,每日會特別安排時間思考,而且思考所花費的時間至少在十五分鐘以上。為什麼他們要特別安排時間思考?深度思考為 什麼很重要?

政治大學科技管理研究所副教授蕭瑞麟認為,深度思考有助於企業人士培養敏銳的判斷力,對於任何問題或現象,如果都視之為理所當然、照單全收,結果就只能得到常識,而無法萃取與形成有價值的知識。
蕭 瑞麟建議,釐清思維可以透過正反合的辯證方式,例如「蘇格拉底」式的辨證法,透過辯證,思路會愈辯愈明愈深入。他指導碩士班學生,正反合至少要做三到四 次,但博士班學生至少要十次,才能做到真正的深思考。蕭瑞麟更進一步強調,深思考要與閱讀相結合,才能發揮更大的效用,才不會淪入空想、亂想,「如果你沒 有理論,你的思考只是漫無目的,沒有一個著力點。」

成功密碼3       秀活力 積極態度是突圍關鍵

升官、加薪靠什麼?優秀的專業技能、良好的人際關係,這兩項都重要,但在成功經理人心中,卻不是最重要。根據這次調查,高達91%受訪者勾選「積極的工作態度」這個選項,認為對升遷、加薪最有幫助,這不僅用在他們自己的經驗,也是他們判斷下屬發展潛力的重要依據。

程 淑芬從小研究員做到今天全球知名券商的台灣區高級主管,她沒有含著金湯匙出生,沒有豐沛的人脈,從擔任最基層的研究員開始,一天工作至少十五個小時。努力 call公司、讀資料,她謙虛說,今天的成就沒有特別祕訣,就是永遠做得比別人要求的更多,「努力,努力,再努力,我要求自己比別人再多點努力,這就是我 的態度。」程淑芬說。

想要激發積極的工作態度,必須先找到對工作的熱情,國內著名影音後製公司視元素副總經理萬曉娟形容,她看待工作,就 像談戀愛,因此不會喊苦。這次調查也發現,成功經理人每天工作超過九小時以上的比例,高達96%,長時間埋首在成堆的工作之中,如果沒有足夠的熱情與積極 的態度,必定無法持久。

萬曉娟說,當她在考慮拔擢人才時,最重視的就是員工對自己的工作是不是抱持積極主動的態度、對工作內容有沒有興趣,如果只是抱持交差了事,對所謂有興趣的工作只有三分鐘熱度,她也不會考慮拔擢。


成功密碼4       練外語 學生時期的優先要務

調 查顯示,大多數成功經理人,剛進職場與擔任主管後,最認真進修,這段期間的進修,以工作相關的專業技能最為重要,但在全球化的遊牧工作時代,第一外國語, 甚至第二外國語,極其重要,等進入職場才加強,可能為時已晚,因此有62%的經理人建議,學生時代,最應該補強的就是語言能力。

開平餐飲 學校的傑出校友劉一帆,今天之所以能夠站上國際舞台,成為國際知名飯店連鎖集團爭相邀請的西式料理大廚,憑藉的不僅是料理功夫,更重要的是,他在學生時代 就靠自修的方式培養英文能力。當他在西華飯店工作時,正因為他能用熟練的英文與來自英國著名飯店的工作人員攀談,進而獲得對方賞識,進入百年飯店服務。

在調查中也可以發現,30世代經理人與過去認知的經理人有部分不同之處,其中最大的差異有兩項,第一項為大量使用科技工具,第二項是以「友情激勵」取代「嚴格管教」。

在科技工具的運用上,網路已是普遍化的工作與管理工具,調查發現,沒有經理人不使用網路,使用網路除了處理工作外,「使用電子郵件」、「看新聞」與「增加專業知識」是最重要的三種用途。

在管理風格上,過去師徒制講究的「嚴格管教」已改以「友情激勵」與「殷切指導」的風格居多。
時代在變,但成功者的特質,有所「變」卻也有所「不變」。工具、溝通方法或許變了,但閱讀、思考、積極態度,在這個變動的時代,卻依然歷久彌新。

2008年2 月 posted by admin in 投資理財 and have No Comments

紅包也理財-年終獎金如何小搏大?

資料來源:遠見電子報 2008/02/07 (四)發行

 決定年終獎金該擺哪裡,真不是一件簡單任務!1月上旬,個頭高大、笑口常開,任職股王宏達電長達5年多的洪先生,發現自己績效獎金高達10個月,加上2個月年終獎金,一共12個月,笑得合不攏嘴。

  但接著,他卻開始煩腦這筆錢,到底應該怎麼用。他想投資股票,卻忘不了去年8月,在台股大賠100萬的慘痛經驗;想要去買基金,又不知該買哪一檔?

  此刻,拿到的這一筆年終獎金到底應該如何運用,五大投資法讓年終獎金發揮最大效益。

第1:先償還高利息債務
  多數專家都一致認為,在景氣混沌之際,理財第一步最好償還高利率的負債,例如卡債、小額信貸。

 卡債這類無擔保放款利率少則7%∼8%,多則近20%,「投資報酬率想要超過,並非易事,」台新銀行財富管理事業處管理組副總經理王大寬說,及早降低負債,才是明智之舉。

  至於房貸,因為利率較低,大約介於2%∼5%,「如果確信投資報酬率可以高於房貸利率,倒不一定需要提早償還,」王大寬進一步分析。

  王大寬自己就選擇不提早償還房貸,每年拿到年終獎金後,都用來投資穩健標的,例如績優股票、基金,賺取投資報酬與房貸間價差。

  當然,並非每個人都像王大寬一樣,具有投資專業,選擇先行償還房貸的人其實不在少數。這時,必須留意,提早償還目的是為了縮短還款年限,或降低月付金。王大寬建議,如果手頭較緊的人,在貸款年限不變下,可選擇降低月付金,藉以提高每月可運用資金金額。

第2:預留必要支出
  還債之後,接著要預留必要支出,例如紅包、所得稅、保險費、小孩學費等。政治大學國際經營與貿易學系副教授郭維裕解釋,如果年終獎金全都用去投資,屆時急需用錢,就得認賠殺出,得不償失。「投資,一定要是『閒錢』才行,」他提醒。

第3:檢視保險規劃

  年終獎金扣除債務、必要支出,如有剩餘,並非馬上進行投資,「而是檢視自己的保險是否足夠,加以調整,」淡江大學保險系主任郝充仁提醒。

  投資學理論明白指出,保險正是理財金字塔三階層之中,最底層的一環,往上依序才是儲蓄、和投資。原因在於,每個人都可能遭遇死亡、疾病等風險。

  這些風險不是其他投資商品可以轉嫁。以意外險為例,一年繳交保費不到1000元,就可擁有100萬元的保障,但相對地,1000元拿去投資,很難快速累績到100萬元。

  好的保險規劃也應隨著保戶需求變化而調整。例如買了汽車,別忘了加保任意汽車第三人責任險。大誠保險經紀人公司經理吳宜樺比較,每人強制汽車責任險保額最高僅有150萬元,但發生事故,往往需要賠償受害者200∼300萬元,不足部分就可交由任意第三人責任險賠償。

  如果結婚或生小孩,得要加高壽險保額,「但為了節省保費,可選具有高保障、低保費特性的定期壽險,同樣享有身故及全殘保障,」中國信託隋榮欣建議。

第4:投資自己
  前三步都做了後,若仍有剩餘,可進入投資範疇,投資自己、或投資理財

  逢甲大學財務金融系副教授羅仙法語重心長地說,一提投資,很多人想的都是如何賺大錢,但其實,如同企業投資研發,投資自己反而更為重要,以利未來爭取更多薪水、更高職位。

  例如,剛出社會的年輕人,運用年終獎金投資自己,增加技能,日後獲得長官青睞加薪,月薪從3萬元加到3萬5000元,投資報酬率等於16%,並不算低。

  而投資自己方法很多,並非只有參加各式學習課程才算。

  這點,前保誠人壽業務系統總經理,現為富士達保險經紀人公司總經理廖學茂很有經驗。

  20多年前,他在南山人壽從事業務工作,他都運用年終(績效)獎金添購名牌衣物,好讓自己往後招攬保險,能夠贏得對方的好印象。

第5:投資理財
  投資自己,打好基礎之後,接著才是運用年終獎金投資理財,讓小錢變大錢。

  其實不管年終獎金多寡,都能投資。例如年終獎金不多的族群,「可採定期定額方式投資基金,」中國信託商銀財富管理處副處長隋榮欣建議。

  以現在最熱門的新興市場基金來看,MSCI新興市場指數過去三年平均表現約31.99%,如果每月定期定額5000元,一年後本金才6萬元,就 可創造9000多元的利息。如果是保守型投資人,全球債券指數過去3年平均表現約7%,如果每月定期定額5000元,一年後也可獲利2251元。

總之,投資不嫌少,就算是小錢,也可透過時間複利的效果逐步累積資產。

2008年2 月 posted by admin in 投資理財 and have No Comments

[PHP]在HTML中顯示JpGraph

以下是Document文件說的以圖片的html tag <IMG>方式顯示

4.2 How to generate images with PHP

As a general rule each PHP script which generates an image must be specified in a separate file which is then called in an HTML <IMG> tag. For example, the following HTML excerpt includes the image generated by the PHP script in "fig1.php".

 <img src="fig1.php"  border=0 align=center width =300 height=200>

Strictly speaking the "align", "width" and "height" are not necessary but helps the browser position the image correctly before the image has been fully sent back to the browser.

The library will automatically generate the necessary headers to be sent back to the browser so that it correctly recognize the data stream received as an image of either PNG/GIF/JPEG format. The browser can then correctly decode the image

Observe that you can't return anything else than an image from the image script. By definition each HTML page (or more correctly each HTTP stream) can only consist of one mime type which is determined by the header for that particular stream.

A common mistake is to have a space in the beginning of the image script which the HTTP server will send back to the browser. The browser now assumes that the data coming back from this script is text since it hasn't received an explicit header. When then the image headers get sent back to the browser to forewarn the browser of the forthcoming image the browser will not like that as it has already assumed the data stream was a text stream. The browser will then give the infamous "Headers already sent error".

To include several images together with text on a page you need to have a parent page with several <IMG> tags which each refers to an image script (or the same image script with GET/POST data).

按照doc的作法,每要在html繪製一張圖表,就用一個<IMG>標籤指定該程式

但我試了幾個一樣也無法顯示,因此就修改了一下,改讓他先輸出png的圖片檔,再用<IMG>

首先先修改之前編寫的PHP script:

將原本的$graph->StrokeCSIM();  //從HTML中直接輸出圖片

改成
$graph_name = "路徑/檔名.png";
$graph->Stroke($graph_name);

再到要顯示的html頁面中加入<IMG>:

再加入<IMG>前要先把支前編寫的PHP script先include進來

<img src="images/test.png" width="600" height="850" /> 

寬度與高度要跟你在繪製圖表的PHP script指定的大小一樣 

Tips: 在開始html之前要先把寫好的繪圖的PHP script先include進來,而且最好用require_once("XXXX.php")的方式,避免重複include

2008年2 月 posted by admin in 程式&軟體 and have No Comments

[PHP]linux下使用jpgraph顯示中文字型

這個問題讓我花了快一個禮拜的時間,本來一度想放棄使用jpgraph改用圖片的放式來顯示圖表

但今天早上一醒來,覺得想想,我花了那麼多時間蒐集資料與測試

竟然在這一刻要我從找另一個方法,真的很不甘心

因此我又從新試了一次,把可能會導致無法顯示中文或是中文亂碼的可能原因,重新的排列組合

一個一個去修改核心程式碼,最後終於讓我歸類出幾個需要改的項目

由於改很多,有些已經忘記是我改的還是原本的了,所以以下方法是我覺得可能影響的幾個要改的項目 

1.修改src/jpgraph.php

require_once('jpg-config.inc.php');
require_once('jpgraph_gradient.php');
require_once('jpgraph_errhandler.inc.php');
require_once('jpgraph_ttf.inc.php');

// Version info
DEFINE('JPG_VERSION','2.3');

// Minimum required PHP version
DEFINE('MIN_PHPVERSION','5.1.0');

// Should the image be a truecolor image?
DEFINE('USE_TRUECOLOR',true);

//------------------------------------------------------------------------
// Automatic settings of path for cache and font directory
// if they have not been previously specified
//------------------------------------------------------------------------
if(USE_CACHE) {
    if (!defined('CACHE_DIR')) {
    if ( strstr( PHP_OS, 'WIN') ) {
        if( empty($_SERVER['TEMP']) ) {
        $t = new ErrMsgText();
        $msg = $t->Get(11,$file,$lineno);
        die($msg);
        }
        else {
        DEFINE('CACHE_DIR', $_SERVER['TEMP'] . '/');
        }
    } else {
        DEFINE('CACHE_DIR','/tmp/jpgraph_cache/');
    }
    }
}
elseif( !defined('CACHE_DIR') ) {
    DEFINE('CACHE_DIR', '');
}

if (!defined('TTF_DIR')) {
    if (strstr( PHP_OS, 'WIN') ) {
    $sroot = getenv('SystemRoot');
        if( empty($sroot) ) {
        $t = new ErrMsgText();
        $msg = $t->Get(12,$file,$lineno);
        die($msg);
        }
    else {
      DEFINE('TTF_DIR', $sroot.'/fonts/');
        }
    } else {
//    DEFINE('TTF_DIR','/usr/X11R6/lib/X11/fonts/truetype/');//修改成下面的路徑
    DEFINE('TTF_DIR','/usr/share/fonts/zh_TW/TrueType/');
    }
}

Tips: 要注意/usr/share/fonts/zh_TW/TrueType/下是否有.ttf或.ttc的字型,若沒有可從Windows系統的fonts去複製

 

2.修改src/jpg-config.inc.php

DEFINE('CHINESE_TTF_FONT','bkai00mp.ttf');

修改成DEFINE('CHINESE_TTF_FONT','mingliu.ttc');

Tips: 紅色的部份可依自己的喜好的字型修改,而字型的檔案要在上述的路徑裡面,這裡以新細明體mingliu.ttc為例

 

3.修改src/jpgraph_ttf.inc.php

        FF_CHINESE     =>   array(FS_NORMAL    =>CHINESE_TTF_FONT,
                  FS_BOLD    =>'',
                  FS_ITALIC    =>'',
                  FS_BOLDITALIC    =>'' ),
修改成

         FF_CHINESE     =>   array(FS_NORMAL    =>'mingliu.ttc',
                  FS_BOLD    =>'mingliu.ttc',
                  FS_ITALIC    =>'mingliu.ttc',
                  FS_BOLDITALIC    =>'mingliu.ttc' ),

 

4.再來就是呈現繪圖資訊的檔案了,可從Example的資料夾選擇想要的範例修改

$graph->title->Set("這裡這樣設定就可以直接顯示中文");
$graph->title->SetFont(FF_BIG5, FS_NORMAL);

Tips1:不過若是從資料庫取得utf-8的字串,要先轉成big5的編碼格式

下面範例是從資料庫取得utf-8字串後丟入陣列,陣列再轉成big5編碼,我去掉一些在資料庫上做擷取資料判斷的簡略程式片斷

for($i = 0 ; $i <= 10 ; $i++)
{
    $name[$i] = iconv("utf-8","big5",$name[$i]);
}

Tips2:轉換的動作不能寫在呈現繪圖資訊的php檔案中,不然會導致圖表無法顯示

 

最後再來說一個我遇到的問題,就是如何把SetLegends($name3)也能顯示中文

其中$name是從資料庫取得的utf-8轉big5的中文陣列

而要能在SetLegends顯示,就要加入$graph->legend->SetFont(FF_BIG5, FS_NORMAL);

這麼一來就能顯示中文了 

 

 

2008年2 月 posted by admin in 程式&軟體 and have Comment (1)

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

資料來源:http://www.cc.ntu.edu.tw

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


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

前言
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

2008年1 月 posted by admin in 程式&軟體 and have No Comments

[Java]撰寫時的良好的習慣

標準的命名規則

  1. Package (套件)
    英文單字全部小寫,例如zoo.cute, java.lang
  2. Class (類別)
    每一個英文單字的第一個字母大寫,例如Animal, NationalChungChengUniversity
  3. Interface (介面)
    每一個英文單字的第一個字母大寫,規則和類別一樣
  4. Attribute (屬性)
    第一個英文單字的第一個字母小寫,其它單字的第一個英文字母大寫,例如legs, numberOfLegs
  5. Method (方法)
    規則和屬性一樣,不過要在後面加上小括號,例如eat(), eatMeat()
  6. Constant (常數)
    英文單字全部大寫,且兩兩單字之間用底線隔開,例如COUNT, MAX_COUNT

待續..........

 

參考資料

吉米兔的學習園地

2008年1 月 posted by admin in 程式&軟體 and have Comments (4)