ratanon.com - infrastructure

IBM Db2

DB2 เป็นผลิตภัณฑ์ในกลุ่ม ระบบจัดการฐานข้อมูล ของ ไอบีเอ็ม ปัจจุบันถูกเรียกว่า ไอบีเอ็ม DB2 Data Server ซึ่งเป็นผลิตภัณฑ์ในกลุ่ม ไอบีเอ็ม Information Management Software


AS/400 และระบบฐานข้อมูลของมันอย่างละเอียดครับ


1. ระบบฐานข้อมูลของ AS/400

AS/400 (หรือที่ปัจจุบันเรียกว่า IBM i) ใช้ระบบฐานข้อมูลแบบ DB2 ที่มีลักษณะพิเศษคือ:


- เป็นระบบฐานข้อมูลแบบ integrated ที่ฝังตัวมากับระบบปฏิบัติการ

- ใช้โครงสร้างแบบ single-level storage ที่จัดการหน่วยความจำและพื้นที่เก็บข้อมูลเป็นระบบเดียวกัน

- รองรับการทำงานแบบ journaling และ commitment control เพื่อรักษาความถูกต้องของข้อมูล


2. เหตุผลที่มีความน่าเชื่อถือสูงในสถาบันการเงิน:

ความปลอดภัย:

- มีระบบรักษาความปลอดภัยระดับ object-level 

- การเข้าถึงข้อมูลต้องผ่านการตรวจสอบสิทธิ์อย่างเข้มงวด

- มีระบบ audit trail ที่ติดตามการเปลี่ยนแปลงข้อมูลทั้งหมด


ความเสถียร:

- ออกแบบมาให้ทำงานได้ต่อเนื่องแบบ 24/7

- มีระบบ fault tolerance และ redundancy สูง

- การบำรุงรักษาทำได้โดยไม่ต้องหยุดระบบ


ความน่าเชื่อถือของข้อมูล:

- รองรับ ACID properties อย่างสมบูรณ์

- มีระบบ journaling ที่บันทึกการเปลี่ยนแปลงทุกรายการ

- สามารถกู้คืนข้อมูลได้แม่นยำในกรณีที่เกิดปัญหา


3. การใช้งานในระบบธนาคาร:

ระบบหลัก (Core Banking):

- ระบบบัญชีเงินฝาก

- ระบบสินเชื่อ

- ระบบการโอนเงิน

- ระบบบัตรเครดิต


ระบบสนับสนุน:

- ระบบรายงานทางการเงิน

- ระบบบริหารความเสี่ยง

- ระบบ compliance และ audit


4. จุดเด่นที่เหมาะกับธนาคาร:

ประสิทธิภาพ:

- รองรับการประมวลผลธุรกรรมจำนวนมาก (high transaction volume)

- การตอบสนองรวดเร็ว แม้มีผู้ใช้งานพร้อมกันจำนวนมาก

- ประสิทธิภาพในการจัดการข้อมูลขนาดใหญ่


ความต่อเนื่องทางธุรกิจ:

- มีระบบ disaster recovery ที่มีประสิทธิภาพ

- สามารถทำ failover ได้อย่างรวดเร็ว

- รองรับการสำรองข้อมูลแบบ real-time


การบำรุงรักษา:

- ต้นทุนการบำรุงรักษาต่ำเมื่อเทียบกับระบบอื่น

- มีความเสถียรสูง ต้องการการดูแลน้อย

- มีผู้เชี่ยวชาญและบริการสนับสนุนจาก IBM


5. ความท้าทายในปัจจุบัน:

- การขาดแคลนบุคลากรที่มีความเชี่ยวชาญในระบบ AS/400

- การเชื่อมต่อกับเทคโนโลยีสมัยใหม่

- การพัฒนา user interface ให้ทันสมัย


แม้จะมีความท้าทายบางประการ แต่ AS/400 ยังคงเป็นระบบที่ได้รับความไว้วางใจจากสถาบันการเงินทั่วโลก เนื่องจากความน่าเชื่อถือ ความปลอดภัย และประสิทธิภาพที่พิสูจน์แล้วตลอดระยะเวลาหลายทศวรรษ


ภาษาโปรแกรมมิ่งและเครื่องมือที่ใช้พัฒนาบน AS/400


1. ภาษาโปรแกรมมิ่งหลักที่ใช้บน AS/400:

RPG (Report Program Generator):

- RPG III, RPG IV (ILE RPG)

- เป็นภาษาที่นิยมที่สุดสำหรับ AS/400

- เหมาะสำหรับการจัดการธุรกรรมและการประมวลผลข้อมูล

- รองรับทั้งแบบ procedural และ free-format coding


COBOL:

- ยังคงใช้งานอยู่ในระบบเก่า

- เหมาะกับการประมวลผลข้อมูลทางธุรกิจ

- มีความสามารถในการจัดการไฟล์ขนาดใหญ่


CL (Control Language):

- ใช้สำหรับเขียนสคริปต์และควบคุมระบบ

- จัดการ job, program calls และ system commands

- คล้ายกับ shell script ในระบบ Unix


2. เครื่องมือพัฒนา (Development Tools):

IBM Rational Developer for i (RDi):

- IDE ที่ทันสมัยสำหรับพัฒนาโปรแกรม

- รองรับการเขียน RPG, COBOL, CL

- มี code editor, debugger และ analysis tools


SEU (Source Entry Utility):

- เครื่องมือดั้งเดิมสำหรับแก้ไขซอร์สโค้ด

- ทำงานบนหน้าจอ green screen

- ยังคงใช้งานในองค์กรที่ใช้ระบบเก่า


PDM (Programming Development Manager):

- จัดการไฟล์ซอร์สโค้ดและออบเจ็กต์

- compile และ build โปรแกรม

- จัดการ library และ source members


3. การจัดการข้อมูลและการเชื่อมต่อ:

Socket Programming:

- ใช้ sockets สำหรับการสื่อสารระหว่างระบบ

- รองรับทั้ง TCP/IP และ SNA

- สามารถเขียนโดยใช้ RPG, COBOL หรือ C


DSPF (Display File):

- ใช้สำหรับสร้าง user interface แบบ green screen

- กำหนด screen layout และ field properties

- จัดการ input/output กับผู้ใช้


4. Modern Integration Tools:

IBM i Access Client Solutions:

- เครื่องมือสำหรับเข้าถึงระบบ AS/400

- รองรับ 5250 emulation

- จัดการไฟล์และข้อมูล


SQL และ DB2:

- ใช้ SQL สำหรับจัดการฐานข้อมูล

- เชื่อมต่อกับระบบภายนอกผ่าน JDBC/ODBC

- รองรับ stored procedures และ triggers


5. Web Development:

IBM Integrated Web Services:

- สร้าง web services จากโปรแกรม RPG/COBOL

- รองรับ SOAP และ REST

- เชื่อมต่อกับระบบสมัยใหม่


6. ตัวอย่าง Code Structure:

rpg

   // RPG IV example for file handling
   Fcustomer if  e      k disk
   Forders  if  e      k disk
   
   /free
    // Read customer record
    chain custkey customer cusrec;
     
    if %found(customer);
      // Process customer data
      exsr ProcessCustomer;
    endif;
   /end-free


7. การจัดการ Sockets:

rpg

   // Socket programming in RPG
   d socket     pr      10i 0 extproc('socket')
   d  domain           10i 0 value
   d  type            10i 0 value
   d  protocol          10i 0 value
   
   // Create socket
   d sockDesc    s       10i 0
   /free
    sockDesc = socket(AF_INET: SOCK_STREAM: IPPROTO_IP);


0
839