REST API 2.0 หลากหลาย ด้วย ASP.NET 10+
Natural REST API 2025 พัฒนาบนพื้นฐาน Natural Web Application 2000 ในลักษณะ HTTP built-in Windows App จาก C++ WinSock เปลี่ยนเป็น C++\CLI HttpListener บน Microsoft .NET Framework 4.7.2 ซึ่งเป็น Default บน Windows 10 / 11 เพื่อรองรับ JSON อย่างมีประสิทธิภาพ แต่ยังยึด Security ในระดับ Fields / Records หรือ Login ต่างกัน Report ต่างกันเช่นเดิม
ลำดับการพัฒนาการ
- Natural Web Application 2000+ ไม่รองรับ JavaScript เพราะยุคนั้นประสิทธิต่ำมาก ๆ จึงเน้น HTML4 / C++ แทน
- ลูกค้าผู้ซื้อร่วมกับ Remote Service แถมฟรี Natural Web Application 2025 สำหรับ Browser ด้วย HTML4 / CSS2 พัฒนาด้วย C++\CLI HttpListener บน Microsoft .NET Framework 4.7.2 ซึ่งเป็น Default บน Windows 10 / 11
- Natural E-Billing & X-Billing, Professional Edition ร่วม Remote Maintenance แถมฟรี Natural Web Application รองรับ Browser บน Desktop, Tablet & Smart Phone ด้วย Responsive ของ HTML5 / CSS3 อย่างมีประสิทธิภาพ
- เฉพาะ Natuarl Client \ Server กรณี E-Billing ร่วมกับ Remote Maintenance และ X-Billing ร่วมกับ Remote Service แถมฟรี Natural REST API 2025 พัฒนาด้วย C++\CLI HttpListener บน Security เหมือน Natural Web Application
- เฉพาะกรณี Natural X-Billing, Client \ Server Edition ร่วมกับ Remote Maintenance แถมฟรี Natural REST API 2026 พัฒนาด้วย ASP.NET 10+ เพื่อรองรับ REST API ที่หลากหลาย พร้อมรองรับ Swagger UI / Swagger Document ตามมาตราฐาน OpenAPI 3+, JWT / JSON Web Token, OAuth / Open Authorization ฯลฯ ( เริ่มพัฒนา September 2026 )
- เร่งปรับปรุง Natural REST API 2025+ และ Natural Web Application 200+ ทั้งหมด ให้ เสร็จสมบูรณ์ เพื่อฉลองปีใหม่ Happy New Years 2027 ทั้ง Remote Service และ Remote Maintenance การบริการ จาก 1 ปี ขยายเป็นถึงสิ้นปี 2572 พร้อม Web Application ตัวอย่าง Vue TypeScript กับ REST API 1.0 และ React / React Native กับ REST API 2.0
Real-Time Query ของ Web Application สำหรับ Telephone Billing พัฒนายากกว่า Account หรือ ERP, CRM & MRP เพราะ ...ไม่มี ID Number เน้นใช้ Query String โดยนำ Department, Extesion, Trunk / CO. Line และ Destination ร่วมกับ Between ของ Data / Time มาเป็น Condition สำหรับ Dyanmic Query แทน ( เป็นอย่างน้อย )
ดังนั้น Natural REST API และ Natural Web Application พัฒนาด้วย C++\CLI HttpListener จึงเน้นส่ง Query String ผ่าน GET หรือ POST ของ HTTP Method ไปเรียก C++ OODB : Object-Oreinted Database แทน
สำหรับ Natural REST API ด้วย ASP.NET 10+ เป็นการวิวัฒนาการจาก C++ Class ตามมาตราฐาน OOP / OOAD ของ MFC : Microsoft Foundation Class เปลี่ยนมาเป็น STL / C++ Struct แล้วเปลี่ยนเป็นมาตราฐาน C++ ABI รองรับ P/Invoke อย่างยืดหยุ่น เพื่อ Customized ได้ง่าย ๆ ด้วย C# Scripting และ Dynamic LINQ สำหรับ REST API ได้อย่างหลากหลาย

