MetaDapper: การทำแผนที่และการแปลงข้อมูลทำได้ง่ายด้วยเครื่องมือที่เหมาะสม
เผยแพร่แล้ว: 2022-03-11การแปลงข้อมูล การแปล และการทำแผนที่ไม่ได้หมายถึงวิทยาศาสตร์จรวด แต่เป็นเรื่องที่น่าเบื่อหน่าย แม้แต่งานการแปลงข้อมูลอย่างง่าย (เช่น การอ่านไฟล์ CSV ลงในรายการอินสแตนซ์ของคลาส) ก็อาจต้องใช้โค้ดจำนวนเล็กน้อย แม้ว่างานเหล่านี้จะมีส่วนเหมือนกันมาก แต่ก็ "แตกต่างกันมากพอ" ที่จะต้องใช้วิธีการแปลงข้อมูลของตนเอง
ในแทบทุกระบบที่เราสร้างขึ้น ในบางครั้งเราอาจพบว่าจำเป็นต้องแปลงข้อมูลจากรูปแบบหนึ่งไปยังอีกรูปแบบหนึ่ง ไม่ว่าจะเป็นการนำเข้าข้อมูลจากที่เก็บข้อมูลที่มีอยู่ การประมวลผลข้อมูลจากสตรีมขาเข้า การแปลจากรูปแบบหนึ่งไปยังอีกรูปแบบหนึ่งสำหรับภายใน ประมวลผลหรือแปลงข้อมูลเป็นรูปแบบเอาต์พุตที่ต้องการ
และทุกครั้งที่เราทำเช่นนั้น งานดูเหมือนจะน่าผิดหวังมากเหมือนกับที่เราเคยทำมาหลายครั้งแล้ว แต่มีความแตกต่างเพียงพอที่จะทำให้เราต้องทำกระบวนการแมปข้อมูลใหม่ทั้งหมดอีกครั้ง ซึ่งส่วนใหญ่มาจากศูนย์
นอกจากนี้ เนื่องจากรูปแบบและเทคโนโลยีที่ได้รับความนิยมสูงสุดสำหรับการเข้าถึงรูปแบบเหล่านี้ยังคงมีวิวัฒนาการอย่างต่อเนื่อง และมีการแนะนำรูปแบบใหม่และได้รับความนิยม โปรแกรมเมอร์จำเป็นต้องเรียนรู้การแปลงข้อมูลและเทคนิคการทำแผนที่ ไลบรารี API และเฟรมเวิร์กใหม่ ๆ อย่างต่อเนื่อง เนื่องจากบริการด้านวิทยาศาสตร์ข้อมูลยังคงพัฒนาและพัฒนาอย่างต่อเนื่อง ความต้องการเครื่องมือเฉพาะทางก็เพิ่มขึ้นเช่นกัน
แม้ว่าคุณจะสามารถใช้เครื่องมืออย่างเช่น AutoMapper (เพื่อจับคู่ข้อมูลจากวัตถุหนึ่งไปยังอีกวัตถุหนึ่ง) หรือ Resharper (เพื่อปรับโครงสร้างโค้ดที่มีอยู่ใหม่) ได้ ไม่ว่าคุณจะทำอะไรก็ตาม โค้ดจะเขียนได้ยากและจำเป็นต้องได้รับการบำรุงรักษาอยู่เสมอ จากนั้นคุณต้องคิดหาวิธีแก้ปัญหาสำหรับการจัดการการแปลข้ามโดเมน เช่น การแปลงรหัสภายในและค่าคีย์เป็นค่าสำหรับเลเยอร์หรือระบบอื่น ค่าว่างเป็นค่าเริ่มต้น การแปลงประเภท ฯลฯ
การตรวจสอบความถูกต้องมีปัญหาที่คล้ายกันซึ่งแก้ไขได้โดยเทคโนโลยีเช่น DataAnnotations และปลั๊กอินการตรวจสอบ jQuery และโดยรีมของรหัสตรวจสอบความถูกต้องที่กำหนดเอง และความแตกต่างของเทคโนโลยีแต่ละอย่างเหล่านี้ก็ค่อนข้างละเอียดอ่อน
ในฐานะนักวิทยาศาสตร์ข้อมูลขั้นสูง คุณบอกตัวเองว่า "ต้องมีวิธีที่ดีกว่านี้" อันที่จริงก็มี และนั่นคือสิ่งที่สอนเกี่ยวกับการทำแผนที่ข้อมูล
ขอแนะนำ MetaDapper Data Mapping Tool
MetaDapper เป็นไลบรารี .NET ที่พยายามลดความซับซ้อนและปรับปรุงกระบวนการแปลงข้อมูลให้มากที่สุดเท่าที่จะเป็นไปได้
MetaDapper อำนวยความสะดวกในการแปลงข้อมูลโดย:
- การแยกส่วนส่วนสำเร็จรูปที่ทำซ้ำได้ของกระบวนการแปลงข้อมูลออกจากลักษณะเฉพาะสำหรับงานการแปลงข้อมูลแต่ละงาน
- ให้อินเทอร์เฟซผู้ใช้ที่ใช้งานง่ายและใช้งานง่ายสำหรับการระบุกฎการแมปและการแปลของความซับซ้อนตามอำเภอใจ
MetaDapper แยกการแมปเชิงตรรกะ (สคีมา การแปลข้อมูล และการตรวจสอบความถูกต้อง) ออกจากการแมปข้อมูลทางกายภาพ (การแปลงเป็นและจากรูปแบบไฟล์ต่างๆ และ API) การทำแผนที่แบบลอจิคัลมีชุดฟังก์ชันที่มีประสิทธิภาพ และช่วยให้คุณสามารถเชื่อมโยงวิธีการของคุณเองเพื่อจัดการกับความต้องการที่เฉพาะเจาะจงได้ การทำแผนที่ทางกายภาพประกอบด้วยชุดรูปแบบที่สนับสนุนมากมายซึ่งมีการขยายอย่างต่อเนื่อง ในการกำหนดค่าการแมป ตัวกำหนดค่า MetaDapper จะถูกจัดเตรียมไว้ ไฟล์เรียกทำงานของ Windows ที่ใช้งานง่ายสำหรับการสร้างและแก้ไขการแมป และสำหรับการดำเนินการสำหรับการทดสอบหรือการแปลงครั้งเดียว
การแปลงรายการอินสแตนซ์ของคลาสเป็นไฟล์ XML หรือ CSV การเติมบันทึกฐานข้อมูล SQL การสร้างสคริปต์ SQL สำหรับการเติมตาราง การสร้างสเปรดชีต และอื่นๆ ทำได้โดยใช้ไฟล์การกำหนดค่าเดียวกันซึ่งมักจะสร้างได้ภายในไม่กี่วินาที
ในการรวม MetaDapper ไว้ในโปรแกรม .NET คุณเพียงแค่ต้อง:
- เพิ่มการอ้างอิงไปยังห้องสมุด
- สร้างอินสแตนซ์ของเอ็นจิ้น MetaDapper
- ดำเนินการแมป โดยระบุตัวอ่านต้นทาง (และพารามิเตอร์ใดๆ) ตัวเขียนปลายทาง (และพารามิเตอร์ใดๆ) และไฟล์การกำหนดค่าของคุณ
เมื่อประสบความสำเร็จ ผู้เขียนจะส่งออกข้อมูลที่แปลงแล้ว เมื่อเกิดข้อผิดพลาด ข้อยกเว้นจะให้ข้อมูลข้อผิดพลาดโดยละเอียดกลับ เพื่อให้คุณสามารถปฏิเสธข้อมูลหรือปรับแต่งการกำหนดค่าได้
ต่อไปนี้คือตัวอย่างการแมปข้อมูลโดยย่อ:
List<MyClass> result; try { // Instantiate the MetaDapper library. var log = new Log(); var cultureInfo = new CultureInfo("en-US"); var md = new MetaDapper.Engine.MetaDapper(log, cultureInfo); using (var inputStream = new StreamReader(@"C:\myfile.csv")) { md.MapData( new CsvReaderParameters { Log = log, CultureInfo = cultureInfo, InputStream = inputStream.BaseStream, InputEncoding = Encoding.ASCII, FirstRecordIsHeader = false }, new PublicPropertiesWriterParameters { Log = log, CultureInfo = cultureInfo }, @"C:\MyMetaDapperConfiguration.xml", false, out result); } } catch (Exception) { throw; }
MetaDapper “ตัวกำหนดค่า”
MetaDapper Configurator ให้วิธีการแสดงขั้นตอนต่างๆ ในการกำหนดโครงสร้างข้อมูลและกฎการแปลง/การแมปแบบเห็นภาพ Configurator ช่วยให้คุณสร้าง แก้ไข และดำเนินการกำหนดค่าต่างๆ (เช่น สำหรับการทดสอบหรือการแปลงครั้งเดียว)
Configurator ของ MetaDapper มุ่งมั่นที่จะทำให้กระบวนการเป็นอัตโนมัติมากที่สุด ตัวอย่างเช่น เมื่อระบุการแมปฟิลด์ ฟิลด์ต้นทางและปลายทางจะถูกจับคู่โดยอัตโนมัติเมื่อเป็นไปได้โดยใช้การจับคู่ชื่อ นอกจากนี้ เมื่อสร้างข้อกำหนดของระเบียนสำหรับแหล่งข้อมูลที่มีข้อมูลเมตา สามารถเติมข้อกำหนดของฟิลด์ได้โดยอัตโนมัติโดยชี้ไปที่แหล่งข้อมูล
เมื่อสร้างแล้ว ข้อกำหนดของเร็กคอร์ดจะรักษาลิงก์ไปยังแหล่งข้อมูลที่สร้างขึ้น (ถ้ามี) เพื่อให้สามารถอัปเดตได้โดยอัตโนมัติหากสคีมาแหล่งข้อมูลเปลี่ยนแปลงในภายหลัง เมื่อกำหนดค่าข้อกำหนดของระเบียนสำหรับแหล่งข้อมูลที่มีข้อมูลเมตาเพียงเล็กน้อยหรือไม่มีเลย หากมีแหล่งข้อมูลอื่นที่คล้ายคลึงกันซึ่งมีข้อมูลเมตา ก็สามารถคัดลอกข้อกำหนดของระเบียนนั้น (พร้อมข้อมูลเมตา) เพื่อใช้เป็นพื้นฐานสำหรับข้อกำหนดระเบียนใหม่และ จากนั้นจะสามารถแก้ไขได้เพื่อแสดงความแตกต่างที่อาจมีอยู่ระหว่างแหล่งข้อมูลทั้งสอง และในกรณีที่สคีมาและข้อมูลเมตาเหมือนกันสำหรับแหล่งข้อมูลหลายแหล่ง คุณสามารถใช้ข้อกำหนดระเบียนเดียวสำหรับแหล่งข้อมูลทั้งหมดได้
ลดความซับซ้อนของกระบวนการแปลงข้อมูล
มาดูรายละเอียดเพิ่มเติมเกี่ยวกับความท้าทายบางอย่างที่เกิดขึ้นในกระบวนการแปลงข้อมูลและวิธีที่ MetaDapper ช่วยอำนวยความสะดวกและลดความยุ่งยากสำหรับนักพัฒนา
การทำแผนที่ต้นทางไปยังข้อมูลปลายทาง
เมื่อโครงสร้างภายในหรือภายนอกมีการเปลี่ยนแปลงในระหว่างการบำรุงรักษา โค้ดการแมปที่อาศัยโครงสร้างเหล่านี้อาจจำเป็นต้องปรับปรุงเช่นกัน นี่เป็นพื้นที่ที่จำเป็นต้องมีงานบำรุงรักษา ดังนั้นไม่ว่าคุณจะใช้โซลูชันใด ค่าใช้จ่ายในการบำรุงรักษาก็ต้องได้รับการประเมิน ตัวอย่างเช่น ถ้าคุณสมบัติ TotalSale ถูกลบออกจากคลาส Sale การกำหนดการแมปที่เกี่ยวข้องจะต้องได้รับการปรับปรุงตามนั้น
ด้วย MetaDapper การอัปเดตการทำแผนที่อาจใช้เวลาเพียงไม่กี่วินาที ตัวอย่างเช่น สำหรับประเภทคลาส เพียงคลิกปุ่ม "นำเข้าข้อกำหนดฟิลด์จากคลาส" เพื่อรีเฟรชฟิลด์เป็นคำจำกัดความที่คอมไพล์ใหม่:
การแปลงประเภท
การแปลงบางประเภท เช่น การแปลงประเภทวันที่/เวลาและตัวเลข มีความละเอียดอ่อนต่อการตั้งค่าสากลของสภาพแวดล้อมโฮสต์ (เว้นแต่จะระบุไว้อย่างชัดเจนในโค้ด) การปรับใช้แอปพลิเคชันบนเซิร์ฟเวอร์ใหม่ด้วยการตั้งค่าระหว่างประเทศที่แตกต่างกันจึงสามารถทำลายรหัสที่ไม่ได้คำนึงถึงสิ่งนี้ได้ ตัวอย่างเช่น ค่าวันที่เป็น “1-2-2014” จะถูกตีความว่าเป็น 2 มกราคม 2014 ในเครื่องที่มีการตั้งค่าของสหรัฐอเมริกา แต่เป็นวันที่ 1 กุมภาพันธ์ 2014 สำหรับเครื่องที่มีการตั้งค่า UK MetaDapper รองรับการแปลง .NET โดยนัยทั้งหมด และอนุญาตให้จัดรูปแบบค่าใหม่ที่ซับซ้อนโดยเป็นส่วนหนึ่งของการแปลเช่นกัน ยิ่งไปกว่านั้น คุณสามารถระบุการตั้งค่าระหว่างประเทศที่แยกจากกัน (เช่น อิสระ) ในโปรแกรมอ่าน MetaDapper ผู้เขียน และเอ็นจิ้นการทำแผนที่
ค่าเริ่มต้นที่ซับซ้อน
บางครั้ง กฎเกณฑ์ทางธุรกิจเฉพาะที่จำเป็นต้องเข้าถึงระบบอื่น หรือต้องมีการเข้ารหัสที่ซับซ้อน เพื่อกำหนดค่าเริ่มต้นก็จำเป็น MetaDapper อนุญาตให้ลงทะเบียนวิธีการมอบหมายแบบกำหนดเองจำนวนเท่าใดก็ได้กับเอ็นจิ้น และใช้เพื่อให้เป็นค่าเริ่มต้น ทำการแปลงข้อมูลแบบกำหนดเอง และเพื่อให้การตรวจสอบฟิลด์แบบกำหนดเอง
กฎการตรวจสอบตามเงื่อนไข
ไม่ใช่เรื่องแปลกที่ค่าฟิลด์จะต้องมีเงื่อนไข (หรือแม้แต่ค่าที่ถูกต้องจะขึ้นอยู่กับค่าของฟิลด์อื่น) ตัวอย่างเช่น อาจเป็นกรณีที่ช่องชื่อพาร์ทเนอร์และรหัสประกันสังคมของพาร์ทเนอร์สามารถเว้นว่างไว้ได้ แต่ถ้าระบุชื่อพาร์ทเนอร์ไว้ จะต้องระบุรหัสประกันสังคมของพาร์ทเนอร์ (และอาจเป็นช่องอื่นๆ) การตรวจสอบตามเงื่อนไขประเภทนี้ซับซ้อนและเกิดข้อผิดพลาดได้ง่ายในโค้ดที่กำหนดเอง ในทางตรงกันข้าม MetaDapper อนุญาตให้กำหนดค่าความสัมพันธ์การแมปข้อมูลประเภทนี้ได้อย่างง่ายดาย โดยเฉพาะ รายการของฟิลด์ในข้อกำหนดของเร็กคอร์ดสามารถแสดงอยู่ในกลุ่มฟิลด์บังคับตามเงื่อนไข:

จากนั้นในการแมป กลุ่มสามารถเชื่อมโยงกับฟิลด์ใดก็ได้ ซึ่งหากไม่ใช่ค่าว่าง จะต้องระบุฟิลด์ทั้งหมดในกลุ่ม ตัวอย่างเช่น:
การแปลงค่าที่แมปข้ามโดเมน
แหล่งข้อมูลอาจมีค่าที่ไม่สอดคล้องกัน ตัวอย่างเช่น ช่องคำทักทายอาจมีคำว่า “Mr.”, “Mr”, “MR.”, “Mister” หรือ “M” เช่นเดียวกับคำที่เทียบเท่าเพศหญิงทั้งหมด หรือฟิลด์สกุลเงินอาจมีค่าเช่น “$” ในขณะที่รูปแบบปลายทางของคุณต้องใช้ “USD” รหัสสินค้าเป็นอีกตัวอย่างหนึ่งของค่าที่อาจจำเป็นต้องแปลงจากระบบหนึ่งเป็นอีกระบบหนึ่ง MetaDapper อนุญาตให้กำหนด "รายการคำพ้องความหมาย" ที่ใช้ซ้ำได้ ซึ่งสามารถใช้ในการแปลค่าในระหว่างการจับคู่
เมื่อกำหนดแล้ว คุณสามารถระบุ Synonym Group เพื่อใช้ในการจับคู่ฟิลด์ที่เกี่ยวข้อง:
การแมปตามการจัดรูปแบบค่าและการคำนวณที่ซับซ้อน
อาจต้องใช้ค่าจากฟิลด์อย่างน้อยหนึ่งฟิลด์เพื่อจัดรูปแบบค่าใหม่ ตัวอย่างเช่น ค่าต้นทางอาจต้องตกแต่งด้วยค่าคงที่ (เช่น sale.PriceEach = "$" + priceEach;
) หรือหลายฟิลด์อาจต้องใช้เพื่อสร้างค่า (เช่น sale.Code = code1 + “_” + code2;
).
MetaDapper ให้ความสามารถในการจัดรูปแบบ/การสร้างเทมเพลตที่ช่วยให้คุณสามารถสร้างค่าโดยใช้ฟิลด์ใดก็ได้ในเรกคอร์ดปัจจุบัน รวมถึงส่วนของสตริงย่อยของฟิลด์หรือค่าคงที่ หลังจากจัดรูปแบบ ค่าจะถูกแปลงเป็นประเภทปลายทางที่ระบุ (ซึ่งไม่จำเป็นต้องเป็นสตริงโดยบังเอิญ)
ในทำนองเดียวกัน การคำนวณที่ซับซ้อนสามารถทำได้ในระหว่างการแมป โดยใช้ตัวดำเนินการทางคณิตศาสตร์และฟังก์ชันครบชุดบนการรวมกันของค่าฟิลด์และค่าคงที่
กฎการตรวจสอบ
ตัวแทนการตรวจสอบความถูกต้องที่กำหนดเองสามารถลงทะเบียนและใช้ในการแมปได้ ต่อไปนี้คือตัวอย่างวิธีการที่กำหนดเองเพื่อตรวจสอบว่าค่าของฟิลด์เป็นจำนวนเต็ม (โดยไม่ทำให้ประเภทข้อมูลสำหรับฟิลด์เป็นจำนวนเต็ม):
private static bool ValidateIsInteger( Log log, CultureInfo cultureInfo, object value, ref List<ErrorInfo> errors) { try { Convert.ToInt32(value); } catch (Exception) { return false; } return true; }
วิธีการจะถูกลงทะเบียนเมื่อสร้างอินสแตนซ์ MetaDapper จากนั้นจึงนำไปใช้ได้อย่างง่ายดายใน Field Mapping Definition:
การจัดกลุ่ม การเรียงลำดับ และการกรอง
การจัดกลุ่มและการเรียงลำดับมักจะสามารถจัดการได้ในแบบสอบถามฐานข้อมูลแต่ไม่ใช่ทุกแหล่งข้อมูลที่เป็นฐานข้อมูล MetaDapper จึงสนับสนุนการกำหนดค่าของการจัดกลุ่มที่ซับซ้อนและการดำเนินการเรียงลำดับที่สามารถทำได้ในหน่วยความจำ
ในกรณีที่จำเป็นต้องใช้ข้อมูลต้นทางเพียงบางส่วน การกรองจากแหล่งที่ไม่ใช่ฐานข้อมูลอาจซับซ้อนมากในการนำไปใช้และบำรุงรักษา MetaDapper รองรับการกำหนดค่าตัวกรองที่ซับซ้อนด้วยตัวดำเนินการบูลีนสำหรับการประเมินภาคสนามจำนวนเท่าใดก็ได้ต่อบันทึก โดยมีการซ้อนการดำเนินการตามอำเภอใจตามต้องการ ตัวอย่างเช่น:
ตัวกรองด้านบนเทียบเท่ากับโค้ด C# ต่อไปนี้:
if (sale.TransactionID > “0” AND sale.Currency == “USD” AND (sale.Amount > “3” || sale.Amount == “1”)
การแมปที่ซ้อนกัน
การแมปบางรายการต้องใช้หลายรอบเพื่อให้กระบวนการแปลงข้อมูลเสร็จสมบูรณ์ ตัวอย่างบางส่วนรวมถึงข้อมูลที่ต้องใช้คำนำหน้าหรือบันทึกผลรวม ข้อมูลที่จำเป็นต้องจับคู่แตกต่างกันขึ้นอยู่กับค่าฟิลด์หรือโครงสร้างเอกสาร หรือเพียงเพื่อแยกขั้นตอนต่างๆ ของการแมปที่ซับซ้อน (เช่น แปลชื่อ การแปลงประเภท ฯลฯ) ในตอนท้าย MetaDapper รองรับการแมปที่ซ้อนกันในทุกระดับความลึก
รูปแบบเทียบกับโครงสร้าง
ในฐานะที่เป็นเครื่องมือในการแมปข้อมูลและการแปลง MetaDapper ถูกสร้างขึ้นเพื่อให้แทบทุกรูปแบบข้อมูลสามารถอ่านหรือเขียนโดยใช้ส่วนต่อประสานตัวอ่านและตัวเขียนภายใน ซึ่งช่วยให้สามารถสร้างคลาสผู้อ่าน/เขียนที่มีน้ำหนักเบามากและเน้นเฉพาะความแตกต่างเฉพาะรูปแบบเท่านั้น
ผู้อ่านและนักเขียนยังประพฤติตนอย่างชาญฉลาดและยืดหยุ่นที่สุด ตัวอย่างเช่น โปรแกรมอ่านและเขียน XML ใช้ XPath เพื่อระบุตำแหน่งที่จะดึงหรือเขียนข้อมูลลงในไฟล์ XML การกำหนดค่าเดียวกันนี้ยังสามารถใช้เพื่ออ่านและเขียนได้ เช่น จากรูปแบบที่ไม่ใช่ XML (เช่น ไฟล์ CSV) ซึ่งในกรณีนี้ ค่า XPath จะถูกละเว้น ในทำนองเดียวกัน หากใช้การกำหนดค่าที่ไม่มีการตั้งค่า XPath กับตัวอ่านหรือตัวเขียน XML จะเกิดข้อผิดพลาดขึ้น
ใช่. ใช่ไหม. แน่นอน. (ตัวอย่างการทำแผนที่ข้อมูลจริงบางส่วน)
คุณเป็นคนขี้สงสัย และฉันไม่โทษคุณ เครื่องมือซอฟต์แวร์นั้นแทบจะไม่มีเลย ต่อไปนี้คือตัวอย่างบางส่วนในโลกแห่งความเป็นจริงที่ MetaDapper ถูกใช้เพื่อให้เกิดประโยชน์ในการปฏิบัติงาน
บริษัทที่ให้บริการซอฟต์แวร์การจัดการการประกันสุขภาพมีลูกค้าที่ไม่ต้องการกรอกแบบฟอร์มบนเว็บแต่ต้องการให้ข้อมูลในสเปรดชีต เมื่อใช้ MetaDapper สเปรดชีตที่อัปโหลดจะถูกอ่านในหน่วยความจำ ล้างข้อมูล ตรวจสอบระเบียน และผลลัพธ์ที่จัดเก็บไว้ในฐานข้อมูล พวกเขาสามารถรับไฟล์ Excel จากลูกค้าได้โดยไม่ต้องมีการตรวจสอบโดยเจ้าหน้าที่ใดๆ โดยใช้ MetaDapper พร้อมไฟล์การกำหนดค่าที่ง่ายต่อการสร้างสำหรับเทมเพลตสเปรดชีตแต่ละรายการที่เผยแพร่
บริษัทก๊าซขนาดใหญ่มีแอปพลิเคชันภายใน และต้องการให้ผู้ใช้ที่เป็นผู้บริหารสามารถดาวน์โหลดรายงานในรูปแบบ Excel ได้ รูปแบบรายงานมักจะมีการเปลี่ยนแปลงอย่างสม่ำเสมอ MetaDapper อำนวยความสะดวกให้กับแผ่นงาน Excel เพื่อสร้างจากฐานข้อมูลของพวกเขา การอัปเดตรูปแบบ Excel จำเป็นต้องอัปเดตไฟล์การกำหนดค่า MetaDapper เท่านั้นโดยไม่มีการเปลี่ยนแปลงหรือคอมไพล์โค้ดใดๆ
บริษัทที่ให้บริการซอฟต์แวร์การจัดการสินทรัพย์จำเป็นต้องมีโซลูชันสำหรับการสร้างข้อมูลทางการเงินในรูปแบบแพ็คเกจการบัญชีที่ขึ้นอยู่กับลูกค้าสำหรับการนำเข้าเข้าสู่ระบบเหล่านั้น แบบสอบถามข้อมูลการบัญชีทั่วไปได้รับการพัฒนาโดยใช้ตัวห่อหุ้ม ORM และ MetaDapper ใช้เพื่อจัดเรียง กรอง และแมปข้อมูลลงในสคีมาและรูปแบบที่ต้องการสำหรับลูกค้าแต่ละราย มีการกำหนดค่า MetaDapper หนึ่งรายการขึ้นไปสำหรับลูกค้าแต่ละราย และสิ่งนี้ได้กลายเป็นคุณสมบัติการขายที่สำคัญสำหรับลูกค้าใหม่ ผลิตภัณฑ์สามารถกำหนดค่าได้ (โดยใช้ MetaDapper) ในเวลาไม่กี่นาทีเพื่อรองรับรูปแบบแพ็คเกจการบัญชีแบบกำหนดเองหรือแบบมาตรฐาน ดังนั้นการรวมเข้ากับระบบที่จำเป็นและระบบที่มีอยู่จะรวมอยู่ในการขายใหม่แต่ละครั้ง บริษัทเดียวกันนี้ใช้ MetaDapper ในโครงการการรวมซอฟต์แวร์ต่างๆ การทำแผนที่และการแปลงข้อมูล และการแปลงรหัสภายในระหว่างระบบ
ผู้จำหน่ายรถยนต์รายใหญ่จำเป็นต้องเพิ่มรายงานการขายในรูปแบบ Excel ลงในแอปพลิเคชันของตน รายงานถูกเพิ่มลงในแอปพลิเคชันภายในเวลาไม่ถึงหนึ่งชั่วโมง - เริ่มจนจบ
นักพัฒนาซอฟต์แวร์ต้องการตารางของสหรัฐอเมริกาที่เหมือนกับชุดที่ใช้บนเว็บไซต์อื่น MetaDapper ถูกใช้เพื่อขุดข้อมูลจากเว็บไซต์และสร้างสคริปต์ SQL เพื่อเติมตารางของเขาในเวลาไม่กี่นาที
นี่เป็นเพียงตัวอย่างเล็กๆ น้อยๆ ของยูทิลิตี้และคุณค่าที่ได้รับการพิสูจน์แล้วของ MetaDapper ในฐานะเครื่องมือการทำแผนที่ข้อมูล
สรุป
ต้องใช้ความคิดอย่างก้าวกระโดดเพื่อเริ่มคิดเกี่ยวกับการแปลงข้อมูลในภาพรวม และเริ่มคิดเกี่ยวกับชุดข้อมูลที่มีกฎเกณฑ์ทางธุรกิจและประโยชน์ที่ไร้ขอบเขต MetaDapper เป็นเฟรมเวิร์กที่ส่งเสริมและอำนวยความสะดวกในมุมมองนั้น
ไม่ว่าคุณจะใช้ MetaDapper เทคโนโลยีอื่น หรือโซลูชันการทำแผนที่ข้อมูลของคุณเอง นี่เป็นการแนะนำความซับซ้อนและค่าใช้จ่ายที่ซ่อนอยู่ในโครงการแปลงข้อมูล ฉันหวังว่าคุณจะพบว่ามันเป็นข้อมูล
(สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ MetaDapper โปรดติดต่อทีม MetaDapper ที่ [email protected])