ตอนนี้เทคโนโลยีที่เอื้อหนุนต่อ Software as a Service ก้าวล้ำไปมากครับ แต่ถ้าเราสังเกตุดี ๆ เราจะพบว่า ส่วนใหญ่แล้วมันเอื้อหนุนต่อการแสดงผลลัพท์ที่จอภาพ และการตอบโต้กับผู้ใช้ผ่านจอภาพซะมากกว่า
ส่วนการแสดงผลออกมาผ่านเครื่องพิมพ์ ให้ผลลัพท์อยู่ในรูปของกระดาษนั้น ไม่ยักกะมีใครสนใจซักเท่าไหร่
ผมว่านะ SaaS มันจะครบวงจรไม่ได้หรอก หากเราไม่สามารถส่งผลลัพท์ออกเป็นกระดาษให้ผู้บริโภคได้ด้วย
เดี๋ยวนี้การควบคุมเครื่องพิมพ์มันไม่ยากเหมือนเมื่อก่อน เพราะระบบปฏิบัติการก็มีไดรเวอร์สำหรับควบคุมเครื่องพิมพ์อยู่แล้ว ไม่ว่าจะควบคุมตรง ๆ ผ่านพอร์ต LPT1 หรือควบคุมผ่านเครือข่ายก็สามารถทำได้
แต่เราก็จะพบว่า Web Browser กลับไม่ค่อยมีกลไกอะไรเกี่ยวกับเครื่องพิมพ์มากนัก นอกจาก … สั่งพิมพ์
ด้วยเหตุผลนี้กระมัง ก็เลยทำให้มีคนหลายกลุ่มพัฒนาซอฟต์แวร์สำหรับพิมพ์รายงานขึ้นมา เพื่อเอามาไว้แก้ปัญหาพวกนี้ ซึ่งก็มีทั้งแบบต้องจ่ายตังค์ (Crystal Report) และก็แบบให้ฟรี (Agata, Pentaho)
ซอฟต์แวร์พิมพ์รายงานเหล่านี้ ก็มักจะมีคุณสมบัติที่บรรยายคล้ายคลึงกัน นั่นก็คือ มันจะมีตัวกลางเป็นตัวจัดการรายงาน, มีหน้าจอสวย ๆ ให้เราออกแบบรายงาน, อนุญาติให้เราต่อเชื่อมรายงานกับฐานข้อมูลได้ และสนับสนุนทั้งแบบ client-server และแบบ web-based
แต่เท่าที่ผมดูก็พบว่า ซอฟต์แวร์พิมพ์รายงานเหล่านี้จะใช้ไม่ค่อยสะดวกนัก หากเราเอามาใช้เป็นแบบ web-based ในเชิง SaaS ด้วยเหตุผลเพราะว่า มันเป็นซอฟต์แวร์ระดับเดียวกับ Apache, PHP, phpMyAdmin และ MySQL ซึ่งก็หมายความว่า ถ้าผู้ให้บริการโฮสติ้งไม่ติดตั้งซอฟต์แวร์พิมพ์รายงานพวกนี้ให้กับเรา โอกาสที่เราจะได้ใช้มันเพื่อสร้าง SaaS สำหรับให้บริการพิมพ์รายงานแก่ผู้บริโภคนี่แทบไม่มีเลย
ยกเว้นว่าตัวเราเองนั่นแหล่ะ เป็นผู้ให้บริการโฮสติ้งซะเอง ปัญหานี้ก็จะหมดไป (ไปเจอปัญหาเรื่องกระเป๋าฉีกแทน)
ผมเคยเห็นบางเว๊ปนะ เขาแก้ปัญหาที่ตัวเองไม่มีซอฟต์แวร์พิมพ์รายงาน ด้วยการเขียนเว๊ปให้มันเปิดเป็นหน้าต่างใหม่ขึ้นมา แล้วก็พยายามค้นข้อมูล, หมุนลูป อีกทั้งยังใช้ CSS เพื่อกำหนดอะไรหลาย ๆ อย่าง สำหรับระบายรูปภาพ, ตาราง และตัวอักษร ให้อยู่ในโครงหน้าที่เหมาะเจาะสำหรับพิมพ์ออกกระดาษ A4 ได้ในหน้าต่างนั้น ๆ พร้อมทั้งฝัง javascript เอาไว้ ให้กระตุ้นหน้าจอเครื่องพิมพ์ขึ้นมา เพื่อให้ผู้บริโภคกดสั่งพิมพ์ผลลัพท์จากหน้าต่างดังกล่าว ออกทางเครื่องพิมพ์เองอีกทอดนึง
แบบนี้มันจะดีและง่ายครับ หากสิ่งที่เราต้องการจะพิมพ์นั้น มันอยู่ในขอบเขตของกระดาษ A4 แผ่นเดียว แต่มันคงไม่เหมาะแน่ ๆ หากรายงานที่เราต้องการพิมพ์ มันต้องพิมพ์ออกมาหลาย ๆ ใบ
ซอฟต์แวร์พิมพ์รายงาน ควรจะถูกสร้างออกมาให้อยู่ในระดับชั้นเดียวกับ Joomla, WordPress, CakePHP หรือ XAJAX คือให้เราติดตั้งได้เอง ไม่ต้องรบกวนผู้ให้บริการโฮสติ้งติดตั้งให้ครับ
ป.ล. ถ้าไม่มีใครสร้าง สงสัยคงต้องสร้างเอง แต่ถ้าสร้างเอง คงต้องละเว้นไม่สร้างหน้าจอสวย ๆ ไว้ออกแบบรายงานอ่ะ เพราะไอ้ตัวนี้แหล่ะ ยากที่สุด
[tags]Software as a Service, SaaS, รายงาน, พิมพ์รายงาน, คอมพิวเตอร์, ซอฟต์แวร์[/tags]
จุดอ่อนของโปรแกรมเมอร์คือการดีไซน์หน้าจอนี่แหละ ทางใครทางมัน
เขาตั้งใจครับว่า ไม่ให้เว็บยุ่งกับ hardware ได้มากมันเป็น security flaw อ่ะครับ ดู ActiveX(มากกว่านั้นไม่ cross platform อีก) เป็นต้น
จริงๆ ทางออกมีคนคิดไว้นานแล้ว (แต่ไม่ค่อยมีใครทำ) นั่นคือทำเนื้อหาเป็น docbook แล้วเจ็นเป็น html หรือ pdf (หรือแม้กระทั่ง postscript) ซึ่งขึ้นกับว่าจะเอาไปทำอะไร