วันพฤหัสบดีที่ 3 มกราคม พ.ศ. 2562

ทดสอบ : Select Topic Web Service, midterm

นาย ผดุงศักดิ์ รักชู 58-010126-1014-8


ข้อ 1 : Student Service


เขียน service ของ server เพื่อรอรับ request จาก client ในที่นี้คือ sendProfile ซึ่งจะส่งข้อมูลกลับไปเมื่อมีการเรียกใช้ service นี้


จากนั้นมาเขียนคำสั่งฝั่ง client เพื่อเรียกใช้งาน service sendProfile


ผลลัพธ์



ข้อที่ 2: Transport Service


service : Add Destination Info

server code: ใส่ข้อมูล 4 อย่างลงใน service ได้แก่ date, name, address, weight เพื่อบันทึกค่าลงฐานข้อมูล


สร้างไฟล์ csv ขึ้นมา(transport.csv)

เขียน code ฝั่ง client เพื่อเรียกใช้งาน addDestinationInfo service
ผลลัพธ์(transport.csv)

service :  Destination Sent

server code: เมื่อใส่ name และหมายเลข order ของคนที่ต้องการ จะทำการอัพเดท status = sent 

เขียน code ฝั่ง client เพื่อเรียกใช้งาน destinationSent service
หลังจากรันจะพบว่าข้อมูลของลูกค้าที่เปลี่ยนเป็น sent มีเพียงของคุณ Miahn แต่ของคุณ Alexander ยังคงเป็น sending เนื่องจากเลข order ที่กรอกไม่ตรงกับหมายเลข order ของคุณ Alexander 

service :  Transport Status

server code: ส่งข้อมูลของลูกค่าที่มีชื่อตรงกับที่รับมา
เขียน code ฝั่ง client เพื่อเรียกใช้งาน transportStatus service
ผลลัพธ์

วันอังคารที่ 11 ธันวาคม พ.ศ. 2561

SSL

HTTPs vs HTTP

HTTP คืออะไร

Hypertext Transfer Protocol (HTTP) เป็น โปรโตรคอล ที่ใช้งานสำหรับเผยแพร่ข้อมูล ครั้งแรกเพื่อสำหรับการเผยแพร่และแลกเปลี่ยน HTML
HTTP เป็น โปรโตคอลที่ใช้ ร้องขอ/ตอบกลับ ระหว่างเครื่องลูกข่ายที่ใช้เว็บเบราว์เซอร์ กับเครื่องแม่ข่ายที่เรียกว่าเว็บเซิร์ฟเวอร์ โดยใช้โปรโตคอล TCP

HTTPS คืออะไร

คือ ระบบความปลอดภัยของ HTTP protocol สำหรับการแลกเปลี่ยนข้อมูลระหว่างเครื่อง server และ client ทำงานอยู่บนพอร์ต 443 ด้วยการเพิ่มข้อมูลในส่วนการระบุตัวผู้ส่ง และการเข้ารหัสข้อมูล

SSL (Secure Socket Layer )

SSL มีชื่อเต็มคือ Secure Socket Layer เป็นเทคโนโลยีการเข้ารหัสข้อมูลเพื่อเพิ่มความปลอดภัยในการส่งข้อมูลบนอินเทอร์เน็ต ทั้งในเว็บไซต์หรือแอปพลิเคชั่นต่างๆ ที่จะทำให้เว็บไซต์ของเรามีความปลอดภัย

ประเภทของ SSL Certificate
ถ้ามองดูอย่างผิวเผินแล้วแล้วเราคงแยกไม่ออกว่า SSL Certificate แต่และประเภทมันต่างกันอย่างไร เพราะสิ่งที่ทุกคนสังเกตในช่อง URL คือ https อย่างเดียว แต่จริงๆ แล้วมันสามารถจำแนกออกได้ 3 แบบหลักๆ คือ

1. Domain Validation SSL Certificate (DV)
นี่คือการออกใบรับรอง SSLที่ง่ายและไวที่สุด โดยฝั่งผู้ให้บริการ SSL จะมีการตรวจสอบเพียงว่าใครเป็นเจ้าของโดเมน (ชื่อเว็บไซต์) นี้เท่านั้น ไม่มีการตรวจสอบเชิงลึกแต่อย่างใด สามารถทำได้ในเวลาไม่กี่นาที

2. Organization Validation SSL Certificate (OV)
ตามชื่อเลยครับ นี่คือ SSL ในระดับองค์กร โดยจะมีการตรวจสอบในเชิงลึกมากขึ้น ทั้งตัวเจ้าของโดเมน และฝั่งองค์กรว่ามีอยู่จริงหรือไม่ผ่านกรมพัฒนาธุรกิจการค้า และอาจต้องยื่นเอกสารบางประการที่ฝั่งผู้ให้บริการ SSL ขอเพื่อยืนยันตัวตนหรือธุรกิจนั้นๆ

3. Extended Validation SSL Certificate (EV)
ตัวสุดท้ายคงเป็นการตรวจสอบที่เข้มงวดที่สุด สำหรับ Extended Validation ซึ่งนอกจากจะถูกตรวจสอบเจ้าของโดเมน ตรวจสอบองค์กรผ่านกรมธุรกิจการค้าแบบเดียวกับ Organization Validation แล้ว ยังมีการตรวจสอบข้อมูลเชิงลึกของบริษัทด้วย