การศึกษา REST API สำหรับ Telephone Billing ต้องเข้าใจ Query String หัวใจสำคัญ ของ Real-Time Dynamic Query พร้อมทดสอบง่าย ๆ กับ Natural Web Application 2000+ เทียบ Natural REST API 2025+ ด้วย C++\CLI HttpListener ก่อน
C++\CLI HttpListener คือ Microsoft HTTP Server API หรือ HTTP.SYS เป็น C/C++ Low-Loevel Interface สำหรับ Windows HTTP Service เริ่มตั้งแต่ Windows Server 2003, Windows XP SP2 & IIS5 สามารถปรับเปลี่ยน Base URL ให้ HttpListener เพียงแก้ C:\Natural\Bin\HTTP-SYS.TXT เพื่อ Security ตามมาตราฐานของ Mcirosoft
http://localhost:8080/
http://127.0.0.1:8080/ หรือ อื่น ๆ ตามมาตราฐาน Windows HTTP Service
มันจะซ่อนความซับซ้อนของ Query String เอาไว้ใน FRAME หรือ IFRAME

หากใช้ Endpoints เป็น natural, Natual หรือ NATURAL เราก็จะเห็น Query String เต็ม ๆ ครับ
FORM ทั้งหมด จะใช้ POST Method เป็นหลัก ( ยกเว้น Link ใน HTML จะเป็น GET Method )

โดย Query String ยังคงเดิม ในทุกการแสดงผล = ผลลัพธ์ จึงกลายเป็น REST API แทนครับ

Natural Security ตั้งแต่ปี 2000 คล้าย ๆ JWT / JSON Web Token ปัจจุบัน ต่างกันเพียง Natural Login ใช้ USERNAME และ PASSWORD ผ่าน Query String ด้วย POST Method ผลลัพธ์จะได้ Security ID แบบ Reandom 64 Bit เป็น Parameter สำหรับงทุก Query String ทำให้ Search Engine ต่าง ๆ ใน Natual Web Application มีประสิทธิภาพสูง และ ใช้งานง่าย
Security ID แบบ Reandom 64 Bit หากหยุดใช้งานเกิน 10 นาที ถือว่า Timeout ต้อง Login ใหม่ รวมทั้งมันยังอ้างถึง Session State เพียงแต่ช่วงเวลาที่ผ่านมา ...ไม่มี Requirements เพิ่มเติม มันจึงเป็นเพียงแค่ Sessionless หรือ Stateless
สำหรับ JWT จะเก็บ Security ID เอาไว้ใน Header ของ HTML Protocol เสมือน Security ผ่าน ประตู หรือ ด่านเข้าเมือง หลังจากนั้น ...ไม่มีการตรวจสอบอีก ( ในขณะ Natural Security จะมีการตรวจสอบทุก Fields ทุก Records ระหว่าง Process )
ตัวอย่าง REST API Longin ผลลัลธ์ Security ID ออกมาเป็น JSON ( เพื่อเป็น application/json และ Log File ได้พร้อมกัน )
> curl -X POST -d "USERNAME=XYZxyz&PASSWORD=??????&SUBMIT=Login" http://localhost:8080/BILLING
{
"datetime" : "2026-09-09T21:08:45+07:00",
"error" : "",
"querystring" : "http://localhost:8080/BILLING?USERNAME=XYZxyz",
"data" : "35525146671997463"
}
หากใช้ Endpoints เป็น natural, Natual หรือ NATURAL เราก็จะเห็น Query String เต็ม ๆ ครับ
FORM ทั้งหมด จะใช้ POST Method เป็นหลัก ( ยกเว้น Link ใน HTML จะเป็น GET Method )

