2012年12月30日 星期日

[與會心得] 企業架構發展與應用研討會 Enterprise Architecture Global Trends And Applications Workshop(2012/12/27)

企業架構 / Enterprise Architecture / EA
[ Definition ]

  • What is Architecture ?
According to ISO 42010/IEEE 1471, architecture is a "fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution"

  • The context of Enterprise Architecture : there are 2 principle
1. Drive architectural decisions from business value : alignment Systems Architecture(Application, Data, Technology) to Business Value(Vision, Case for action, Value disciplines)
2. Isolate architecture from infrastructure : isolate Systems Architecture from specific physical implementation(Tools, Vendor products)

  • EA components are 4 major architectures


  •  Core functions of EA
    • Top-Down
      • Business Oriented
        • Mission -> Strategies -> Business Process -> (Business & IT Alignment) -> Enterprise Architecture
      • Technology Oriented
        • Enterprise Architecture -> ( Blueprint for integration ) -> Various projects
    • Feedback
      • EA can drive Business Process Re-engineering
      • EA can rethink firm's strategies
      • EA can re-position firm's mission    
[ Primary Enterprise Architecture frameworks / methodology ]
1. FEAF : Federal Enterprise Architecture Framework
2. Zachman Framework
3. DoDAF : DoD Architecture Framework
4. TOGAF : The Open Group Architecture Framework


[ Global EA現況 ]

  • The rank of EA was 7th at USA 2011 from 13th at USA 2010 as top IT management concerns. (Source:Architecture & Governance Magazine, vol. 6, No. 1)
  • South Korea government encourages institutions to adopt EA ( Source:Understanding the Impact of Enterprise Architecture on Connected Government, A Qualitative Analysis, 2010)


[ 台灣推廣EA現況 ]
1. Party

  1. a|EA Taiwan group
  2. Open Group台灣分會

2. 國際大型研討會


3. 政府

  • 經濟部委託工研院舉辦首席企業架構師能量建置研訓 : 主要針對各科專主持人, 財團法人培訓, 並於2012/10月舉辦各領域發表會.
4. 未來發展

  1. 目前國內只有一位TOGAF認證企業架構師, 未來需要培訓多位的TOGAF認證專業人員, 才有足夠能量推廣EA. 目前國內若需導入EA的顧問, 仍仰賴"進口"(國外專家).
  2. 推廣EA到產業界, 目標是政府, 銀行&醫療院所等, 本質上須要永續經營的產業/環境.
    • 在下認為可以從"醫療雲"的雲端產業切入, 有效地整合政府/醫療院所/企業的流程 / 資源 / IT系統, 使國民的健康和老年人得以妥善的照護. 建置國家級的醫療企業架構, 可以參考新加坡的案例SGEA.
  3. 目前TOGAF的架構相對於國內的以中小企業為主的產業環境, 仍屬龐大. 需要提供一精簡版本以適用於中小企業.
    • 關於此點, 在下建議可參考ERP大廠如何分拆大型ERP成為適用於中小企業的版本的實務經驗
[ 誌謝 ]
褚博士 開放群組大中華區首席技術官
呂執行長 中國文化大學推廣教育部
吳總經理 御真文化事業有限公司
曾行銷長 a|EA企業架構師協會
鄭資深經理 日新軟體股份有限公司



2012年12月20日 星期四

Resolve a SolrException in Solr or LucidWorks

       Solr (or LucidWorks ) requires unique id when you import data from Oracle database via Data Import Request Handler(DIH). If not, you would experience 2 kinds of exception(depends on what a system you use, Solr or LucidWorks)
1. org.apache.solr.common.SolrException: Document is missing mandatory uniqueKey field: id
2. Document [null] missing required field: id
       Unfortunately, even you alias the field name of primary key as "id". The system still reports "Document [xx] missing required field". The root cause is, Oracle always return field names as capital. So, how do we resolve it ?


  • Solr user
     You can add a field transform in data-config.xml like this
    <entity name="root" pk="id" preImportDeleteQuery="data_source:29" query="select id, description from table1" transformer="TemplateTransformer" >
       <field column="[your field name in capital]" name="id" />
    </entity>
  • LucidWorks user
      PLS manual edit dataconfig_[xx].xml in [LucidWorks]\conf\solr\cores\[your collection name]\conf. There is no way to edit it through ADMIN pages in LucidWorks. Find the entity XML element and add field transform element.
       <field column="[your field name in capital]" name="id" />

