การออกแบบท่าเต้นที่สามารถนำไปปฏิบัติได้
การจัดลำดับการทำงานที่สามารถดำเนินการได้แสดงถึงรูปแบบการจัดองค์ประกอบบริการ แบบกระจายศูนย์ ซึ่งเกี่ยวข้องกับความร่วมมือของหน่วยงานแต่ละแห่งหลายแห่ง ถือเป็นรูปแบบ การจัด ลำดับการทำงานบริการ ที่ได้รับการปรับปรุง การจัดลำดับการทำงานที่สามารถดำเนินการได้สามารถมองเห็นได้โดยสัญชาตญาณว่าเป็นเวิร์กโฟลว์ที่ซับซ้อนตามอำเภอใจซึ่งจะถูกดำเนินการในระบบที่เป็นขององค์กรหรือหน่วยงานหลายแห่ง[ 1 ]
โปรแกรมกำหนดรูปแบบการทำงาน (Choreographies) คือโค้ดที่สร้างขึ้นเพื่อเข้ารหัสพฤติกรรมของระบบจากมุมมองโดยรวม พฤติกรรมของส่วนประกอบหลักในระบบจะถูกกำหนดไว้ในโปรแกรมเดียว โปรแกรมกำหนดรูปแบบการทำงานช่วยเพิ่มคุณภาพของซอฟต์แวร์ เนื่องจากมันทำหน้าที่เหมือนพิมพ์เขียวที่สามารถนำไปปฏิบัติได้จริง ซึ่งแสดงให้เห็นว่าระบบที่สื่อสารกันควรทำงานอย่างไร และให้มุมมองที่กระชับเกี่ยวกับกระแสข้อความที่ระบบดำเนินการ
การออกแบบท่าเต้นที่สามารถดำเนินการได้เทียบกับการออกแบบท่าเต้นที่ไม่สามารถดำเนินการได้
ในแอปพลิเคชันเกือบทั้งหมดตรรกะทางธุรกิจจะต้องถูกแยกออกเป็นบริการต่างๆการประสานงานแสดงถึงวิธีการจัดระเบียบและประกอบบริการเหล่านี้ บริการที่ได้สามารถบูรณาการตามลำดับชั้นเข้ากับองค์ประกอบอื่นได้[ 2 ]
การประสานการให้บริการเป็นการอธิบายโดยรวมของบริการที่เข้าร่วม ซึ่งกำหนดโดยการแลกเปลี่ยนข้อความ กฎการโต้ตอบ และข้อตกลงระหว่างปลายทางสองจุดขึ้นไป การประสานการให้บริการใช้แนวทางแบบกระจายอำนาจสำหรับการประกอบบริการ[ 3 ]
ในอุตสาหกรรม แนวคิดของการจัดลำดับขั้นตอนโดยทั่วไปถือว่าไม่สามารถนำไปปฏิบัติได้มาตรฐาน เช่น มาตรฐานที่เสนอโดย Web Services Choreography Description Language [ 4 ]นำเสนอการจัดลำดับขั้นตอนในรูปแบบที่เป็นทางการมากขึ้นเพื่ออธิบายสัญญาระหว่างหน่วยงานอิสระ (โดยทั่วไปคือองค์กรที่แตกต่างกัน) ที่เข้าร่วมในองค์ประกอบของบริการที่วิเคราะห์ทั่วโลก จากมุมมองนี้ องค์ประกอบนั้นเองจะต้องถูกนำไปใช้จากส่วนกลางผ่านกลไกการจัดการที่แตกต่างกันซึ่งบริษัทต่างๆ จัดหาให้: การเขียนโค้ดแบบง่ายๆ หรือการใช้ภาษาและเครื่องมือจัดการเฉพาะ เช่น BPEL ( Business Process Execution Language ) [ 5 ]เครื่องมือกฎ ฯลฯ
ในด้านการวิจัยเชิงวิชาการ แนวคิดของ การจัดลำดับการ ทำงานที่สามารถดำเนินการได้ถูกเสนอเป็นวิธีการที่จะไม่ต้องมีส่วนที่เป็นไปตามสัญญาและส่วนที่เป็นโค้ดจริงเป็นสองสิ่งที่ไม่เหมือนกัน ซึ่งอาจไม่ตรงกันหรือต้องอาศัยการตีความตามความรู้สึกส่วนตัว ตัวอย่างเช่น "แคลคูลัสที่สามารถดำเนินการได้สำหรับการจัดลำดับบริการ" [ 6 ] หรือ "กรอบงานการจัดลำดับการทำงานที่สามารถดำเนินการได้สำหรับสถาปัตยกรรมที่มุ่งเน้นบริการแบบไดนามิก" [ 7 ]แนวทางเหล่านี้มีผลกระทบในทางปฏิบัติน้อยมาก มักอยู่ในระดับบทความหรืออย่างน้อยที่สุดก็เป็นโครงการวิจัยความก้าวหน้าครั้งสำคัญของบล็อกเชนในช่วงไม่กี่ปีที่ผ่านมาได้ดึงดูดความสนใจของชุมชนวิชาการและอุตสาหกรรมมากขึ้นไปอีก นั่นคือแนวคิดของ " สัญญาอัจฉริยะ " ซึ่งสามารถมองได้ว่าเป็นรูปแบบเฉพาะของการจัดลำดับการทำงานที่สามารถดำเนินการได้
ประเภทของท่าเต้นที่สามารถดำเนินการได้
ท่าเต้นที่ตรวจสอบได้
การจัดลำดับการทำงานที่สามารถดำเนินการได้เป็นแนวคิดทั่วไปมากกว่า และไม่จำเป็นต้องเป็นการจัดลำดับการทำงานที่ตรวจสอบได้ หากไม่ได้ใช้แนวคิดของไซต์ที่ถือว่าเป็นบริบทด้านความปลอดภัยสำหรับการดำเนินการโค้ด ตัวอย่างของแนวทางการเขียนโปรแกรมโดยใช้การจัดลำดับการทำงานที่สามารถดำเนินการได้ ได้แก่ โครงการ CHOReOS ของยุโรป[ 8 ]ภาษาโปรแกรม Chor [ 9 ]การสร้างแบบจำลองบริการเว็บใน "การจัดลำดับบริการเว็บ" [ 10 ]และบางแง่มุมที่เกี่ยวข้องกับการประกอบบริการเว็บโดยใช้แคลคูลัส pi [ 11 ]คำว่า "ตรวจสอบได้" ถูกนำมาใช้เพื่อเน้นความเป็นไปได้ในการตรวจสอบการสื่อสารแบบกลุ่ม การมีอยู่ของแนวคิดตำแหน่งการดำเนินการอย่างชัดเจนนำไปสู่ความเป็นไปได้ในการพัฒนาอัลกอริทึมการตรวจสอบ ดังที่เห็นได้ในบทความ "ระดับความเป็นส่วนตัวสำหรับระบบ e-Health ในยุคคลาวด์" [ 12 ]
ท่าเต้นที่เข้ารหัส
การเข้ารหัสลับนั้นหมายความว่า นอกเหนือจากการตรวจสอบแล้ว ยังนำเสนอโซลูชันระดับสูงกว่าสำหรับวิธีการเข้ารหัสขั้นสูงโดยไม่จำเป็นต้องให้โปรแกรมเมอร์กลายเป็นผู้เชี่ยวชาญด้านการเข้ารหัส แอปพลิเคชันแบบกระจายสามารถสร้างขึ้นจากระบบย่อยที่อนุญาตให้ระบุหรือตรวจสอบจุดทางสถาปัตยกรรมที่เปิดเผยข้อมูลลับได้ ตัวอย่างเช่น ในอุดมคติแล้ว ระบบการเขียนโปรแกรมที่ใช้การเข้ารหัสลับจะรับประกัน หรืออย่างน้อยก็ช่วยลดสถานการณ์ที่บุคคลใดบุคคลหนึ่ง (ไม่ว่าจะเป็นผู้ได้รับอนุญาตตามกฎหมายหรือแฮกเกอร์) ถือครองทั้งข้อมูลส่วนตัวที่เข้ารหัสและกุญแจเข้ารหัสที่เกี่ยวข้องกับทรัพยากรเดียวกัน ด้วยวิธีนี้ ผู้ดูแลระบบหรือโปรแกรมเมอร์ของระบบย่อยเหล่านี้จะมีโอกาสน้อยลงในการโจมตีความเป็นส่วนตัวจากภายใน (ระดับที่มีการโจมตีบ่อยครั้ง) แม้ว่าบางแอปพลิเคชันจะไม่สามารถใช้วิธีนี้ได้ การเข้ารหัสลับก็สามารถลดความเสี่ยงด้านความปลอดภัยที่เกิดจากบุคคลภายในที่ดูแลหรือเขียนโปรแกรมระบบเหล่านี้ได้ ดังนั้น จำนวนจุดที่มีสิทธิ์เข้าถึงข้อมูลอย่างรอบคอบ (ในอุดมคติคือไม่มีเลย) จึงได้รับการรับรองอย่างเป็นทางการ รูปแบบการเข้ารหัสลับนี้มีประโยชน์ในการช่วยให้บริษัทต่างๆ สามารถรักษาความปลอดภัยด้วยรหัสในการบังคับใช้กฎหมายหรือกฎความปลอดภัยที่กำหนดไว้
การนำการออกแบบเชิงโต้ตอบที่เข้ารหัสมาใช้ หมายถึง การมีอยู่ของระบบจัดเก็บข้อมูลที่ใช้เทคนิคการเข้ารหัสลับร่วมกับการใช้งานการเข้ารหัสแบบโฮโมมอร์ฟิก ในทางปฏิบัติ เช่น การใช้งาน CryptDB [ 13 ] [ 14 ]จาก MIT วิธีการที่เรียกว่า "วิธีการจัดเก็บ การแบ่ง และการทำให้เป็นนิรนาม" โดยใช้การออกแบบเชิงโต้ตอบที่เข้ารหัส สามารถนำไปสู่แนวคิดของการมี "อำนาจอธิปไตย" อย่างสมบูรณ์ (ภายในขอบเขตของกฎหมาย) ในข้อมูลส่วนตัว ได้รับการตีพิมพ์ในบทความ "ระบบข้อมูลส่วนตัวที่ช่วยให้การจัดเก็บข้อมูลแบบมีอำนาจอธิปไตยด้วยตนเองได้รับการจัดการโดยการออกแบบเชิงโต้ตอบที่สามารถดำเนินการได้" [ 15 ]บทความนี้นำเสนอวิธีการที่การออกแบบเชิงโต้ตอบทำให้ข้อมูลเป็นนิรนามและแบ่งข้อมูลในลักษณะที่ทำให้มั่นใจได้ว่าข้อมูลจะไม่สามารถคัดลอกได้โดยผู้ดูแลระบบหรือแฮกเกอร์เพียงคนเดียวที่ควบคุมเพียงโหนดเดียวที่เข้าร่วม กลไกที่นำมาใช้ยังสามารถรวมถึงอินเทอร์เฟซที่โปรแกรมเมอร์สามารถใช้วิธีการเข้ารหัสลับขั้นสูงได้อย่างง่ายดาย
การออกแบบท่าเต้นแบบไร้เซิร์ฟเวอร์
การประมวลผลแบบไร้เซิร์ฟเวอร์ (Serverless computing)เป็น รูปแบบ การประมวลผลบนคลาวด์ที่ผู้ให้บริการคลาวด์จัดการการจัดสรรทรัพยากรการประมวลผลแบบไดนามิก กระบวนการทำงานแบบไร้เซิร์ฟเวอร์เกี่ยวข้องกับการทำให้วิธีการเริ่มต้นใช้งานเป็นไปโดยอัตโนมัติโดยใช้เทคนิคการจำลองเสมือนและการทำงานอัตโนมัติ
การนำรูปแบบการทำงานขั้นสูงนี้ไปใช้ จำเป็นต้องมีการพัฒนารูปแบบธุรกิจใหม่เพื่ออำนวยความสะดวกในการโฮสต์แอปพลิเคชันบนคลาวด์โดยปราศจากอุปสรรคใดๆ ที่เกี่ยวข้องกับการชำระเงิน การติดตั้ง ฯลฯ ตัวอย่างเช่น แนวคิดของ Torเป็นตัวอย่างของระบบไร้เซิร์ฟเวอร์ ตัวอย่างที่รู้จักกันดีที่สุดคือAmazon Lambdaซึ่งประสบความสำเร็จอย่างมากในเชิงพาณิชย์ ทำให้นักโปรแกรมสามารถละเลยรายละเอียดการติดตั้งและอำนวยความสะดวกในการปรับขนาดระบบแบบไดนามิก บล็อกเชนก็สามารถถือเป็นตัวอย่างของฐานข้อมูลไร้เซิร์ฟเวอร์ได้เช่นกัน
การจัดการระบบแบบไร้เซิร์ฟเวอร์ (Serverless choreographies) ตั้งอยู่บนสมมติฐานว่าการประมวลผลและการจัดเก็บข้อมูลบนคลาวด์นั้นดำเนินการโดยใช้การเข้ารหัส ด้วยรูปแบบการจัดการระบบนี้ บริษัทผู้ให้บริการโฮสติ้งหรือบุคคลที่จัดการโครงสร้างพื้นฐานทางกายภาพและตรรกะของโฮสติ้งจะไม่สามารถแทรกแซงการติดตั้งหรือแอปพลิเคชันที่โฮสต์อยู่ได้ การจัดการระบบแบบไร้เซิร์ฟเวอร์เปิดโอกาสให้พัฒนาระบบแบบกระจายศูนย์และไม่รวมศูนย์ และมีศักยภาพในการรักษาความปลอดภัยคุณสมบัติความเป็นส่วนตัวขั้นสูงอย่างเป็นทางการ