วันจันทร์ที่ 29 ตุลาคม พ.ศ. 2561

Test Midterm (Web service)

นายพีรวิชญ์ วันเดช รหัส 5801012620054

my github webservice test : https://github.com/peepraeza/webservice_test/commits/master

ข้อที่ 1
โจทย์ : เมื่อเรียกใช้ webservice ให้ส่งค่าข้อมูลของนักศึกษา โดยข้อมูลที่ส่งมาจะมี ชื่อ, รหัสนักศึกษา,  งานอดิเรก(ต้องมีมากกว่า 2 อย่างขึ้นไป)

hashcode ของข้อนี้คือ 0dcbb10 ไฟล์ server จะชื่อว่า server_test.php // แต่หลังจากที่ได้ไป clean code โดยการลบโค้ดส่วนที่ไม่ได้ใช้งานออกไป และทำการ commit ใหม่ ซึ่งจะอยู่ใน hashcode : 27f729f ของวันที่ 30/10/18 ชื่อไฟล์เปลี่ยนเป็น server_test_No1.php
upload ขึ้น cloud แล้ว url : https://webservicehello.herokuapp.com/servicetest1.php?wsdl

ทดสอบ web service โดยใช้ SoapUI



จากภาพช่องด้านซ้ายคือ ป้อน input ที่ใช้ค่าอะไรก็ได้(ไม่ได้กำหนด input เอาไว้) ในที่นี้ป้อนไปว่า data จากนั้นกด Run และ web service ก็จะส่งค่า information ของนักศึกษามาให้ ดังช่องด้านขวา




ข้อที่ 2
โจทย์ จำลองว่าเป็น web service ของไปรษณีย์ โดยที่ service แรก จะใช้สำหรับลูกค้า ที่มาส่งของ โดยลูกค้าต้องกรอก ชื่อผู้รับ, ที่อยู่ผู้รับ, น้ำหนักพัสดุ 3 ค่านี้ และ service ที่สอง จะใช้สำหรับพนักงานส่งของ โดยพนักงานเมื่อทำการส่งของเรียบร้อยแล้ว จะทำการบอกสถานะของพัสดุนั้น ว่าส่งของเรียบร้อยแล้ว และ service ที่สาม สามารถตรวจสอบข้อมูลใน Database ได้ว่า พัสดุได้ถูกส่งไปหรือยัง
upload ขึ้น cloud แล้ว url : https://webservicehello.herokuapp.com/servicetest2.php?wsdl

hashcode : 97a774d โดยจะมี 2 functions คือ send_mail จะเป็น service สำหรับลูกค้า และ sent_mail_already จะเป็น service สำหรับพนักงาน โดยข้อนี้จะใช้ Database มาใช้สำหรับเก็บข้อมูลและสถานะของพัสดุ โดยจะสร้างทั้งหมด 5 columns ได้แค่ id, name, addr, weight, status และ hashcode : 3b7ceb7 จะเป็นส่วน service ที่เพิ่มขึ้นมา โดยจะสามารถตรวจสอบข้อมูลทั้งหมดใน Database หรือจะตรวจสอบจากสถานะพัสดุก็ได้เช่นกัน

เมื่อลูกค้ามาส่งพัสดุ ก็จะกรอกข้อมูล ชื่อ, ที่อยู่, น้ำหนัก จากนั้นข้อมูลก็จะถูกเก็บเข้าไปใน Database และสถานะของพัสดุก็จะขึ้นว่า false หมายถึงยังไม่ถูกจัดส่งสินค้า จากนั้นเมื่อพนักงานทำการส่งสินค้าชิ้นนั้น โดยการกรอก id, ชื่อ, ที่อยู่ ที่เก็บอยู่ใน Database เรียบร้อยแล้ว สถานะของพัสดุก็จะเปลี่ยนเป็น true เป็นการบอกว่าพัสดุนั้นถูกส่งเรียบร้อยแล้ว

ทดสอบ web service โดยใช้ SoapUI
เริ่มจาก ลูกค้ามาส่งพัสดุที่ไปรษณี จะใช้ service send_mail โดยทำการกรอก name, addr, weight
หลักจากที่กรอกเรียบร้อยแล้ว เพื่อกด Run ทาง web service ก็จะส่งข้อความมาว่า ได้ทำการ add data เรียบร้อยแล้ว

พนักงานปณ. ก่อนจะไปส่งพัสดุ ก็จะตรวจสอบว่ามีพัสดุไหนบ้างที่ยังไม่ถูกส่งบ้าง ก็จะมาใช้ service ที่ชื่อว่า get_info_from_status โดยสามารถตรวจสอบได้ว่าพัสดุไหนบ้างที่ยังไม่ได้ส่งบ้าง

ทางด้าน input จะรับ parameter status เพื่อใช้ตรวจสอบสถานะว่าต้องการจะดูสถานะอะไร ในที่นี้เขียนไปว่า false หมายถึงสถานะของพัสดุที่ยังไม่ถูกส่ง เมื่อ Run ก็จะได้ค่าออกมา 2 ตัว คือพัสดุ id ที่ 1 และ id ที่ 21 ที่มีชื่อว่า Sandee ที่เพิ่งกรอกข้อมูลเข้าไปก่อนหน้านั้น

จากนั้นพนักงานก็จะทำการส่งพัสดุ และเมื่อส่งพัสดุถึงผู้รับแล้ว พนักงานก็จะเรียกใช้ service ที่ชื่อว่า sent_mail_already

ด้าน input จะรับค่า id, name, addr ของผู้รับพัสดุ เมื่อกด Run ทาง web service ก็จะส่งข้อความกลับมาว่า ได้ส่งพัสดุเรียบร้อยแล้ว และทำการอัพเดตสถานะพัสดุเรียบร้อยแล้ว

เพื่อยืนยันความถูกต้อง ก็สามารถกลับไปเช็คสถานะพัสดุทั้งหมดใน Database ได้โดยการใช้ service ที่ชื่อว่า get_info_all

โดยที่ input จะใส่ค่าอะไรก็ได้ ในที่นี้จะใส่เป็น data และเมื่อกด Run จะเห็นได้ว่า id ที่ 21 ของคนที่ชื่อ Sandee ได้เปลี่ยน สถานะจาก false เป็น true เรียบร้อยแล้ว เป็นการบอกว่าทำการส่งพัสดุถึงผู้รับเรียบร้อยแล้ว

ไม่มีความคิดเห็น:

แสดงความคิดเห็น