Hope it could resolve the problem you experience.

2012年12月16日 星期日

ICTCLAS族譜

        ICTCLAS可算是中文分詞(或中文切詞)領域的翹楚. (目前ICTCLAS也進展到3.0 商業版). 也就因為如此, 有許多先進和學者基於張華平博士的貢獻, 相繼投入此一研究和開發各種版本. 在此blog( http://www.cnblogs.com/percyboy/archive/2011/02/11/1951053.html ), 經由博主的研究和歸納, 有幸一窺ICTCLAS的族譜. 在此以饕各位愛好者~

        

綸綸想吃魚

        話說上星期綸綸因為腸胃型感冒, 需要控制食物的類型(清淡, 無蛋白質). 不然症狀會不好控制(就是會一直拉).
        哪曉得這小子, 居然天真地想吃麥當當的魚堡. 我想到"管教啊, 管教"一書的原則(或法則)"做個耐心十足的父母". 我就一直好說歹說, 希望能打消他的欲望. 想當然而, 他怎麼可能聽的進去呢. 一開始他是生氣, 我說了不下十多次(各種理由&後果都用上了). 我突然想到, 其實讓他吃魚堡的麵包也去麥當當玩一下. 我心想應該算是Win-Win吧. 他似乎有了解但還是不甘願(戰況持續拉鋸中. 僵持10多分鐘, 這下換他來軟的. 就開始哭了(不是那種大哭, 是那種像小媳婦百般委屈的哭), 眼淚一直滴, 讓我也心疼不已. 這時我又想到書裡的另一招"不要叫小孩「不要哭」", 我就說"爸爸知道你很想吃魚, 可是你吃了會肚子痛, 又要去看醫生, 吃苦的藥"(不要用疊字"苦苦的"), 一直用瞭解和同情的話術去讓他瞭解, 今天是不能吃魚的. 最後他終於同意只吃麵包不吃魚. 等會會遇到鬼打牆的事~
        (快快樂樂去麥當當ing~)
        很快樂的自己向ㄚ姨點了魚堡(不加醬也不加起士片, 虧大了)坐定位置, 綸綸就大手一抓, 就要開始吃魚堡了. 我快速地搶下來(其實這是不好的示範, 我應該一開始就先把魚排收好, 再把麵包給綸綸吃), 把魚排收起來. 想當然, 這小子又開始生氣了. 把出門前答應的內容, 忘的一乾二淨. 我只好又開始說道理盡量不動怒, 畢竟是公眾場所. 當然我也不要怕丟臉就直接責罰小孩(會收到反效果). 除此之外, 我也加上"你剛剛和爸爸溝通好了, 只吃麵包"之類的話語, 不料這小子居然說"你沒有溝通". 旁邊的人都笑了, 我自己其實是又氣又笑. 反正就是把剛剛在家裡的狀況劇又重演了一次, 最後總算是和平收場. 綸綸吃了麵包, 我沒罵也沒打小孩. 這算是Win-Win吧.
        其實當天因為沒有時間壓力, 所以我就用盡力氣"用說的"讓小孩能夠懂和內心地服從. 所以只要時間足夠, 我都會盡量這麼做~

2012年12月13日 星期四

Scrum VS PMBOK

Scrum和PMBOK有啥不同咧?
[ 不正經版 ]
1. 便宜(NT$40K) vs 花錢(NT$50K)
2. open職缺少 vs open職缺多

[ 專業版 ]
1. time boxing vs featuer boxing
2. fix time vs fix scope
3. bottom-up self-organization vs top-down management


以上內容皆為朋友Zion無私分享

2012年12月12日 星期三

Better Traditional Chinese support in Lucene / Solr

    I discover the the approach you may want to know
[ Search Engine Platform ]
    I use LucidWorks Enterprise to have quick POC and initial implementation
[ Detail Configuration / Setup ]
1. Have a new field to store/index TC
2. Configure this field by Lucence SmartChineseAnalyzer. You can refer to an instruction in detail configuration.
3. Instruct an Analyzer(solr.MappingCharFilterFactory) to do character/sentence translation from TC to SC with a customized mapping file.
4. Change default defType(query parser) from lucid to edismax because 1st filter supports English only.

    There isn't a dedicate/better Traditional Chinese(Big5 code)(we use TC in this article) analyzer/tokenizer in Lucene/Solr. There are some good Simplified Chinese(GB code)(we use SC in this article) analyzer/tokenizer. Finally, I choose SmartChineseAnalyzer due to 2 major features
1. The algorithm : It uses Hidden Markov Model and it was proved that over 98% search accuracy by another implementation(ICTCLASx).
2. It has a good integration/plug-in w/o further works.

2012年12月11日 星期二

Enterprise Architecture


  1. Using TOGAFR to Develop and Implement Enterprise Architecture in Government - U.S. Federal Agencies as Example, http://www.architecting-the-enterprise.com/enterprise_architecture/articles/using_togaf_to_develop_and_implement_enterprise_architecture_in_government_-_u.s._federal_agencies_as_example.php
  2. One hour tutorial to TOGAF for freshers,http://www.slideshare.net/Infosys/togaf-tutorial-443776

基於Search Engine之中文分詞

http://my.opera.com/jinglepot/blog/index.dml/tag/solr
http://kb.trisugar.com/node/9751
http://code.google.com/p/mmseg4j/ mmseg4j MMSEG for java lucene chinese analyzer, or for solr
http://chenlb.iteye.com/blog/353334 中文分词 mmseg4j
http://chenlb.iteye.com/blog/439843 讨论 mmseg4j 的现状,与改进
http://railsfun.tw/viewthread.php?tid=672 CoreSeek :Sphinx + 中文字典檔:中文分詞搜尋引擎
http://www.mobile01.com/topicdetail.php?f=62&t=339949&last=34826211 求繁體中文版的ZDic[台灣教育部國語辭典]
http://blog.fulin.org/2009/08/lucene_chinese_analyzer_compare.html 当前几个主要的Lucene中文分词器的比较
http://technology.chtsai.org/mmseg/ MMSEG: A Word Identification System for Mandarin Chinese Text Based on Two Variants of the Maximum Matching Algorithm
http://manan.org/2011/08/using_ictclas_in_java_and_lucene/ 在Java程序和Lucene中使用中科院分词系统ICTCLAS
http://ictclas.org/content_java_002.html 给Lucene加入性能更好的中文分词
http://hi.baidu.com/drkevinzhan ICTCLAS张华平博士的空间
http://kb.trisugar.com/node/9751 利用Lucene制作中文搜尋應用


2012年12月10日 星期一

Enterprise Search Engine 企業級搜尋引擎

Lucene / Solr / Tika / Nutch / LucidWorks

        近來預期要導入企業內部search engine(不遠的將來可以會有KM的需求), 要能夠抓DB / crawl intranet webs / 文件庫(whatever file repository or MS-SharePoint)
        馬上想到的標的就是Google Appliance / 龍捲風(Tornado) / Apache Lucene這幾個常見的解決方案. 想當然爾, "要馬兒跑又要馬兒不吃草"的潛規則就自動變成"MIS限制理論". 原本國外分公司有購買Google Appliance, 這就是最好的選擇, 好用又不用自己(台灣分公司)花錢. 不幸的是...只用在internet網站. 只好繼續尋找.
         一剛開始, 由於有先前survey CMDBuild (這個好東西改天再來介紹, 該開發團隊真是太強了),  進而知道Alfresco( CMS )可搜尋PDF & Office文件, 底層也是Apache Lucene. 試了很久, 發現並不是我想要的. 或許是殺雞焉用牛刀吧, 又或許是難以快速上手, 又或許是難以擴充功能(crawl intranet webs. 最後還是放棄了.
         初步查看Lucene相關資料後, 網路都推薦Lucene + Solr. 再加上自身的需求就變成Lucene + Solr + Tika (document parser/analyzer) + Nutch (web crawl)的套餐了. 只不過因為"偷懶", 因為還要開發或整合search UI. 研究該套餐數天後, 又轉換研究目標到LucidWorks Enterprise. 其實該system也是Lucene + Solr + Tika + Nutch + ....的集成. 加上已經設計好的UI( Admin & user ), easy to use and quick configuration to production/pilot run. 加上原本Solr的彈性配置, 其實還是具有擴充性.

Useful Reference

http://blog.building-blocks.com/building-a-search-engine-with-nutch-and-solr-in-10-minutes