Thursday, February 2, 2012
Review Go Launcher EX
Home Replacement Application คืออะไร
ป๊าดโถ่ะ!! ง่ายนิดเดียว (แล้วเมิงจะให้มาทำความรู้จักก่อนทำไม) ก็ตัว Operating System ของ Android เนี่ย มันเป็น Open Source อย่างที่ทุกคนรู้ คราวนี้ เมื่อผู้ผลิตมือถืออยากจะผลิตมือถือ Android ซักเครื่องเนี่ย ก็จะต้องเอา Source Code จาก Android ไปเพื่อ Modify เป็น Version ของผู้ผลิตเอง ยกตัวอย่างเช่น Sense UI ของ HTC หรือ Android ที่เราคุ้นตาในทันทีที่เราเปิดเครื่องใหม่มาใช้ ไม่ว่าจะเป็น LG, Samsung, หรือ Motolora นั่นเอง คราวนี้ปัญหามันเกิดตรงที่ว่า Launcher ที่เกิดจากการ Modify จากผู้ผลิตมือถือเนี่ย ความยืดหยุ่นค่อนข้างน้อย หรืออาจจะมีปัญหาอื่นเช่น แดรกแบตเตอรี่ หรือ เรนเดอร์หน้าจอค่อนข้างช้า มันก็เลยเกิด Application จำพวก Home Replacement ขึ้นมายังไงล่ะจ๊ะ
Home Replacement Application มีอะไรบ้าง
เท่าที่หาใน Android Market มาเนี่ย ค่อนข้างจะมีมากมายหลายตัวอยู่เหมือนกัน แต่ตัวที่เด่นดังเนี่ย น่าจะมีอยู่ประมาณ 3 - 4 ตัวเห็นจะได้ (ความเห็นส่วนตัว) ก็คือ Go Launcher EX, Launcher Pro Plus, ADW Launcher บางตัวฟรี บางตัวก็ไม่ฟรี ซึ่งแต่ละตัวก็มีความสามารถรวมถึงรูปแบบที่แตกต่างกัน ก็แล้วแต่ชอบละกันนะจ๊ะ
มาเริ่มทำความรู้จัก Go Launcher EX กันได้
พอกดค้นหาคำว่า Launcher ใน Android Market เท่านั้น Go Launcher EX ก็จะโผล่มาให้เราเห็นทันควัน พอกดมาดูว่า App นี้มี Rating เท่าไหร่ ก็พบว่า โอ้ว!! ได้ตั้ง 4.7/5 จากผู้ให้คะแนน 290,566 ราย (ซึ่งข้อมูลมีจำนวนมากพอ) และค่าเบี่ยงเบนมาตรฐานมีไม่มาก ชี้ให้เห็นว่า App นี้น่าสนใจอย่างมีนัยสำคัญแล้วล่ะ (ว่าไปนั่น)
อีกหนึ่งประเด็นที่มักถูกมองข้ามคือ ใครคือผู้ผลิต อย่าลืมลองไปหาข้อมูลพวกนี้ไว้ด้วยก้ไม่เสียหายนะจ๊ะ คราวนี้ลองมาดูในรายละเอียดในหน้า Market ดูว่า GLEX ตัวนี้ทำอะไรได้บ้าง
- มันบอกว่ามี Themes ให้เลือกใช้เป็นพัน (ฟรีอีกตะหาก)
- มี Widgets ให้เลือกใช้มากมาย เช่น GO Calendar, GO Task Manager
- มี Effect การเปลี่ยนหน้าจอที่หลากหลาย
- ให้ความรู้ลึกลื่นไหลเวลาเปลี่ยนหน้าจอ
- สร้าง Folder เพื่อจัดชนิดของ Application ได้
- เปลี่ยน Icons, ซ่อน App Icons, และ Uninstall Apps ได้
อ่านจบแค่นี้ก็ไม่ต้องคิดมากครับ "โหลดเลยดีกว่า" เพราะแม่งดีกว่า Launcher ที่ติดมากับมือถือแบบขาดรอย และอีกประเด็นที่ทำให้ App นี้น่าใช้มากก็คือ "แม่งฟรี" ฮะ คนไทย ต่อให้ App ถูกขนาดไหนก็ไม่ยอมจะซื้อกัน แต่ไม่เป็นไร บัดนี้สวรรค์ได้ประทานของถูกและดีให้พวกเมิงได้ใช้กันแล้วฮะ ลองโหลดโลด หรือถ้าใครยังไม่มั่นใจว่าจะโหลดดีมั้ยก็ลองอ่านตามประเด็นด้านล่างกันต่อจ่ะ
สวยมั้ย
ต้องบอกว่าสวยไม่สวยขึ้นอยู่กะเมิงแต่งหน้าจอสวยมั้ย Android ถูกออกแบบมาให้มีหน้า Home แยกกับหน้า Application หรือที่เรียกกันว่า App Drawer (หากใครใช้ iPhone มาจะงงนิดหน่อย) ซึ่งหน้า Home นี้เอง จะอนุญาติให้เราใส่พวก Widgets ตามความชอบ หรือความสะดวกได้เลย โดยที่หลักของการปรับแต่ง ก็จะค้ายกันคือลาก Widgets ที่เราชอบมาวางไว้บนหน้า Home ได้เลย แต่ที่เด็ดก็คือเราสามารถปรับเปลี่ยนชื่อ App Shortcut ที่มาวางบนหน้าจอได้ หรือแม้กระทั่งการเปลี่ยน Icon หรือ Action ที่ 4 ปุ่มด้านล่างได้อย่างอิสระ โดยรวมแล้วการออกแบบ GLEX ทำออกมาได้ ค่อนข้างน่ารัก และ Clean หรือถ้าใครไม่ชอบแบบดั้งเดิมแต่ขี้เกียจแต่งเอง ใน Android Market ก็มี Themes ให้เลือก Download ได้ฟรีตั้งมากมายและ Update ต่อเนี่งอีกด้วย (ซึ่งนี่เป็นประเด็นที่สำคัญที่ทำให้ GLEX โด่งดังขนาดนี้) ถ้าลองเปรียบเทียบกับ Launcher Pro Plus หรือ ADW ในแง่ความสวย ผม No Comment เพราะเรื่องความสวยมันเป็นความชอบส่วนตัว ผมชอบคุณอาจจะไม่ชอบก็ได้
ปรับได้เยอะมั้ย
เยอะค่อนข้างใช้ได้เลยทีเดียว (อย่างน้อยก็เยอะกว่าที่แถมมากะมือถือล่ะนะ) ซึ่งจะมาอธิบายทีละปุ่มเลยนะ
- Add คือ เพิ่ม Item ไม่ว่าจะเป็น Widgets, Short Cut หรือ อะไรก็ตามเข้ามาในหน้า Home Screen ซึ่งผู้ใช้งานอาจจะใช้วิธีการกด ค้างที่หน้า Home Screen ก็สามารถ Add ได้เหมือนกันจ้า
- Wallpaper เปลี่ยน Wallpaper ธรรมดานี่แหละ
- Theme เปลี่ยนหรือ Download Theme ได้ในนี้นะจ๊ะ
- Go Store ในเมนูนี้จะรวบรวม Product ที่ GO DEV TEAM เป็นผู้ผลิตนะจ๊ะ
- Edit เพิ่มหรือลดจำนวนหน้า Home Screen แถมยังจัดเรียง Sequence ของหน้าได้ด้วยนะเออ
- Preference ในเมนูนี้ก็จะรวบรวมการปรับแต่งมากมายซึ่งจะกล่าวถึงในภายหลัง
- Setting เมนูนี้คือเมนู Setting หลักของ Android นะจ๊ะ
- Effect อันนี้เอาไว้ปรับแต่งพวก Effect เวลาเปลี่ยนหน้า Home Screen, ตอนเปิด App Drawer และตอนเปลี่ยนหน้า App Drawer จ่ะ
ซึ่งโดยรวมแล้วถือว่า GO DEV TEAM ทำได้ดีและยืดหยุ่น คราวนี้ลองมาดูใน App Drawer กันมั่งว่าปรับอะไรได้บ้าง
- เรียง Apps ได้หลายแบบ ทั้งตามตัวอักษร หรือตามว่าตัวไหน Installed ก่อน หลัง
- สร้าง Folder
- ซ่อน App ที่เราไม่ใช้งานบ่อย ก็จะทำให้เราหา App ง่ายขึ้นเยอะเลยนะเออ
- Setting ที่เกี่ยวกับ App Drawer เช่น จำนวน App ด้านนอนและด้านตั้ง, ตั้งค่าว่าจะให้มี Recent และ Running หรือไม่, หรือจะเปลี่ยนรูปแบบ App Drawer ไปเลยก็ยังได้
คราวนี้เราลองมาเจาะลึกว่าไอ้เมนู Preference เนี่ยทำอะไรได้บ้าง ซึ่งทั่วไปแล้ว GLEX ก็ได้แบ่งการ Setting เป็นตามประเภทได้ 6 หัวข้อคือ
1. Visual Setting ซึ่งจะทำให้เราปรับ Background, Icons, Font และ Screen Indicator ได้
2. Screen Setting ซึ่งจะทำให้เราสามารถปรับเกี่ยวกับ Home Screen เช่น จำนวน Icons แนวนอนและแนวตั้ง, เอาหรือไม่เอา Status Bar, หรือแม้กระทั่งปรับ Speed ในการเปลี่ยนหน้า
3. App Drawer Setting ก็ปรับอะไรก็ตามที่เกี่ยวกับ App Drawer น่ะสิ
4. Effect Setting ก็เอาไว้ปรับ Effect เวลาเปลี่ยนหน้า (Transition) น่ะสิ
5. Gesture Setting ไว้ปรับ Action ตามต้องการ
โดยส่วนตัวแล้วค่อนข้างชอบการปรับแต่งได้เยอะขนาดนี้ ซึ่งหากถามว่าปรับได้เยอะมั้ย บอกได้เลยว่าเยอะ
เร็วมั้ย
อันนี้ตอบค่อนข้างยาก ต้องถามว่าเทียบกับอะไร หากเทียบกับ IOS ก็บอกได้เลยว่า ยังไง Android ก็ไม่มีทางเร็วกว่า IOS หรอก เพราะมันใช้ Java เป็น Base และอย่างที่ทุกคนรู้ Java มี Garbage Collection ซึ่งจะตื่นขึ้นมาเคลีย Garbage อยู่เป็นประจำซึ่งจะทำให้เกิดการกระตุกเล็กน้อย ตอนที่เราเล่นน่ะแหละ คราวนี้ ถ้าถามว่าทำไมไม่แก้ ก็ต้องตอบว่า ไม่ใช่ไม่แก้ แต่มันแก้ไม่ได้ เพราะ App ใน Android Market ขณะนี้เนี่ย มันเยอะเกินกว่าที่จะเปลี่ยนแปลงโครงสร้าง Core OS แล้ว แล้วถ้าเทียบกับ Android ด้วยกันล่ะ
ก็ต้องตอบว่าแล้วแต่อยู่ดี Android Phone มี Specification ที่หลากหลาย ใช้ Hardware ที่ต่างกัน ดังนั้นมันก็เลยให้ Performance ที่ต่างกัน แต่โดยรวมแล้ว ถือว่าลื่นขึ้นมากทีเดียวหากเทียบกับ Android ที่มากับตัวเครื่อง
สรุปข้อดี
1. ลื่นขึ้นจาก Android ที่มาจากตัวเครื่อง และ Launcher อีกหลายตัว
2. ปรับแต่งได้เยอะ
3. มี Theme ให้เลือก
4. ฟรี
สรุปข้อเสีย
1. ลงใน SD Card ไม่ได้
2. อาจจะช้ากว่า Launcher Pro Plus และ Zeam Launcher
Thursday, September 29, 2011
Grails คืออะไรหรา
มาวันนี้ครับพ่อแม่พี่น้อง ผมขอนำเสนอ Grails ซึ่งสำหรับผม เคยได้ยินแต่ชื่อเสียงเรียงนาม ไม่เคยได้สัมผัสสักครั้ง (ฮ่าฮ่า) แต่หลังจากที่ลอง Hello World มานิดหน่อยก็จะมาขอแชร์ให้พ่อแม่พี่น้องได้อ่านกันนะครับ
ข้อดีของ Grails ที่สัมผัสได้
สำหรับบางคนการพัฒนา Web Application ซักตัวหนึ่งถือเป็นเรื่องค่อนข้างซับซ้อน แม้ว่า Project ที่เราต้องการจะพัฒนานั้นจะเป็นระบบที่ง่ายขนาดไหน ยกตัวอย่างเช่น
- รับ HTTPRequest
- แปลงเป็นชนิดข้อมูลไม่ว่าจะเป็น Object หรือ Primitive
- ตรวจสอบข้อมูลทั้งในเชิง Value Validation และ Type Validation
- ทำการบันทึกค่าลง Database
ซึ่งในการแสดงข้อมูลก็จะต้องทำหลายกระบวนการอีกเช่นกัน ซึ่งขั้นตอนเหล่านี้เกิดขึ้นซ้ำแล้วซ้ำเล่าอย่างหลีกเลี่ยงไม่ได้ (นี่ขนาดพูดถึงแค่ฝั่ง Server นะเนี่ย ยังไม่รวมถึง พวก AJAX หรือ RIA) โดยตลอดหลายปีที่ผ่านมาก็มี Framework มากมายหลายหลากผุดขึ้นมายังกะดอกเห็ด เพื่อช่วยให้เราลดขึ้นตอนที่ยุ่งยากในการพัฒนา Web Application ที่กล่าวมาข้างต้น แต่ก็ต้องแลกกับการมี Configuration Files เพิ่มขึ้นมาอยู่ใน Project เช่น Struts, Spring, Hibernate (เพราะนี่คือพื้นฐานของการสร้าง Framework) และแน่นอนไม่มี Framework ไหนจะสามารถตอบโจทย์ของนักพัฒนาทั้งน้อยใหญ่ได้ทั้งหมด บางงานอาจจะต้องใช้ Framework หลายตัวมาใช้งานร่วมกัน (Integrate) แต่การทำเช่นนั้นก็จะทำให้เกิด Configuration Files มากมาย ตัวอย่างนึงที่ดีในการทำให้เห็นภาพปัญหานี้ก็คือ สมมุติว่าเราจะเพิ่มหน้าจอหนึ่ง เราจำเป็นจะต้องเข้าไป Config ในไฟล์หลายตัว (อย่างน้อยก็ struts-config.xml) แล้วถ้าใน Project นี้ใช้ Hibernate ด้วยล่ะ (Config กระจาย)
จากปัญหาเหล่านี้ Grails ช่วยท่านได้ครับ ลองดูประโยชน์ของ Grails ดังนี้
1. ลดจำนวน Configuration Files
เอาละเว้ย แค่อันแรกก็โดนใจกระผมอย่างแรงครับ เนื่องจาก Grails ใช้แนวคิด Convention Based ทำให้ลดจำนวน Configuration ไปได้มากโข แม้หลายคนจะบอกว่า "เมิงก็ให้ IDE Generate ให้สิ เดี๋ยวนี้มีเป็น Wizard เลยนะเออ" แต่ความจริงแล้ว IDE มันก็แค่พรางปัญหาเหล่านี้ให้เท่านั้นแหละ เพราะความซับซ้อนของมันก็ยังคงเดิม
ซึ่งสำหรับ Grails แล้วมองว่าหากสร้าง Class นึงขึ้นมา (ตามแบบแผนนะ) Class อื่นที่เกี่ยวข้อจะถูก Generate ขึ้นมาโดยมีชื่อ File, Path ที่เป็นระบบขึ้นมาอัตโนมัติ (โอ้โห) ยกตัวอย่าง
หากเราสร้าง User.groovy ขึ้นมามันก็จะ Generated Configuration File (ซึ่งมีไม่กี่ FIles) แล้วก็ Controller ให้เองภายใต้ Package ที่เหมือนกันเป๊ะ (จอร์จมาก) แต่ทั้งนี้ทั้งนั้น หากไม่ชอบที่ Grails มัน Generate มาให้ก็สามารถเข้าไปเปลี่ยนแปลงได้ตลอดเวลา
2. ไม่ต้อง Redeployed แถมเขียนไม่กี่บรรทัดด้วยนะเออ
อันนี้ก็แจ่มแมวอีก Feature เนื่องจากการพัฒนาด้วย Java ในการ Run แต่ละครั้งอาจจะต้อง Redeploy และ Restart Server ซึ่งบางทีค่อนข้างเสียเวลา แต่เนื่องจาก Grails สามารถ Dynamic Language ได้ซึ่งจะทำให้เราพัฒนา Java ร่วมกับ Groovy ซึ่งมีลักษณะเป็นภาษา Script (ไม่ต้อง Redeploy) ได้ แถมข้อดีของ Groovy ยังมีอีกก็คือ เขียนนิดเดียว ได้ผลเท่า Java (นี่แหละที่เจ็บปวด T^T)
หลังจากการเล่นมาครึ่งวันเจอแค่นี้ คิดว่าอีกไม่นานก็คงจะเจออะไรมากมายที่เป็นประโยชน์ต่อการทำงาน เอาไว้มาแชร์ใหม่นะจ๊ะ ฟริ๊ววววววว!!
Tuesday, April 20, 2010
Camp Framework
ปัจจุนบันมีนักศึกษา Computer Science จบใหม่ขึ้นมาทุกปี ปีละจำนวนไม่น้อย แต่ละคนมีความฝันเหมือนกันคือ "อยากเก่ง" , "อยากมีรายได้ต่อเดือนเยอะ" หรือไม่ก็ "อยากมีความก้าวหน้าและมั่นคงทางการงาน" ครับ แต่!!~ ทำอย่างไรล่ะ ทำยังไงถึงจะเป็นแบบนั้นได้
จากคำถามนี้อาจทำให้หลายคนสนใจในบทความนี้ขึ้นมาไม่น้อยใช่มั้ยครับ เชื่อหรือไม่ว่าคุณสามารถทำงานเพียงแค่ 1 ปี แล้วสามารถอัพเงินเดือนได้ถึง 10,000+ บาทในการสมัครงานครั้งใหม่ได้ ก่อนอื่นผมขอออกตัวก่อนนะครับว่าผมไม่ใช่คนเก่ง คนรวย หรือ ประสปความสำเร็จทางด้านการงานมากมายแต่อย่างใด ผมแค่ต้องการจะแบ่งปันมุมมองส่วนตัว (โปรดใช้วิจารณญาณ) ให้โปรแกรมเมอร์รุ่นใหม่ (กว่า) ได้ลองดู Framework นี้ครับ
แทนที่จะทำงานแบบเน้น Chill Out ทำไปแชทไปหรือทำไปปลูกผักไป แล้วเน้นวิ่งเต้นเปลี่ยนงานเพื่ออัพเงินเดือนตัวเอง เพราะทำงานที่เดิมแล้วเงินเดือนมันขึ้นช้า
ลองมาดูนี่ครับ Framework นี้เน้นการทำงานไปทางด้านการพัฒนาซอร์ฟแวร์ระดับ Enterprise โดยเฉพาะ Java สำหรับเด็กที่จบใหม่หรือนักศึกษา Computer Science ที่กำลังเรียนอยู่แล้วต้องการเตรียมตัวออกมานอกกะลานะครับ
Main Concept ของ Framework ตัวนี้ว่าด้วยเรื่องของการแสวงหาความรู้แบบ Optimal และใช้ควรจะใช้เวลาที่จะทำให้สำเร็จภายใน 1-3 ปีแล้วแต่ความขยัน (ผมก็ยังทำได้ไม่หมด) ก่อนอื่นต้องสร้างทักษะพื้นฐานเพื่อใช้ในการพัฒนาตัวเองภายในเวลาอันรวดเร็วครับ ซึ่งผมจะแบ่งเป็น 2 ด้านคือ Technical และ Non-Technical ซึ่งทั้ง 2 ส่วนมีความสำคัญมากไม่แพ้กันเลย ต้องยอมรับว่า Software Developer ที่ไม่มีทักษะทางด้าน Non-Technical (Soft Skill) เลยจะประสปความสำเร็จได้ช้ากว่า ดังนั้นผมจึงได้บูรณาการ Skill ที่จำเป็นเข้ามารวมไว้ด้วยกันครับ
ทักษะด้าน Technical
- พื้นฐานด้าน Project Management
- พื้นฐานด้าน Requirement Management
- พื้นฐานด้าน Software Quality หรือ Quality Assurance
- พื้นฐานด้าน CMMI, Agile, Extreme Programing (XP)
- พื้นฐานด้าน ภาษา Programing พื้นฐาน
- พื้นฐานด้าน Object Oriented Programing
- พื้นฐานด้าน UML
- พื้นฐานด้าน Web-Base Application Development และ HTTP
- พื้นฐานด้าน Design Pattern
- พื้นฐานด้าน Database Design
- พื้นฐานด้าน Software Architecture
- พื้นฐานด้าน Opensource
- พื้นฐานด้าน Internet และ Application Security
- พื้นฐานด้าน Architecture Framework
- พื้นฐานด้าน Web Services, Service-Oriented Architecture
ดูแล้วมึนตึ้บใช่มั้ยครับ แต่นี่คือพื้นฐานเบื้องต้นในการประกอบอาชีพของท่าน (ก็ท่านจะเป็น Programmer ไม่ใช่หรอ) และยังต้องหาเพิ่มเติมหากท่านคิดจะยึดอาชีพสายนี้ต่อไป เพราะรู้หรือไม่ว่าเทนโนโลยีใหม่นั้น เกิดขึ้นทุก 2 ปี นั่นแปลว่า ถ้าท่านเริ่มเข้ามาเรียน Computer Science ใหม่ ประมาณปี 3 ท่านจะตกยุคถ้าท่านไม่หาความรู้เพิ่มเติม ซึ่งนี่คือ Nature ของผู้ที่ทำงานสาย IT ครับ ไม่ใช่เรื่องแปลก ดังนั้นท่านควรจะสะสมความรู้ตามที่ผมได้ List ให้ได้ภายในเวลา 1-3 ปี และที่สำคัญที่สุด ไม่ใช่แค่รู้อย่างเดียวควรจะเข้าใจและทำเป็นด้วย ถามว่าทำไมต้องรู้เยอะขนาดนี้ บางคนรู้น้อยกว่านี้ตั้งเยอะทำไมถึงเป็น Programmer ได้ล่ะ คืออย่างงี้ครับ ผมมักจะเปรียบการพัฒนา Software ให้เพื่อนหรือน้องฟังว่ามันคล้ายกับการสร้างตึกโดยสามารถแบ่งหน้าที่หลักได้เป็นระดับเรียงจากล่างขึ้นบนเฉพาะสาย Technical ได้ดังนี้ครับ
- Software Developer / Programmer = กรรมกร
- Software Engineer = วิศวะกร
- System Analyst = สถาปนิก
- Project Manager = ผู้รับเหมาก่อสร้าง
ถ้าทุกคนมองอุตสหกรรมการพัฒนา Software เป็นภาพนี้แล้วนั้น จะเป็นคำตอบของหลายคำถามได้อย่างดีครับ ถามว่าถ้าผมเป็นผู้รับเหมาแล้วผมต้องการจะจ้างกรรมกรซักคน โดยปกติแล้วการจ้างงานจะมี Normal Rate หรือ ฐานเงินเดือนปกติครับ แต่ถ้าท่านอยากได้เงินมากกว่ากรรมกรคนอื่นล่ะ จะทำยังไง คำตอบง่ายมากครับ "ท่าต้องโดดเด่นกว่ากรรมกรคนอื่น" เพราะพวกเค้าคิดตามแบบ ROI (Return of Invesment) ครับถ้าใช้เงินลงทุนมากเค้าก็คาดหวังที่จะได้ผลตอบแทนมากเช่นกัน การที่เราจะสามารถสร้างมูลค่าทางความสามารถให้กับตัวเองให้กับตัวเองสามารถทำได้ โดยผมใช้หลักแนวทางดังต่อไปนี้ครับ
- หนังสือเล่มหนา ผมไม่จำเป็นต้องอ่านหนังสือทุกหน้า แต่เน้นลองสร้างโจทย์แล้วลองทำดู เมื่อติดจึงเปิดหาวิธีแก้
- ผมใช้เวลาวันละ 10-30 นาทีในวันทำงานเพื่อศึกษาเทคโนโลยีเพิ่มเติมจากงานประจำที่ทำ บางคนอาจมองว่า อ่าว!!~ ไอ่นี่อู้งานนี่หว่า แต่นี่คือวิธีสร้างองค์ความรู้ใหม่ให้กับตัวเองอีกทั้งองค์กรยังอาจจะได้ใช้ประโยชน์จากจุดนี้ไม่น้อยเลยทีเดียว
- ผมอัพ Blog โดยใช้ความรู้เทคโนโลยีที่ได้อ่านมาจากข้อข้างบนแล้วเรียบเรียงบวกกับใส่ความคิดเห็น มุมมอง และทัศนะคติส่วนตัวเข้าไป เพื่อเป็นการทวนและ กระตุ้นให้สมองได้วิเคราะห์อยู่ตลอดเวลา
- ผมขยันถามและตอบในกระทู้ Technical Forums ซึ่งนั่นเป็นการกระตุ้นให้ผมไม่เฉื่อยจนเกินไป การตอบกระทู้จะทำให้เรามองเห็นปัญหา ข้อดี และ ข้อเสีย ของเทคโนโลยีมากขึ้นอีกทั้งยังเป็นการกระตุ้นให้เราพยายามหา Solution ในปัญหาบางอย่างที่เราตอบไม่ได้
- รับงานสอนหนังสือหรืองานอาชพอิสระบ้างตามโอกาส แต่ต้องรู้จักเลือกงานครับ เลือกเฉพาะงานที่เสริมทักษะ ความรู้ หรือ Connection ไม่ใช่เพื่อเงินอย่างเดียว ไม่เลือกงานยาวจนผูกมัดตัวเองจนเกินไป
- เน้นหาประสปการณ์ที่หลากหลาย อย่าตกเป็นสาวกของเทคโนโลยี พยายามมองว่าเทคโนโลยีเป็นเพียงเครื่องมือในการประกอบอาชีพเท่านั้นดังนั้นท่าจึงควรขยันของานที่หลากหลายจากหัวหน้างานเพื่อสร้างทักษะและประสปการณ์ให้กับตัวเองได้รู้จักเครื่องมือใหม่ ที่ท่านสามารถนำมาประยุกต์ใช้กับงานหลากหลายแขนงได้อย่างมีประสิทธิภาพ
ทักษะด้าน Non-Technical
- มารยาท การเข้าสังคม ความเกรงใจ ความอ่อนน้อม
- บุคลิคภาพ ความมั่นใจในตัวเอง การแต่งกาย
- ทักษะด้านการสื่อสาร ไม่ว่าจะเป็น ฟัง พูด อ่าน เขียน
- พื้นฐานทางธุรกิจรวมไปถึงมุมมองอย่างผู้บริหาร
- การบริหารเวลา
- มีคุณธรรม
ก่อนอื่นต้องหาเป้าหมายของตัวเองให้เจอครับ วาง Career Path ให้ชัดเจนแล้วมุ่งเป้าไปให้ได้ ผมมักจะตั้งเป้าหมายทั้งระยะสั้นและระยะยาวให้กับตัวเอง เป้าหมายระยะยาวก็เช่น ภายในเวลาไม่เกิน 2 ปี ผมจะต้องเป็น Software Engineer ให้ได้อะไรประมาณนี้ ส่วนเป้าหมายระยะสั้นก็เช่น ภายใน 1 เดือน ผมต้องศึกษาและทำความเข้าใจเกี่ยวกับ EJB ให้ได้ หรืออะไรทำนองนี้ การตั้งเป้าหมายจะทำให้เราไม่เฉี่อยต่อการดำเนินชีวิตจนเกินไป แต่ก็ไม่ใช่ตั้งจนบีบตัวเองมากเกินไปนะครับ เดี๋ยวจะหมดไฟในการทำงานซะก่อนตั้งแบบพอดีแต่ค่อนข้างเบนไปทางบีบนิดหน่อย เว้นช่องใว้ให้เวลาส่วนตัวบ้างตามสมควร
อีกหนึ่งอาวุธที่สามารถทะลายกำแพงแห่งวัยวุฒิได้คือทักษะทางด้านการสื่อสารครับ โดยปกติแล้วค่าแรงของกรรมกรอายุมากมักจะได้เยอะกว่ากรรมกรหนุ่มไฟแรงถูกมั้ยครับ นั่นก็เพราะว่าผู้รับเหมาใช้เกณฑ์อายุมาช่วยในการตัดสินความสามารถ โดยใช้หลักว่าคนที่อายุมากกว่าย่อมเกง่กว่าคนอายุน้อง ผ่านโลกมามากกว่า อะไรทำนองนี้ ซึ่งในความคิดของผม "ไม่แน่เสมอไปครับ" ถ้าท่านสามารถทำตาม Framework ด้านบนได้ นั่นแปลว่า ท่านอาจจะเก่งกว่า Software Engineer บางคนเลยด้วยซ้ำ ดังนั้นทำยังไงให้เค้ารู้ว่าเรามีความสามารถล่ะ ทักษะด้านการสื่อสารนี่แหละครับจะเป็นกุญแจสำคัญที่จะทำให้เค้ารู้ได้ว่า "เรามีความสามารถ หรือ เราเป็นมืออาชีพ โดยที่ยังไม่ทันลงมือทำซักแอะ"
สุดท้ายคือการหาจุดอ่อนของตัวเองให้เจอแล้วแก้ไขซะ ข้อนี้ผมหมายรวมไปถึงการวางตัวและมารยาทในสังคมด้วย ถ้าคุณบอกว่า "ผมไม่มีจุดอ่อน" นั่นแปลว่าคุณไม่สามารถทำข้อนี้ได้และอาจส่งผลเสียในภายหลังได้ครับ ในทางตรงกันข้าม การแก้ไขจุดอ่อนในตัวคุณจะทำให้คุณแข็งแกร่งขึ้น เป็นคนน่าเชื่อถือ เป็นที่รักของเพื่อนร่วมงาน ซึ่งนั่นอาจจะนำท่านไปสู่โอกาสในการก้าวหน้าทางการงานมากกว่ากรรมกรคนอื่นก็เป็นได้
รู้หรือไม่ว่าการทำงานหนักจนเกินไปก็ถือเป็นจุดอ่อนอย่างหนึ่งที่หลายคนมองข้าม การที่ไม่มี Work & Life Balance ที่ดีอาจจะนำไปสู่ความทุกข์ในการทำงานหรือการดำเนินชีวิตได้ ดังนั้นนอกจากจะต้องมีเป้าหมายในการทำงานที่มั่นคงแล้วยังต้องมีการบริหารการจัดการเวลาที่ดีด้วย ท่านสามารถมีคุณภาพชีวิตที่ดีควบคู่ไปกับการพัฒนาตัวเองอย่างรวดเร็วได้หากรู้จักใช้เวลาให้คุ้มค่าและรู้จักปล่อยวาง "ไม่มีอะไรจะเจ๋งไปกว่าทำงานแล้วมีความสุขใช่มั้ยครับ"
Note : เขียนไม่ค่อยรู้เรื่องเท่าไหร่ เดี๋ยวเอาไว้ว่างค่อยมาเรียบเรียงใหม่
มหากาพย์แห่ง Business Intelligent และ Pentaho ภาคอวสาน
Reporting
Pentaho Reporting ช่วยให้ผู้ใช้งานสามารถเข้าถึงข้อมูลในรายงานตาม Layout ที่กำหนด (Static Report) ได้หลายรูปแบบทั้งในรูปแบบของ PDF, Excel, RTF, Text File ซึ่งรายงานดังกล่าวสามารถจัดส่งถึงผู้ใช้งานผ่านทาง Web Portal, E-Mail หรือแม้แต่ใน Application
ความสามารถของ Reporting ประกอบด้วย
- รองรับมาตรฐาน Java 100% (อีกแล้ว)
- มีความยืดหยุ่นในการ Deployment รายงานที่ออกแบบในเครื่อง Desktop ไปเป็นรายงานที่อยู่บนเว็บซึ่งสามารถตอบโต้กับผู้ใช้งานได้
- รองรับการเชื่อมต่อกับข้อมูลได้ทั้งแบบที่เป็น Relational Database, OLAP หรือแม้แต่ XML
- กำหนดรูปแบบของรายงานได้หลายรูปแบบ เช่น PDF, Excel, RTF, Text File
- มีเครื่องมือช่วยในการสร้างรายงาน ช่วยให้สร้างรายงานได้สะดวกและรวดเร็วมากขึ้น (ใครเคยเล่น iReport หรือ Crystal Report จะเห็นภาพ)
- เชื่อมต่อกับ Data Source ได้โดยตรงหรือจะผ่าน META-DATA ก็ได้
- ตั้งเวลาในการสร้างรายงานหรือจะสร้างรายงานทันทีที่ต้องการใช้งาน
- ส่งรายงานได้หลายช่องทาง เช่น E-Mail, Printer, File Server, Web Portal, Application หรือแม้แต่ Web Service
- แสดงข้อมูลในรายงานได้หลายหลายรูปแบบ เช่น Table, Chart, Template, Sub Report, Drill Link, Header, Footer เป็นต้น
- รองรับ JDBC 2.0 เป็นต้นไป
- รองรับหลากหลายฐานข้อมูล เช่น Oracle, DB2, Microsoft SQL, MySQL, PostgreSQL และอีกมากมาย
- รองรับหลายการใช้หลาย Data Source ในหนึ่งรายงาน
- สามารถแยกรายงานหนึ่งตัวออกเป็นหลายไฟล์ตามเงื่อนไขที่ระบุ เช่นแยกตามกลุ่มผู้ใช้งาน โดยในแต่ละไฟล์ สามารถระบุได้ว่าจะจัดส่งรายงานด้วยวิธีใด เช่น ส่ง E-Mail, พิมพ์ออกเครื่องพิมพ์ ความสามารถทั้งหมดที่กล่าวมาเรียกว่า Report Bursting
- ระบุเงื่อนไขในการสร้างรายงาน ผู้ใช้งานสามารถระบุ Parameter ได้ตามต้องการ
Ad-hoc Query
Pentaho Ad-hoc Query เป็นส่วนที่ต่อขยายจาก Pentaho Reporting ซึ่งจะช่วยให้ผู้ใช้งานสามารถสร้างรายงานอย่างง่าย ได้ด้วยตัวเอง โดยมีเครื่องมือลักษณะเป็น Wizard อ่านข้อมูลจาก META-DATA ร้างไว้ก่อนหน้านี้ซึ่งจะใช้ข้อความหรือคำศัพท์ที่ผู้ใช้งานคุ้นเคย ทำให้ผู้ใช้งานเข้าใจในข้อมูลที่จะเลือกมาสร้างรายงาน
ความสามารถของ Reporting ประกอบด้วย -
- รองรับมาตรฐาน Java 100%
- สร้างรายงานอย่างง่ายได้ด้วยตัวเอง เพียงลากวาง (Drag and Drop) ข้อมูลที่ต้องการ จาก META-DATA
- จัดเรียงข้อมูล (Sorting) และกรองข้อมูล (Filter) ได้ตามต้องการ
- ระบุขนาดกระดาษ, ชื่อรายงาน, ข้อความที่จะพิมพ์บน Header และ Footer ได้ตามต้องการ
- มี Template ของรายงานให้เลือกใช้
- Ad-hoc Query ที่สร้างขึ้นสามารถปรับปรุงรูปแบบให้ดีขึ้นได้ด้วย Report Designer
Analysis
ช่วยให้ผู้ใช้งานสามารถวิเคราะห์ข้อมูลเชิงโต้ตอบ (Interactive) กับข้อมูลที่เก็บอยู่ในฐานข้อมูลโดยไม่จำเป็นต้องมีความรู้ด้าน Programming ผู้ใช้งานสามารถหาคำตอบจากคำถามทางธุรกิจที่ตนเองสงสัยได้ด้วยตนเอง
ความสามารถของ Analysis ประกอบด้วย
- รองรับมาตรฐาน Java 100%
- ผู้ใช้งานสามารถวิเคราะห์ข้อมูลได้ด้วยตนเองอย่างรวดเร็ว เพียงลากวางข้อมูลที่ต้องการ อีกทั้งยังสามารถ Drill Down ลงไปดูรายละเอียดข้อมูลที่ต้องการได้อีกด้วย
- แสดงข้อมูลในลักษณะ Cross Tab Report
- การดูข้อมูลในมุมมองต่างๆ (Dimension) ไม่ว่าจะมองมุมมองเดียว (Slice) หรือหลายมุมมอง (Dice)
- สามารถแสดงแผนภาพ (Chart) ตามข้อมูลที่เลือกได้
- คำนวณข้อมูลที่ซับซ้อนได้หลายหลายมุมมอง (Multi Dimensional)
- export ข้อมูลออกมาได้หลายรูปแบบ เช่น PDF, HTML, Excel, RTF, Text File
- รองรับ Multidimensional Expression (MDX) language เพื่อใช้ในการแสดงข้อมูลในรูปแบบที่ซับซ้อน
- ดูข้อมูลแบบลำดับชั้นได้ (Hierarchy)
- รองรับ JDBC 2.0 เป็นต้นไป
- รองรับหลากหลายฐานข้อมูล เช่น Oracle, DB2, Microsoft SQL, MySQL, PostgreSQL และอีกมากมาย
- กำหนดสิทธิ์การใช้งานได้ข้อมูล RDBMS
Dashboard
ช่วยให้ผู้ใช้งานเห็นข้อมูลประสิทธิภาพการทำงาน (Performance) และเป้าหมายการทำงานทั้งในระดับส่วนตัว, ระดับแผนก, ระดับบริษัท ในรูปแบบที่เป็นรูปภาพหรือแผนภาพ ช่วยให้ผู้ใช้งานมองเห็นข้อมูลในแต่ละระดับในภาพรวมซึ่งสามารถนำไปพัฒนาปรับปรุงประสิทธิภาพการทำงานต่อไป
ความสามารถของ Dashboard ประกอบด้วย -
- รองรับมาตรฐาน Java 100%
- ช่วยในการชี้วัดประสิทธิภาพการทำงาน
- ง่ายต่อการเข้าใจข้อมูลเนื่องจากแสดงข้อมูลในรูปแบบที่เป็นรูปภาพหรือแผนภาพ
- เชื่อมต่อกับ Pentaho Reporting และ Pentaho Analysis ซึ่งช่วยให้ผู้ใช้งานสามารถดูรายละเอียดของข้อมูลที่มีปัญหาหรือข้อสงสัยได้ (Drill Down)
- เชื่อมต่อกับ Portal ทำให้สามารถแสดงข้อมูลได้หลายหลายและเป็นอิสระต่อกัน ซึ่งทำให้รองรับกลุ่มผู้ใช้งานที่มากขึ้น
- กำหนดเงื่อนไข เพื่อให้ระบบแจ้งเตือนผู้ใช้งานให้ทราบถึงสถานการณ์ต่างๆที่กำลังจะเกิดขึ้นซึ่งจะช่วยให้ผู้ใช้งานสามารถรับมือหรือแก้ปัญหากับสิ่งที่กำลังจะเกิดขึ้นได้
Data Integration
คือเครื่องมือที่ใช้สร้างคลังข้อมูล (Data Warehouse) โดยทั่วไปเครื่องมือดังกล่าวเรียกว่า ETL (Extraction, Transformation and Loading)
- Extraction คือการดึงข้อมูลจากแหล่งต่างๆ ที่เราต้องการมาเก็บไว้ใน Data Warehouse โดยจะดึงมาเฉพาะข้อมูลใหม่ที่เพิ่มขึ้นมาหรือข้อมูลที่ถูกเปลี่ยนแปลงแก้ไข โดยข้อมูลที่ดึงมาจะมาเก็บพักไว้ก่อนซึ่งเรียกว่า Staging Area•
- Transformation คือการเปลี่ยนแปลงรูปแบบของข้อมูลที่ได้จากการ Extract ให้อยู่ในรูปแบบที่ถูกต้องตามโครงสร้างของ Data Warehouse •
- Loading คือการเก็บข้อมูลลงใน Data Warehouse หลังจากทำการแปลงข้อมูลให้อยู่ในรูปแบบที่ถูกต้อง
ความสามารถของ Pentaho Data Integration ประกอบด้วย
- รองรับมาตรฐาน Java 100%
- ง่ายต่อการใช้งาน ด้วยเครื่องมือต่างๆ ที่จัดเตรียมไว้ให้ในรูปแบบกราฟิก เพียงลากวางเครื่องมือต่างๆ ตามกระบวนการที่ต้องทำ
- รองรับ Slowly Changing Dimension และ Junk Dimension
- ออกแบบมาเน้นในเรื่องของประสิทธิภาพ (Performance) และการขยายระบบเมื่อระบบมีปริมาณการใช้งานที่มากขึ้น (Scalability)
- มีเครื่องมือในการเชื่อมต่อกับระบบ ERP (ERP Connectors)
- มีเครื่องมือที่ใช้ในการตรวจสอบความถูกต้องของข้อมูล (Data Quality)
- รองรับหลากหลายแหล่งข้อมูล (Data Source) ไม่ว่าจะเป็น Database, File Base (DBF), Text File, Excel File และอื่นๆ
- เชื่อมต่อกับ Pentaho BI Suite ทำให้สามารถใช้ความสามารถอื่นๆร่วมกันได้เช่น เรื่องของการ Scheduling, Security, Workflow เป็นต้น
- นำไปใช้งานในลักษณะต่างๆ ดังนี้ สร้างคลังข้อมูล (Populate Data Warehouse), Export ข้อมูลจากฐานข้อมูลไปเป็น Text File, Import ข้อมูลจาก Text File เข้าฐานข้อมูล, นำข้อมูลจากฐานข้อมูลหนึ่งไปเข้าอีกฐานข้อมูลหนึ่ง, ดูข้อมูลจากฐานข้อมูลที่มีอยู่
ที่มา : http://www.goingjesse.com/gj/index.php?option=com_content&view=article&id=11&Itemid=2
นี่คือความสามารถที่ Pentaho ได้จัดเตรียมไว้ให้แล้ว ดังนั้นการทำ Business Intelligent ก็ไม่ใช่เรื่องยากที่จะเรียนรู้อีกต่อไป หากใครสนใจก็สามารถไปศึกษาต่อได้ที่ http://www.pentaho.com/
Note : ข้อความในนี้ส่วนใหญ่หาข้องมูลจาก Commercial Site ของ Pentaho
Monday, April 19, 2010
มหากาพย์แห่ง Business Intelligent และ Pentaho ภาคแรก
ก่อนอื่น สำหรับผู้ที่ไม่มีพื้นฐานก็ต้องมาศึกษาก่อนว่า BI คืออะไร แล้วมันมีประโยชน์ต่อธุรกิจยังไงบ้าง
Business Intelligent คืออะไร
ปัจจุบันที่เทคโนโลยีมีการเปลี่ยนแปลงอย่างรวดเร็วเช่นเดียวกันธุรกิจก็มีการแข่งขันกันค่อนข้างสูง จึงเป็นสิ่งที่หลีกเลี่ยงไม่ได้เลยว่าการที่องค์กรจะอยู่ได้นั้นจะต้องมีการใช้ข้อมูลที่ทันสมัยและทันท่วงที เพื่อช่วยในการตัดสินใจอย่างรวดเร็วและสามารถนำไปวางแผน หรือ แก้ปัญหาเชิงธุรกิจได้ทันต่อเหตุการณ์ ซึ่งการที่จะได้มาซึ่งข้อมูลเหล่านั้น
- องค์กรจำเป็นต้องมีการแสวงหาหนทาง ในการเก็บรวบรวมข้อมูลให้ได้มากพอ เพราะว่าข้อมูลเหล่านั้นไม่ใช่ข้อมูลภายในองค์กรเท่านั้น อาจจะเป็นข้อมูลขององค์กรที่เป็นคู่แข่งหรือเป็นข้อมูลของ องค์กรอื่นๆ ที่อยู่ในธุรกิจเดียวกันก็เป็นไปได้
- การเลือกสรรข้อมูลที่มีคุณค่าจากกองข้อมูลที่มีขนาดเท่ากลุ่มเสื้อแดง (มหึมา) เพื่อให้แน่ใจว่าระบบข้อมูลที่พัฒนาขึ้นมานั้นเป็นข้อมูลที่สามารถตอบสนองต่อความต้องการของผู้บริหารระดับสูงขององค์กรได้ เพื่อเอาชนะอุปสรรคเหล่านี้จึงจำเป็นต้องมีระบบที่สามารถช่วยเตรียมข้อมูลที่ลึกซึ้ง และมีคุณค่าทางกิจกรรมทางธุรกิจให้แก่องค์กรได้
ปัจจุบันการวางแผนทางกลยุทธ์ของบริษัทนั้นจำเป็นต้องใช้ข้อมูลมากมาย ซึ่งการวิเคราะห์ข้อมูล ทางด้านการตลาด การขาย การเงิน การผลิตนั้นจะต้องต่อกับเหตุการณ์ซึ่งมีข้อมูลเกิดขึ้นเป็นประจำทุกวัน ดังนั้นการจัดทำรายงาน จะต้องมีการแก้ไขบ่อย และมีความยุ่งยากมาก
Business Intelligent ก็คือ Software ที่นำข้อมูลที่มีอยู่เพื่อจัดทำรายงานในรูปแบบต่างๆที่เหมาะสมกับมุมมองในการวิเคราะห์, ตรงตามความต้องการของผู้ใช้งาน และใช้สำหรับวิเคราะห์ข้อมูลของงานในมุมมองต่างๆ
เช่น
- วิเคราะห์การดำเนินงานของบริษัทฯ เพื่อการตัดสินใจด้านการลงทุนสำหรับผู้บริหาร
- วิเคราะห์และวางแผนการขาย / การตลาด เพื่อประเมินช่องทางการจำหน่าย ฯลฯ
- วิเคราะห์สินค้าที่ทำกำไร สูงสุด / ขาดทุนต่ำสุด เพื่อการวางแผนงานด้านการตลาด และการผลิต
- วิเคราะห์ปัจจัยที่มีผลกระทบต่อยอดขายของสินค้า ฯลฯ
- วิเคราะห์ข้อมูลเกี่ยวกับคู่แข่งขัน ฯลฯ
Business Intelligence จะประกอบไปด้วยระบบข้อมูล และ Application ด้านการวิเคราะห์ มากมายหลายอย่าง เช่น
- Data Warehouse
- Data Mart
- Data Mining
- Operations Research & Numerical Methods
- OLAP
- Search, Report
จากข้างบนเราสามารถสรุปได้ว่า Business Intelligent มีประโยชน์มากมายต่อองค์กรดังนี้
- ทำให้การบริหารงานมีประสิทธิภาพสูงขึ้น และมีข้อมูลประกอบการตัดสินใจที่ดี ทำให้เกิดการบริหารจัดการข้อมูลอย่างเป็นระบบ รวมทั้งการดูแลปรับปรุงข้อมูลให้ทันสมัยตลอดเวลาโดยเฉพาะ ซึ่งง่ายต่อการรายงาน การติดตาม และการประเมินผลต่อผู้บริหาร
- ลดความซ้ำซ้อนในการลงทุน และสามารถเชื่อมโยงและแลกเปลี่ยนข้อมูลได้อย่างมีประสิทธิภาพบนเครือข่ายความเร็วสูง การสร้างระบบจำลองข้อมูลเพื่อการบริหาร (Decision Support System) เพื่อให้ผู้บริหารสามารถใช้แบบจำลองข้อมูลเพื่อประกอบการตัดสินใจ และการคาดการสถานการณ์ล่วงหน้าได้
ร่ายซะยาวยังไม่ได้เข้าเรื่อง Pentaho ซักนิดเลย เอาล่ะ เพื่อไม่ให้เป็นการเสียเวลาเรามาทำความรู้จัก Pentaho กันเลย
Pentaho คืออะไร
Pentaho ก็คือ Opensource Software ที่ใช้มาเพื่อจัดการ Business Intelligent นี่หละครับโดยที่ Pentaho จะมีฟังก์ชั่นให้เลือกใช้อย่างมากมายและครบถ้วนกระบวนความ ไม่ว่าจะเป็น Data Integration, Reporting, Ad-hoc Query, Analysis, Dashboard หรือแม้แต่ Data Mining ดังนั้น Pentaho จึงเป็นอีกหนึ่งทางเลือกที่คุ้มค่ามากในการเลือกเพื่อมาพัฒนาระบบ DWH(Data Warehouse) และ BI
Pentaho นี้ได้รวบรวม Application ทางด้าน BI เข้าด้วยกันเพื่อทำงานร่วมกันเป็น Solution โดยสามารถแบ่งเป็นส่วนประกอบหลักได้ 6 ส่วนคือ
- Platform
- Reporting
- Ad-hoc Query
- Analysis
- Dashboard
- Data Integration
Plateform
ถ้าดูจากรูปหลายคน (รวมทั้งผมด้วย) อาจจะยังไม่เข้าใจว่านี่คืออะไร ออกแนวมึนตึ้บ เนื่องจากขาดความเชี่ยวชาญทางด้าน BI ดังนั้นให้ลงมามองที่ข้อความก่อนแล้วถึงขึ้นไปดูก็จะช่วยได้ (เล็กน้อย - -")
- Solution Engine ที่เป็นหัวใจหลักของ Pentaho Platform ทำหน้าที่อ่านและสั่ง Process (Action Sequences) ของ BI ให้ทำงาน เช่น Reporting, Analysis, Dashboard
- Solution Repository ทำหน้าที่เก็บ Template, Query, Report, Business Rule, Process, Style Sheet และ Action Sequence ซึ่งเก็บอยู่ใน Database ที่เรียกว่า Solution Database
- Runtime Engine ทำหน้าที่อ่าน Resource ไม่ว่าจะเป็น Query, Report, Business Rule, Process, Style Sheet และ Action Sequence จาก Solution Repository มาเพื่อประมวลผลแล้วทำการบันทึกข้อมูลการประมวลผลลงในส่วนของ Auditing ซึ่งตัว Runtime Engine ก็คือ BI Virtual Machine เป็น Environment สำหรับประมวลผลตัว Action Sequence
- BI Components คือ ส่วนประกอบหลักที่ถูกเรียกใช้งานและถูกควบคุมการทำงานผ่าน Action Sequence โดย BI Component พื้นฐานที่ติดมากับ Pentaho BI Platform ได้แก่ reporting, charting, OLAP, ETL, dashboard, workflow, scripting เป็นต้น นอกจากนี้เรายังสามารถนำ Component อื่นๆ ที่เขียนขึ้นเองหรือของ Third Party เข้ามาใช้ต่อพ่วงกับ Pentaho BI Platform ได้อีก อย่างเช่น E-Mail, Print
- API คือส่วนของ Application Programming Interface ที่ถูกออกแบบมาในลักษณะ SOA (Service Oriented Architecture) ทำให้ง่ายแก่การเรียกใช้ เพียง 5 บรรทัดของ Java ก็สามารถเรียกใช้ HTTP, JMS, SOAP, AJAX, POJOs, BPEL ผ่าน Action Sequence ได้
- User Interface คือส่วนที่ใช้แสดงผลให้กับผู้ใช้งานโดย โดยสร้างการแสดงผลมาจาก HTML ซึ่งสามารถแปลงมาจาก XML และยังสามารถใช้งาน AJAX, Single Sign on และ Security ร่วมกับ User Interface ได้
- Client คือส่วนที่ผู้ใช้งานสามารถเรียกประมวลผล Action Sequence, Workflow, ESB, SOA ได้เป็นต้น โดยสามารถเป็นได้ทั้งแบบ Remote หรือ Local การเรียกใช้งานก็สามารถเรียกผ่าน Web Browser หรือจะเรียกผ่าน Application ที่เขียนขึ้นมาเองก็ได้
- Configuration ใช้กำหนดชื่อ Component ที่ต้องการเรียกใช้ พร้อมทั้งกำหนดค่า Standard Parameter ในการเรียกใช้ไว้ในส่วนของ Configuration
ความสามารถของ Platform ประกอบด้วย
- รองรับมาตรฐาน Java 100%
- เชื่อมต่อกับ Data Source, Portal และ Application ผ่าน Open Standard
- เชื่อมต่อกับ Application ตั้งเวลา (Scheduling) การตรวจสอบรหัสผู้ใช้งานเพื่อเข้าระบบ (Authentication) และสิทธิ์การใช้งานของแต่ละรหัสผู้ใช้งาน (Authorization)
- รองรับการปรับแต่ง Application โดยใช้ APIs, Web Services หรือทำการแก้ไข Template, Business Rules หรือแม้แต่ Source Code
- ออกแบบโดยเน้น Workflow-Base จึงช่วยให้สามารถแก้ไขระบบตามความต้องการได้
- มีการบันทึก Log การเข้าใช้งานของผู้ใช้งานแต่ละคน ทำให้สามารถติดตามการใช้งานของผู้ใช้งานแต่ละคนได้
ที่มา : http://www.goingjesse.com/gj/index.php?option=com_content&view=article&id=11&Itemid=2
เขียนไป ก๊อปไป อ่านไป เพลินมากเหลือบขึ้นไปดู โว้ว!!~ ยาวมากจนต้องเปลี่ยนชื่อบทความ ก็เลยตัดไว้แค่นี้ก่อนละกัน เด๋วจะท้อกับการอ่านซะก่อน เด๋วเอาไว้จะอัพภาคต่อของ Pentaho รวมไปถึง Feature ที่ยังไม่ได้กล่าวถึงอีก 5 อันมาให้ได้ชมได้อ่านกันนะครับ
Note : ข้อความในนี้ส่วนใหญ่หาข้องมูลจาก Commercial Site ของ Pentaho