ทำให้เป็น SSL



SSL ของ Cloudflare จะมีอยู่ 3 แบบ

ซึ่งถ้าเราซื้อใบรับรองอยู่แล้ว มันก็เป็น Full SSL หรือ Full SSL (Strict) แต่ถ้าไม่ซื้อ มันจะเข้ามาดูเว็บเราว่ามีใบรับรองหรือเปล่า? ถ้าไม่มี ก็เรียกที่ http ดื้อๆ เลยครับ แต่ว่าคนอื่นจะเห็นเป็น https เพราะว่าเค้าดูผ่าน cloudflare เท่านั้น ไม่มีทางดูผ่านเว็บเราโดยตรงได้ เรียกว่า Flexible SSL ตามรูปครับ



Flexible SSL

  Cloudflare จะทำการติดต่อกับ Server เราผ่านทาง HTTP Connection แล้วจะ Encrypt ข้อมูลเพื่อติดต่อกับเครื่อง Client ผ่านทาง HTTPS Connection

Result

ใช้ CloudFlare ในการทำ SSL





Load Balance

Load balance

ผลการค้นหารูปภาพสำหรับ load balance

จะมี Server 3 ตัว
           -  1 ตัว เป็นตัวแบ่งการทำงาน
           -  2 ตัว เป็น Server Webservice



ใช้ AWS ในการทำ Load Balance


จะเห็นว่ามี server 2 ตัว



จะเห็นว่ามี server ที่เป็น load balancing เป็นตัวแจกจ่ายงานให้ server ทั้งสอง





จะเห็นว่ามีการแบ่ง การทำงานของ server เครื่องละ 10 request




ผลการค้นหารูปภาพสำหรับ apache jmeter

ใช้ Apache JMeter ในการทดสอบ Request

ทดสอบ 1500 req / sec Error

   
จะเกิด Eror ขึ้น วิธีแก้ อาจจะต้องเพิ่ม Server ขึ้น 

วันพุธที่ 31 ตุลาคม พ.ศ. 2561

Web Service นาย ณัฐกิจ ขัดผาบ

นาย ณัฐกิจ   ขัดผาบ  5801012610032

Server side
ข้อ ที่ 1

Service ที่ 1



1. เก็บรายชื่อไว้ใน database


2. เขียน function fetch ข้อมูลจาก database
3. เขียน service  ในการส่งข้อมูล
4. ทำ file .xsd เช็ก schema


5. เช็กว่า xml validate กับ schema หรือไม่
6. ส่ง xml ไปยัง client


Client side

user Python and Node JS

Python

result

Node JS


result


________________________________________________________________________________

ข้อที่ 2
Service ที่ 1


1. สร้าง table เก็บการส่งข้อมูล database

2. รับค่าจาก client
3. เขียน function insert ข้อมูล

Service ที่ 2


1. update ข้อมูลใน table ให้หมดจาก (sended = no) => (sended = yes)

Service ที่ 3


1. เรียกข้อมูลทั้งหมดออกมาดูจาก table
2. ทำ file .xsd เช็ก schema

3. เช็กว่า xml validate กับ schema หรือไม่
4. ส่ง xml ไปยัง client


Client side

user Python and Node JS

Python

service 1

service 2

service 3

result

Node JS

service 1

service 2

service 3

result

_________________________________________________________________________________

GitHub and Heroku
Server Github : https://github.com/tapetop18135/selectMidtermTest
Client Github : https://github.com/tapetop18135/selectMidtermClient

Server Heroku: https://minitestsoap.herokuapp.com/soapAPI1/?wsdl



Web Service นาย พันธกานต์ ขัดผาบ

ข้อ 1 แสดงชื่อ และประวัตของ นักศึกษา

     Service ที่ 1
         -  ให้ client request ไปให้ server และให้ server ส่ง response ออกมาให้ client
                                Server

Code ส่วน Service จะมีการตรวจสอบ xmlschema ด้วย library XMLSchema 
เมื่อ valid จะสามารถส่งข้อมูลไปให้ client

                                Client
                                
                                Result
  


ข้อ 2 ทำ Web Service ส่งของคล้าย EMS
    -  มีการเก็บข้อมูลสินค้า(order ของลูกค้า)
    -  อัพเดท order เมื่อมีการส่งของ

   Service ที่ 1
         -  เมื่อลูกค้าต้องการจะส่งของ จะมีการ บันทึก order

    Server

                                Client (insert และ update status)

   Service ที่ 2
         - เมื่อของส่งแล้วมีการ อัพเดท สถานะของ order(ส่งแล้ว)

    Server


   Service ที่ 3
         -  แสดงข้อมูลต่างๆ และมีการใส่ parameter
             -  getDataStored()
             -  getlistname(name)
             -  getlistadd(address)
             -  getlistweight(start,end)

    Server

                                          Client

Table detail


ตัวอย่าง ข้อมูล


git log Client


git log Server


master : Local
origin/master : Git hub
heroku/master : Heroku

ref:
    heroku : https://gopapa.herokuapp.com/soapAPI1?wsdl
    git-hub : https://github.com/eunhye1999/gopapa