ทุกวันนี้เทคโนโลยีพัฒนากันไวมาก ความต้องการของผู้บริโภคก็มีมากขึ้นตามไปด้วย มันมีหลายสิ่งที่ผู้บริโภคคาดหวังว่าธุรกิจจะสามารถตอบโจทย์สิ่งที่พวกเขาต้องการได้ อย่างเช่น ความรวดเร็วในการส่งของ, ตอบข้อความในทันที, มีฝ่ายสนับสนุนลูกค้าแบบ 24/7 ฯลฯ การจะทำให้สิ่งเหล่านี้เกิดขึ้นจริงได้ ทุกแผนกภายในองค์กรจะต้องมีการประสานงาน แลกเปลี่ยนข้อมูลกันได้
แต่ปัญหาคือ ส่วนใหญ่แล้วภายในองค์กรก็จะมีซอฟต์แวร์อยู่หลายตัว และไม่ใช่ทุกตัวที่จะสามารถเชื่อมต่อเพื่อทำงานร่วมกันได้ ซึ่งรวมไปถึงการเชื่อมต่อกับแพลตฟอร์มภายนอกด้วย เช่น การส่งข้อมูลไปยังคลาวด์ หรือฐานข้อมูลบนเว็บไซต์ที่ทางทีม การตลาดดิจิทัล (Digital Marketing) ใช้งานอยู่
คำถามคือ เราจะทำให้ระบบภายในทั้งหมดของเราสื่อสารกันได้ แล้วเชื่อมโยงกับแพลตฟอร์มภายนอกด้วยได้อย่างไร ? นั่นเป็นสาเหตุที่ทำให้ Middleware ถูกพัฒนาขึ้นมา
Middleware เป็นซอฟต์แวร์ และคลาวด์ ที่ให้บริการ และความสามารถทั่วไปกับแอปพลิเคชันต่าง ๆ ช่วยให้นักพัฒนา หรือผู้ให้บริการสามารถสร้าง หรือปรับใช้คุณสมบัติต่าง ๆ บนแอปพลิเคชันได้อย่างมีประสิทธิภาพมากขึ้น หน้าที่ของ Middleware คือช่วยเชื่อมต่อระหว่างแอปพลิเคชัน, ข้อมูล และผู้ใช้ให้สื่อสารหากันได้
คำว่า Middleware ไม่ใช่คำใหม่แต่อย่างใด มันเป็นศัพท์เฉพาะที่ใช้ในแวดวงวิศวกรรมซอฟต์แวร์ (Software engineering) มาตั้งแต่ปลายยุค ค.ศ. 1960 (พ.ศ. 2503) และยังคงเป็นองค์ประกอบของซอฟต์แวร์สมัยใหม่ในหลายภาคส่วน
โดย Middleware สามารถมีอยู่ใน Application Runtimes (ซอฟต์แวร์ที่มีหน้าที่สั่งการแอปพลิเคชัน หรือเซอร์วิส), Enterprise Application Integration (EAI) (ขั้นตอนที่ใช้เชื่อมต่อแอปพลิเคชันที่ออกแบบแยกกัน ให้สามารถทำงานร่วมกันได้), บริการคลาวด์ต่าง ๆ, ระบบบริหารข้อมูล, การส่งข้อความ, ระบบยืนยันตัวตน, ระบบจัดการ ส่วนต่อประสานโปรแกรมประยุกต์ (API) ฯลฯ ทั้งหมดที่ว่ามานี้เป็นหน้าที่พื้นฐานของ Middleware
ในปัจจุบันนี้ เทคโนโลยี Middleware ได้กลายเป็นรากฐานให้กับสถาปัตยกรรมคลาวด์สมัยใหม่ สำหรับองค์กรที่มีการใช้ระบบคลาวด์หลายตัว และ Containerized Environments (การรวมแอปพลิเคชันเข้ากับไฟล์ และไลบรารีที่จำเป็นสำหรับการทำงานบนโครงสร้างพื้นฐานไว้ในหน่วยเก็บข้อมูลที่เรียกว่า Container) เนื่องจาก Middleware ช่วยให้ต้นทุนในการพัฒนา และขยายขนาดของแอปพลิเคชันเป็นไปอย่างมีประสิทธิภาพ
คำว่า "Middle" ถ้าแปลเป็นภาษาไทยก็จะมีความหมายว่า "ตรงกลาง" ดังนั้นชื่อ "Middleware" ก็มีความหมายตรงตัวเลย โดยมาจากการที่มันเป็นซอฟต์แวร์ที่ทำงานอยู่ตรงกลางระหว่าง "ฝั่งผู้ใช้งาน (Client) ที่ใช้งาน Front-End ในการส่ง Request" กับ "ฝั่ง Back-End ที่คอยบริหารทรัพยากรที่ถูก Request มา"
โดย Client สามารถสร้าง Request ผ่านระบบเครือข่ายได้ ซึ่งตัว Client เองก็ถือว่าเป็นซอฟต์แวร์ชนิดหนึ่งที่ทำงานอยู่บน Front-End ซึ่งเป็นพื้นที่สำหรับให้บุคคลทั่วไปใช้งาน ส่วนทรัพยากรอย่างฐานข้อมูล, Message queues, ข้อมูลประเภท NoSQL, ไฟล์บนเซิร์ฟเวอร์ ฯลฯ พวกนี้จะถูกจัดการโดยระบบหลังบ้าน หรือที่เรียกว่า Back-End โดย Middleware จะอยู่ตรงกลางระหว่าง Front-End กับ Back-End
ภาพจาก : https://www.freecodecamp.org/news/what-is-middleware-with-example-use-cases/
พื้นฐานการทำงานของ Middleware มีวัตถุประสงค์เพื่อให้นักพัฒนาสามารถสร้างแอปพลิเคชัน โดยที่ไม่จำเป็นต้องเขียนระบบ Custom Integration ใหม่เองทุกครั้งที่ต้องการเชื่อมต่อการทำงานกับแอปพลิเคชันอื่น ๆ ไม่ว่าจะเป็น Services, Microservices, Data Source, Computing Resources หรืออุปกรณ์ใด ๆ ก็ตาม
สำหรับ Middleware จะมีลำดับการทำงานดังต่อไปนี้
ที่มันสามารถทำอย่างนั้นได้ก็เพราะ Middleware จะคอยรับผิดชอบในส่วนของการสื่อสารให้เลย ด้วยการให้บริการ Framework ที่สามารถเชื่อมต่อหากันได้ เช่น
นอกจากนี้ ทาง Middleware ยังมีให้บริการเตรียมส่วนประกอบที่จำเป็นต่อการทำแอปพลิเคชันเอาให้นักพัฒนานำไปใช้ได้ โดยจะทำมาให้เลือกใช้งานได้หลายภาษา เช่น Java, C++, PHP, Python เพื่อให้มีความครอบคลุมต่อการนำไปประยุกต์ใช้
ส่วนประกอบพื้นฐานของ Middleware ก็จะประกอบไปด้วย
Middleware นั้นมีอยู่หลายประเภท แต่ผู้เชี่ยวชาญด้านการวิจัยอุตสาหกรรมเทคโนโลยีอย่าง Gartner และ Forrester Research ได้แบ่ง Middleware ออกเป็น 2 หมวดหมู่ใหญ่ คือ Enterprise Middleware และ Platform Middleware
หมายถึง Middleware ที่ช่วยโปรแกรมเมอร์ให้สามารถสร้างแอปพลิเคชันธุรกิจได้โดยไม่จำเป็นต้องแก้ไขโค้ดใหม่ทุกครั้ง เมื่อต้องเชื่อมการทำงานกับแอปพลิเคชันตัวใหม่ ๆ ช่วยให้พวกมันสามารถทำงาน และแลกเปลี่ยนข้อมูลร่วมกันได้ ด้วยการเพิ่มเลเยอร์ที่ทำหน้าที่เป็นตัวกลางในการแลกเปลี่ยนข้อมูล และรองรับการทำงานร่วมกันแบบ Business to Business (B2B)
ธุรกิจที่ต้องการใช้สามารถเลือกซื้อ Middleware หลายตัวมาทำ On Premises เพื่อใช้ภายในองค์กรของตนเอง หรือจะเลือกใช้แบบที่เป็นระบบคลาวด์ก็ได้
Platform middleware มีไว้เพื่อสนับสนุนการพัฒนาซอฟต์แวร์ และให้บริการระบบ Runtime Hosting อย่างเช่น Container สำหรับจัดเก็บ Application Program Logic
นอกจากนี้ Platform Middleware ยังรวมไปถึงเครื่องมือที่สนับสนุนการพัฒนาแอปพลิเคชันอีกด้วย เช่น Web Servers, Application Servers และ Content Management Systems (CMSes).
Platform Middleware มีให้เลือกใช้งานได้ทั้งแบบ On Premises และคลาวด์ เช่นเดียวกันกับ Enterprise Middleware
Middleware มีหลายประเภทให้เลือกใช้งาน โดยต่างกันที่คุณสมบัติในการทำงาน ที่ออกแบบมาตอบโจทย์ความต้องการของแพลตฟอร์มที่มีความหลากหลาย สามารถแบ่งได้ออกเป็น 14 ชนิด ได้ดังต่อไปนี้
เป็นเครื่องมือสำหรับช่วยในการทำงานของฟังก์ชันต่าง ๆ ภายในแอปพลิเคชัน ถ้าอธิบายแบบภาษาคนทั่วไป มันก็คือ 'ตัวกลาง' ที่ให้เหล่า เว็บไซต์, ซอฟต์แวร์, แอปพลิเคชัน สามารถสื่อสาร และ ทำงานร่วมกันได้ โดยเชื่อมถึงข้อมูลกับฐานข้อมูล (Database) ของอีกฝ่าย ในรูปแบบของ "โค้ด" ที่เป็นคำสั่งเรียกใช้ API
เป็นซอฟต์แวร์ Framwork ที่ใช้ในการสร้าง และอยู่เบื้องหลังการทำงานของ Enterprise applications
Enterprise application integration เป็น Integration framework ที่ประกอบไปด้วยเทคโนโลยี และบริการต่าง ๆ ของ Middleware หรือ Middleware framework เข้าไว้ด้วยกัน เพื่อช่วยในการเชื่อมต่อระบบ และแอปพลิเคชันข้ามไปยังระบบของบริษัทอื่น ๆ ทำได้ง่าย สะดวกมากขึ้น
เป็นเหมือนกับ Publish/Subscribe middleware โดย Content-Centric Middleware จะช่วยในการเก็บข้อมูลเนื้อหาของผู้ให้บริการ และผู้บริโภค (Provider-consumer)
เครื่องมือสำหรับทำ Data integration กระบวนการรวบรวมข้อมูลจากแหล่งต่าง ๆ เพื่อให้มองเห็นภาพรวมของข้อมูลทั้งหมดได้ง่ายขึ้น
ชุดเครื่องมือสำหรับพัฒนาฮาร์ดแวร์เพื่อทำงานกับแอปพลิเคชันอย่างเฉพาะเจาะจง
เป็นสื่อกลางที่ช่วยในการสื่อสารระหว่าง Integration interface (ตัวประสานระหว่างระบบต่าง ๆ ที่มีการแลกเปลี่ยนข้อมูลหรือฟังก์ชันการทำงาน โดยใช้ API หรือ Application Programming Interface เป็นเครื่องมือในการเชื่อมต่อระบบ) กับระบบปฏิบัติการ และแอปพลิเคชันต่าง ๆ
สำหรับ เอนจิ้นเกม (Game Engine) มันเป็น Framework ที่ช่วยในการพัฒนาระบบกราฟิก, ฟิสิกส์, สคริปต์, ระบบเครือข่าย ฯลฯ
เป็นโครงสร้างพื้นฐานที่สนับสนุนการแลกเปลี่ยนข้อความระหว่างระบบ หรือองค์ประกอบต่าง ๆ
ช่วยในการส่ง Objects และ Request จากบริการ ผ่านระบบตามที่กำหนดไว้ได้
หมายถึง Enterprise portal servers เป็นซอฟต์แวร์ Front-End ที่ช่วยให้การสื่อสารระหว่างอุปกรณ์ กับระบบหลังบ้าน Back-End
ระบบสื่อสารอุปกรณ์แบบระยะไกล ใช้ทั้งในการทำงานแบบ Synchronously (ทำงานในเวลาเดียวกัน) และ Asynchronously (ทำงานไม่พร้อมกัน)
มีไว้เพื่อจัดการกับงานที่มีความซับซ้อนอย่างการพัฒนาหุ่นยนต์ เช่น การควบคุมหุ่นยนต์ หรือระบบจำลองการทำงาน
ในส่วนของ Transcation Processing Middleware ถูกนำมาใช้ในขั้นตอนการทำธุรกรรม โดยสามารถใช้ตรวจสอบ และเตรียมสภาพแวดล้อมที่เหมาะสมให้กับนักพัฒนาสามารถใช้ในการพัฒนาระบบธุรกรรม
ธุรกิจไม่สามารถที่จะหยุด หรือชะลอได้เลย ซึ่งแนวทางการทำธุรกิจในปัจจุบันนี้ หลีกเลี่ยงไม่ได้เลยที่จะมีการเชื่อมต่อกับระบบอื่น ๆ อย่างพื้นฐานที่สุดก็เช่น ระบบจ่ายเงิน ที่ระบบหลังบ้านของเราต้องมีการเชื่อมต่อกับระบบของธนาคารเป็นต้น ซึ่งหากเราทำระบบเชื่อมต่อเองทั้งหมดจะเป็นเรื่องที่ยากมาก แถมหลายแพลตฟอร์มก็บังคับให้ใช้ Middleware ในการเชื่อมต่อเท่านั้นด้วย
ดังนั้น Middleware จึงเป็นสิ่งสำคัญ ที่ออกมาตอบโจทย์ในจุดนี้ ซึ่งก็มีผู้ให้บริการอยู่มากมายให้เลือกใช้บริการ หากธุรกิจของคุณต้องการพัฒนาระบบที่เชื่อมต่อกับแพลตฟอร์มอื่น ๆ ก็ลองมองหา Middleware มาช่วยแก้ไขปัญหากันดูนะครับ
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |