ปัญหาที่เรารับดูแล
- ไม่สามารถปลดระวาง COM, ActiveX หรือ OCX ได้ในทันที
- คอมโพเนนต์ 32 บิต ขัดขวางการย้ายระบบไปเป็น 64 บิต
- ไม่ทราบว่าวิธีใดเหมาะที่สุดในการเชื่อมต่อสินทรัพย์ C++ กับ .NET
- ต้องการโยกย้ายทีละขั้นโดยไม่ทำให้สเปกเดิมเสียหาย
หลักการของกระบวนการ
ในการใช้ประโยชน์จากสินทรัพย์เดิม บ่อยครั้งแนวทางที่เป็นธรรมชาติที่สุดคือการไม่เริ่มต้นจากการแทนที่ทั้งหมด
ขั้นแรก เราทำความชัดเจนในประเด็นต่อไปนี้
- สินทรัพย์นั้นเป็นคอมโพเนนต์ส่วนติดต่อ หรือมีสเปกทางธุรกิจอยู่ภายใน
- สามารถคงการทำงานแบบ in-process ต่อไปได้หรือไม่
- ควรข้ามกำแพงระหว่าง 32 กับ 64 บิต ที่จุดใด
- ควรดูดซับความแตกต่างด้วย wrapper หรือแยกออกเป็นโปรเซสอื่น
ขอบเขตที่เหมาะสมเป็นพิเศษ
- การจัดระเบียบระบบเดิมที่มี COM, ActiveX หรือ OCX
- การจัดระเบียบรอยต่อระหว่าง C++ กับ C#
- การห่อหุ้มด้วย C++/CLI
- การทบทวนสถาปัตยกรรมที่เชื่อมต่อ 32 กับ 64 บิต
- การจัดทำแผนการแทนที่แบบทีละขั้น
กรณีที่เหมาะกับบริการนี้
- สินทรัพย์เดิมมีกฎทางธุรกิจหรือสเปกของอุปกรณ์อยู่ภายใน จึงแทนที่ได้ยาก
- ต้องการให้ความสำคัญกับการยืดอายุการใช้งานและการจัดระเบียบรอยต่อก่อน
- ต้องการแทนที่ในอนาคต แต่ตอนนี้ต้องการเส้นทางการโยกย้ายที่ปลอดภัย
สภาพที่เรามุ่งไปให้ถึง
เป้าหมายไม่ใช่ «กำจัดของเก่าทั้งหมด» หากแต่เป็น การใช้ประโยชน์จากสินทรัพย์ที่ควรเก็บรักษาไว้ และทำให้เรียบง่ายเฉพาะรอยต่อที่ซับซ้อนเท่านั้น
ด้วยแนวทางนี้ เรามุ่งให้ได้
- โครงสร้างที่บำรุงรักษาง่าย
- ลำดับการแทนที่ที่ชัดเจน
- ต้นทุนการโยกย้ายในอนาคตที่ลดลง