Facebook : roongroj @ jinisoft.com
Next Step by
|
|
|
Natural Hi-Speed OODB : Object-Oriented DataBase, MediaBase & LogicBase เริ่มต้นด้วย ...การวิจัยและพัฒนาบนรากฐานของ Java RMI, JavaSpace & Jini Network Technology จนกลายเป็น MPP : Multiply Parallel Processing หรือ Dynamic Distributed & Co-operative Systems เพื่อรองรับ Dynamic Real-Time Process, Analytics & Report สำหรับ Big Data และ Data Mining แล้วต่อยอด พัฒนาให้รองรับ Cross-Platform ทั้ง Java Platform, ISO C/C++, Objective-C, JavaScript & Microsoft .NET Famework ( รวมถึง Windows RT )
ปัญหา RDBMs / SQL Server
SQL เป็นสิ่ง "สวยงาม" แต่ดู ...ไร้ค่า เมื่อทำงานบน DataBase เพราะไม่มี Security ระดับ Record ทำให้ SQL เดียวกัน ได้ผลเช่นเดิมเสมอ ไม่ว่า User นั้นจะเป็นใคร ทำให้ ไม่ ...สามารถปกปิด "ความลับ" ของ Business ได้ และ User ทุกคน @ Update ข้อมูลได้ สามารถ "ทำลาย" ข้อมูล ...ทั้งหมด ได้เช่นกัน
ปัญหาการพัฒนา App บน DataBase ไม่ได้อยู่ @ SQL แต่ต้องสร้าง Security ขึ้นเอง ซึ่ง Programmer ด้าน DataBase ส่วนใหญ่ ไม่ใช่ ...ผู้เชียวชาญ ด้าน Security หรือ Architecture แต่ที่แน่ ๆ คือ มันทำให้ ...ยุ่งยาก ซับซ้อน ไม่เหมาะกระจายข้อมูลไปอยู่บนโลกของ Internet หรือ Smart Device ต้องอยู่รวมศูนย์ ใน Data Center แบบปกปิด เพื่อความปลอดภัย
แนวทางแก้ปัญหา ด้วย OODB Engine : Object-Oriented DataBase, MediaBase & LogicBase
- ความลับ ของ Business
ตลอดเวลา 20 ปี ของการพัฒนา OODB Engine รุ่น 1.x ด้วย Security ระดับ Record แบ่งการเข้าถึง Record โดยใช้ Group หรือ Department กับ Level หรือ Position ของ พนักงาน ทำให้ User ทุกคนสามารถเข้ามาตรวจสอบข้อมูล ซึ่งตนเกี่ยวข้องได้ และ เป็นการยืนยันว่า ข้อมูล นั้น ๆ เป็น จริง นี่คือการทำให้ Computer World กลายเป็น Real World
ผ่าน Client / Server โดยใช้เทคนิค Cache DataBase ด้วยการ Swap @ Record เฉพาะต้องการใช้งาน เข้ามาเก็บไว้ใน Main Memory หรือ RAM เพื่อการประมวลผลฝั่ง Client แม้จะมีข้อมูลเก็บไว้มากมหาศาล หรือ เต็ม Hard Disk ฝั่ง Server แต่ ไม่ ...กระทบ Traffic ของ Network และ มีจำนวน Client ประมวลผลพร้อม ๆ กันได้ ไม่จำกัด
- OODB Engine รุ่น 2.0 กลายเป็น AI Platfrom
เราเก็บ SQL ลง OODB โดยกำหนด Command ในรูป Menu หรือ Toolbar ไว้ใน OODB เช่นเดียวกัน เพื่อรองรับ "ความยืดหยุ่น" ในอนาคต เราจึงเพิ่ม Condition ให้ SQL แบบ Inhertance พร้อม ๆ กับ แต่ละ Filed ของ Record มีความเป็น Object เราจึงเรียกมันว่า Object-Oreited SQL โดยเก็บอยู่ในรูป Transaction เพื่ออ้างอิง กับ Transaction Flow และ Security Balance ของแต่ละ Field ของ Record
รวมถึง Natural Security โดยอ้างอิง Human Relation เพื่อควบคุมและรักษาความปลอดภัยของแต่ละ Field และ Record พร้อมทั้ง เข้ารหัส หรือ Cryptography ทั้งตาม มาตราฐาน และ กลข่วย ตาม คณิตศาสตร์ ของ หลักจิตวิทยา ในวิชา ซำง้วน ( สำหรับ Native C/C++ เท่านั้น )
ระบบมีความปลอดภัยสูง เพราะเป็น Dynamic Object ซึ่ง ไม่ ...สามารถ ดักจับ หรือ คาดเดา @ ลักษณะข้อมูล หรือ ประเภทของข้อมูลได้ และ รองรับ Security ขั้นสูงสุด ในโลกของ Internet เพื่อกระจายไปยัง Multiply Server และ Smart Device รวมทั้ง มีการ Compress & Cryptography ระดับ Record อันไม่พบใน SQL & NoSQL ที่มีการใช้งานกันอยู่ในปัจจุบัน
ทำให้ OODB Engine พร้อม @ กลายเป็น Dynamic Process และ รองรับ Artificial Intelligence ในอนาคต
กลไกล 4 ขั้นตอน สำหรับ MPP : Multiply Parallel Processing
- Server Host ต้อง Register ประกาศตนแก่ Engine Host ก่อน ( LDAP : Active Directory Protocol ) และ ต้องแจ้งสถานนะให้ Engine Host ทราบตลอดเวลา
Dynamic Plug-in # Management จะใช้ข้อมูลของ Load Balancing เพื่อติดตั้ง Business Logic หรือ Service Factory ลงใน Engine บน Server Host ที่มี Profermance ต่ำ และ มี Resource เหมาะสมกับ Dyanamic Serivce แต่ละตัว ซึ่ง Engine บน Server Hoste ก็ถือว่าเป็น Static Service เล็ก ๆ ของ Management เช่นกัน
- Service Proxy บน Client Host ต้องร้องขอ Server Address ของ Service Factory ( Dynamic Service ) จาก Engine Host ผ่าน UDP, TCP หรือ Web Service
- Engine Host ( มีโครงสร้างต่อเรียงกันแบบ DNS Server ) จะต้องส่ง Server Address และ Digital Identity ของ Service Factory กลับไปให้ Service Proxy ตาม Transaction ซึ่งถูก Request โดยขึ้นอยู่กับ Load Balancing หรือ Performance ของแต่ละ Server Host
โดยปกติจะเริ่มจาก Transaction Login หลังจากนั้น ขึ้นอยู่ว่า User นั้น ๆ จะเลือกกระทำการกับ Transaction Flow ใดต่อ ตาม หน้าที่ และ ความรับผิดชอบของตน ซึ่งข้อมูลทั้งหมด ถูกกำหนดไว้ใน ฐานข้อมูล Human Relation & Human Resource Management System
ดังนั้น Natural จึงเป็นการรวม OODBC Engine 2.0 : Object-Oriented DataBase / MediaBase / LogicBase, Distributed & Co-operative Computing, Enterprise Application Server และ Security บน Human Relation เข้าไว้ด้วยกัน จนเป็น Application เดียวกัน
- Client Host สื่อสารกับ Server Host ผ่าน Service Proxy & Factory ด้วย Remote Logic Interface & Dynamic Object Serialization โดยไม่ขึ้นกับ Business Rules, Transaction Flow หรือ Process
ความแตกต่าง ของ Developement
- Java Paltform จะเน้นใช้ Java RMI, JavaSapce หรือ Jini Network Technology ขึ้นอยู่กับ ต้องการความยากง่ายในการติดตั้ง, ประสิทธิการใช้งาน และ สภาวะแวดล้อม เกี่ยวกับ คุณภาพ การตรวจสอบ กลไกลการทำงาน ของ Network
- Microsoft .NET รวมถึง WinRT จะใช้ Binary .NET Remoting on TCP/IP
- Native ISO C/C++ หรือ Objective-C จะเน้นใช้ Socket Protocol รองรับ Serialization แบบ Big-Endian สำหรับสื่อสารกับ Java Platofrm และ ARM/RISC Architecture และ Little-endian สำหรับสื่อสารกับ Microsoft Platform และ x86/CISC Architecture
- สุดท้าย สำหรับการ Customize และ Interface ร่วมกับ Application อื่น ๆ จะใช้ Web Service ( SOAP / REST / JSON ) เป็นหลัก แต่จะทำงาน ช้ากว่า Binary Protocol อื่น ๆ ถึง 10 เท่า
Record Cache ใน Service Proxy มี 3 รูปแบบ คือ
- สำหรับ Desktop จะเป็นแค่ Cache Memory ใน Client App
- สำหรับ iPad หรือ Tablet จะ Save ลง Flash Storage เพื่อเป็น Backup & Mirror โดยมีการ Compress เพื่อรองรับ ข้อมูล หรือ Object หรือ Record ...ขนาดใหญ่ และ เข้ารหัส Cryptography เพื่อยืนยันถึงแห่ง ...ข้อมูลจริง ๆ และ เจ้าของผู้สร้าง ...ต้นฉบับ ใน ทุก ๆ Record รวมเรียกว่า Natural File Systems
- สำหรับ Proxy Server เป็นทั้ง Backup & Mirror และ Service ให้กับ Client Host หรือ Desktop อื่น ๆ ใน Network สำหรับ Cloud Computing ซึ่งอยู่ห่างไกล รวมทั้งทำให้ลด Data Transfer และ อาจย้าย Service ( Transactions & Tables ) ทั้งหมด หรือ บางส่วน เฉพาะของ Local หรือ ข้อมูลของสาขา นั้น ๆ มารวมด้วย จนกลายเป็น Private Cloud Computing
มุมมองของ Transaction Flow ( ใน Service Proxy & Service Factory )
Query คือ กลไกลการประมวลผล ของ Business Rules ในรูปแบบ Object-Oriented SQLs รวมกันเป็น Transaction แต่ละ Transaction ถูกกำหนดภายใต้ Object-Oriented Workflow เรียกว่า Transactions
ผลของ Query จะได้ Arrary Objects แต่อยู่ในรูปแบบ OODB Engine สามารถ Query ต่อ ๆ ไป ได้อย่างไม่มีที่สิ้นสุด โดยกลไกลที่สำคัญ คือ Cache Management ทำงานเหมือนกับ Virtual Memory ของ OS : Operating Systems เรียกว่า Virtural Table ในการ Swap เรียก Object หรือ Record @ ต้องการใช้งาน หรือ ต้องการใช้งานบ่อย ๆ ขึ้นมาอยู่ใน Memory และ ในแต่ละ Table ของ DataBase เราก็แบ่งเป็น Section ย่อย ๆ ได้ ...อย่างไม่รู้จบ เราจึงเรียกมันว่า Multiply Cache
Multiply Cache ทำงานแบบ Virtual อย่างไม่รู้จบ ผ่าน TCP/IP จนกลายเป็น MPP : Multiply Parallel Processing บน Dynamic Distributed & Co-operative DataBase
Single Core สำหรับ IaaS : Infrastructure as a Service, PaaS : Platform as a Service & SaaS : Software as a Service ( ประมาณ 10 MB )
ความแตกต่าง ระหว่าง Natural กับ Compiere และ Apache OFBiz
สำหรับ Compiere ซึ่งพัฒนาโดยอดีต Developer ของ SAP หรือ ERP \ CRM Open Soruce อื่น ๆ ซึ่งพัฒนาอยู่บนพื้นฐานของ Apache OFBiz จะพัฒนาเฉพาะบน Java Platform และ ประมวลผล Business Rule ฝั่ง Client ผ่าน JDBC : Java Database Connectivity ในลักษณะ Shared DataBase ยิ่งมีจำนวน Client มาก ๆ ความสามารถในการประมวลผลพร้อม ๆ กัน จะถูกจำกัด โดย Performance ขึ้นอยู่กับ Spec ของ Hardware ทั้งฝั่ง Client และ Server รวมถึงขึ้นอยู่กับความเร็วของ Network ด้วย
ซึ่ง Hardware เกือบถึงขึ้ดสุดในการพัฒนาแล้ว
ปล. การใช้ Multi-Core Processor ไม่ได้ช่วยทำให้ Software ทำงานได้เร็วมากนัก เพราะติดปัญหา "คอขวด" @ Data Buse ของ RAM & Hard Disk ยกเว้นจะซอย "Data ย่อย ๆ" นำเข้าไปประมวลผลใน Cache Memory ของ CPU
|
Last update : January 08, 2020 08:00 ( Thailand )
Java and all Java-based are trademarks of Oracle Corporation.
Apple, Mac, iMac, iPhone, iPod and iPad are trademarks of Apple, Inc.
Windows, .NET or all Microsoft-based are trademarks of Microsoft Corporation.
JiniSoft Corporation
Copyright @ 1990 - 2020 Mr. Roongroj Rojanapo ( )
18/81 หมู่ 9 หมู่บ้านบางพระ ตำบลบางพระ อำเภอศรีราชา จังหวัดชลบุรี 20110
|