Natural Web Application ในปี 2000 ใช้ HTML Form เพื่อ รับข้อมูล และ ส่งข้อมูลออกไปเป็น Query String เทียบเท่า Real-Time Query ในปี 2536/1993 ยุคแรก ๆ ของ การพัฒนา Natural Billing โดยยัง ...ไม่ได้รวม Data Analysis หรือ Query เพื่อ Zoom Records เชิงลึก ( สามารถ ...เพิ่ม Option ของ Data Analysis เอาไว้ ใน Session State หรือ จะเพิ่ม Parameter ให้ Query String ก็ได้ แต่จะทำให้มี Parameter เพิ่มขึ้นอีกมาก หรือ Query String ซับซ้อนเพิ่มขึ้น )
สำหรับ REST API เน้น Sessionless หรือ Stateless มากกว่า ดังนั้นหากเพิ่มจริง ๆ ต้องเพิ่ม Parameter เท่านั้น
เบื้องต้น มี Parameter ต่าง ๆ ดังนั้น
1. FRONT จะมีค่าอยู่ระหว่าง 0 - 3 สำหรับการเล็งพิจารณา สิ่งใดเป็นมิติสำคัญเป็นอันดับแรก ในการประมวลหรือนำเสนอข้อมูล 0 = แผนก / Department, 1 = ภายใน / Extension, 2 = สายนอก / Trunk / Co Line และ 3 = ปลายทาง / Destination
2. REPORT จะมีค่าอยู่ระหว่าง 0 - 3 สำหรับการกำหนดรูปแบบของการแสดงรายงาน 0 = สรุป / Summary, 1 = รายละเอียด / Detail, 2 = สรุปเบอร์โทรซ้ำ / Dial Number และ 3 = สรุปปริมาณความหานแน่นของการใช้โทรศัพท์ / Traffic
3. SEARCH คือ Front String สำหรับ Search Engine ต่าง ๆ หรือ ระบุ FRONT เป็น ชื่อแผนก, ชื่อบุคคล, หมายเลขสายนอก หรือ ชื่อกลุ่มเบอร์ปลายทาง ทั้ง เพื่อการค้นหาข้อมูล และ เพื่อระบุชัดเจนจะทำรายงานกับสิ่งใด
4. BEGIN จะเป็นการกำหนด เริ่มวันที่ ในการค้นหาข้อมูลมาทำรายงาน ( เดิมอ้างอิงตามรูปแบบในการ input ข้อมูลของผู้ใช้ )
5. ENDED จะเป็นการกำหนด ถึงวันที่ ในการค้นหาข้อมูลมาทำรายงาน ( เดิมอ้างอิงตามรูปแบบในการ input ข้อมูลของผู้ใช้ )
6. DISPLAY หากค่าเป็น 0 = ภาษาไทย หรือ 1 = English ( หรือ แสดงรายงาน เป็น ภาษาไทย / English ตามการกำหนดค่า )
7. LOGIN คือ Security ID แบบ Reandom 64 Bit จาก Login ( หากหยุดใช้งานเกิน 10 นาที ถือว่า Timeout ต้อง Login ใหม่ )
8. SUBMIT คือ คำสั่ง SEARCH ให้แสดงข้อมูลเกี่ยวกับ Front String หรือ Human Resource ในลักษณะ Human Relation, REPORT ให้แสดงรางานแบบระบุตัวตนที่ต้องการ โดยมี FROM HTML อยู่บนสั่งบน เพื่อเปลี่ยนทิศทางในการแสดงรายงานได้ตลอเวลา และ สุดท้าย PRINTER เป็นการแสดงเฉพาะ HTML REPORT เพียง ๆ ไม่มี FROM HTML เพื่อง่าย ในการสั่งพิมพ์รายงานออก Printer ผ่าน Web Browser
|
Last update : September 09, 2026 20:20 ( Thailand ) Odoo ERP, Open Source are trademarks of Belgian Odoo S.A. Apple, Mac, iMac, iPhone, iPod and iPad are trademarks of Apple, Inc. Windows, .NET or all Microsoft-based are trademarks of Microsoft Corporation. Natural Technology Copyright @ 1990 - 2026 Mr. Roongroj Rojanapo ( 18/81 หมู่ 9 ถนนเพชรปิ่นแก้ว ซอย 7 ตำบลบางพระ อำเภอศรีราชา จังหวัดชลบุรี 20110
|
|||||||||||||

