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

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

วันอังคารที่ 16 ตุลาคม พ.ศ. 2561

week 10 How to Create Web Service

Step By Step

Tools and Library
1. Python Language
2. Visual Code
3. Pip
4. Git
5. Heroku
6. Flask
7. Zeep
8. Spyne
9. lxml
10. gunicorn

How to install Tools
1. Download Python and install Python
2. install pip
3. Download Git and pip Install git
4. Download Heroku desktop and use comand of heroku for deploy
5. Download Visual Code
6. pip install flask
7. pip install zeep
8. pip install spyne
9. pip install lxml
10. pip install gunicorn

How to Create Basic Web Service (Server)
1. Create Folder Folder name SoapServer
2. Create file name manage.py
3. in file manage.py (จัดการ Port, IP, Path ต่างๆ)


4. Create Folder App
5. Create 2 file flasked.py and spyned.py
6. in file flask.py (สร้าง Server)


7. in file spyned.py (สร้าง Service ต่างๆ)
import library


all 


create Service name HelloWorldService


create Input Out Put of Service


How to Create Basic Web Service (Client)
1. create file soapClinent.py
2. in fil soapClinent.py


Run and Test Program
1. Run Server open cmd(Window) and run python manage.py


2. Open Browser and connect to http://127.0.0.1:8000/soapAPI1/?wsdl

total

 in type


3. Run Client open cmd(Window) and run python soapClient.py


How Deploy to Heroku
1. create file Procfile
2. in Procfile
   

3. open cmd(Window) run pip freeze > requirements.txt if you finish you will see


4. open cmd(Window) run command followed
5. git add .
6. git commit -m "first Commit"
7. open browser for create repository in Heroku



8. in cmd run heroku login 
9. enter your email and password
10. run heroku git:remote -a soapservicetest
11. git push heroku master
12. Finish Basic WebService






วันศุกร์ที่ 14 กันยายน พ.ศ. 2561

week5 Select Topic

Name Space

ใช้ในการหลีกเลี่ยง name conflicts เนื่องจากในการรวมเอกสาร XML จาก XML Application ที่แตกต่างกันนั้นมักจะมีบาง element ชื่อซ้ำกัน ซึ่งปัญหานี้สามารถหลีกเลี่ยงได้ด้วยการใช้งาน prefix
ตัวอย่าง
<?xml version="1.0"?>
<root>
<lib:Book xmlns:lib="http://www.library.com">
   <lib:Title> Sherlock Holmes</lib:Title>
   <lib:Author>Arthur Conan Doyle</lib:Author>
</lib:Book>
<rary:Book xmlns:rary="http://www.library.com">
   <rary:Price>249</rary:Price>
   <rary:Category>Investigative fiction</rary:Category>
</rary:Book>
</root>
เครื่องเดียวกัน
Web Service
Client
code

result

ต่างเครื่องกัน
IP address :
client : 169.254.51.77
server : 169.254.143.235

Web Service
Client
code
result

โลกเดียวกัน
Web Service
Client
code
result

week 4 Select Topic


Xml editor : XML Tree Editor

รูปจาก XML Tree Editor
รูปจาก text editor

Well formed? Valid ?
ความถูกต้องของ XML แบ่งเป็น 2 ระดับ
1.Well-formed เอกสารที่ well-formed คือใช้ syntax ของ XML ถูกต้องตามมาตรฐานทุกอย่าง มีการเปิด-ปิดแท็กที่สมบูรณ์
2.Valid  นอกจาก well-formed แล้ว เอกสารที่ valid ยังต้องใช้แท็ก XML ที่กำหนดเฉพาะใน schema ที่ตกลงกันไว้เท่านั้น
ทดลองเปรียบเทียบ DOM กับ SAX JS
File: enwiki-20110115-abstract1.xml size: 654 MB
counter : 549414 time: 49.193 sec
ram : 13619.9 MB


File: enwiki-20110115-abstract1.xml size: 654 MB
counter : computer ค้างไม่สามารถ Run ได้

ทดลองเปรียบเทียบ DOM กับ SAX PYTHON

File: enwiki-20110115-abstract1.xml size: 654 MB
counter : 549414 time: 28.15239977836609
ram : 6.3 MB

File: enwiki-20110115-abstract1.xml size: 654 MB
counter : Error
ram : 1979.8 MB

Week 3 Selected Topic

Week 3 Selected Topic

XML Schema


คืออะไรซักอย่างที่เอาไว้ใช้อธิบายโครงสร้างเอกสาร XML ,(just like a DTD)
เอกสาร XML ที่มี syntax ถูกต้องเรียกว่า Well Formed
เอกสาร XML ที่ถูก validate โดย XML Schema จะเป็นทั้ง Well Formed และ Valid

XML Schema are more powerful than DTD


XML Schema เขียนด้วย XML
XML Schema are extensible to additions
XML Schema support data types
XML Schema support namespaces

XML Schemas Support Data Types


It is easier to describe document content
It is easier to define restrictions on data
It is easier to validate the correctness of data
It is easier to convert data between different data types

Why Use an XML Schema?
With XML Schema, your XML files can carry a description of its own format.
With XML Schema, independent groups of people can agree on a standard for interchanging data.
With XML Schema, you can verify data.

นำเอา XML ไปใช้






Sitemap คืออะไร


เมื่อใดก็ตามที่ bot ของ search engine ต่างๆ เช่น google, bing มาเก็บข้อมูลของเว็บไซต์เรา มันจะเก็บข้อมูลด้วยการไต่ไปตามลิงค์ต่างๆ และมันจะทำงานได้เร็วขึ้นหากเราสร้างแผนที่ไว้ให้มันไต่เรียบร้อยแล้ว ซึ่งนั่นช่วยลดขั้นตอนในการทำงานของ search engine

XML FILE

XML Parser with Python

 

code python and result

XML Parser with Java Script

ผลที่ได้ 




















Week 2 Selected topic

Week 2 Selected topic

XML คือ

XML คือ XML (Extensible Markup Language) เป็นมาตฐานหลักในการเก็บ รับส่ง และแลกเปลี่ยนข้อมูลระหว่างระบบ ที่แตกต่างกัน โครงสร้างของข้อมูลก็จะประกอบด้วยแท็กต่างๆ ที่สามารถกำหนดแท็กขึ้นมาเองได้ 

ความแตกต่าง XML และ HTML

XML was designed to carry data - with focus on what data is
HTML was designed to display data - with focus on how data looks

XML Parser

คือการแปลความหมายเอกสาร XML บน Browser parser แบ่งได้อย่างง่ายๆดังนี้
DOM คือ ตัว parser จะมองเอกสารเป็นแบบ tree เพราะฉนั้นการเข้าถึงโหนดต่างๆต้องใช้การเดิน (traverse)
SAX คือ ตัว parser จะใช้วิธีผูกเอกสารเข้ากับเหตุการณ์การเขาถึงโหนดต่างๆจะใช้เหตุการณ์ในการเข้าถึง (event)

DOM

เป็นวิธีแปลความหมาย XML (parse) ซึ่งอาศัยหลักการมองเอกสารเป็นแบบต้นไม้ (tree) ในการเข้าถึงโหนดใดๆจะใช้วิธีการเดินเข้าถึง(traverse) และจะมองเอกสารเป็น อ็อบเจ็กต์ ไม่ใช่เพียงข้อมูล
เราสามารถเข้าใจแต่ละ อ็อบเจ็กต์ ด้วย พร็อพเพอร์ตีและ method ต่างๆสำหรับอ็อบเจ็กต์แต่ละตัว 

SAX

SAX จะจัดการเอกสาร XML ตามแนวทางของ Event-Driven Parser โดยมีหลักการคือ จะไม่มีการโหลดเอกสาร XML เข้ามาในหน่วยความจำ แต่จะอ่านเอกสาร XML ไล่ตั้งแต่ root และตัว parser จะสร้าง event ให้กับจุด ( node ) ต่างๆที่สำคัญของเอกสารทุกๆจุด

ประโยชน์ของ XML คือ

- self described data คือความสามารถในการอธิบายความหมายของตัวมันเองได้
- data exchange คือความสามารถในการทำงานข้าม platform ได้
- messaging format คือเป็นบริการด้าน web service
- really simple syndication ( RSS ) เป็นการนำเสนอข่าวในรูปของ RSS
- ดึงข้อมูลมาแสดงได้โดยไม่ต้อง refresh หน้า

XML Syntax Rules

1.Elements ทั้งหมดจะต้องปิดทำการปิดแท็กเสมอ
2.XML เป็น Case Sensitive
3.XML ห้าม "Nested closing" หรือ ห้ามปิดแท็กซ้อนกัน
4.XML ต้องมี Root Element เสมอ
5.ตัวแปลใน XML จะต้องมีเครื่องหมาย Double-Quoted ครอบอยู่เสมอ
6.อักขระบางตัวห้ามใช้เป็นค่า Element
7.การเขียนคอมเม้นท์ในเอกสาร XML


Week 1 Selected Topic เสนอ project

Week 1 Selected Topic


Web app คำนวณเงินเกษียณ+รายรับรายจ่าย


คืออะไร Web app ที่ใช้ในการคำนวณจำนวนเงินที่ต้องเก็บให้ได้ในตอนเกษียณ เพื่อให้มีเงินใช้ตลอดการเกษียณอายุ และสามารถบันทึกรายรับรายจ่ายได้ด้วย


ทำไมต้องทำ สมมติว่าเราอายุ 22 ปีเกษียณที่อายุ 60 ปีตายตอนอายุ 100 ปีอัตราเงินเฟ้อเฉลี่ย 3.5% ต่อปี ก่อนเกษียณเราลงทุนได้ผลตอบแทน 10% ต่อปี หลังเกษียณ 5% ต่อปี เงินที่เราต้องเก็บต่อเดือนคือ 1843 บาทต่อเดือน
ด้วยเงื่อนไขเดียวกันหากเราเริ่มเก็บเงินตอนอายุ 30 ปี เงินที่เราต้องเก็บต่อเดือนจะกลายเป็น 3195 บาทต่อเดือน

ประโยชน์ของ App
1. รู้เงินที่ต้องเก็บให้ได้ตอนเกษียณ 
2. รู้เงินที่ต้องเก็บให้ได้ต่อเดือน
3. การบันทึกรายรับรายจ่ายทำให้เรารู้ว่าพฤติกรรมของเราเป็นไปในทางที่ทำให้มีเงินพอใช้หลังเกษียณหรือไม่

Web app  จัดการหอพัก


คือ webapp ที่จะบอก ค่าห้องของแต่ละห้องตอนสิ้นเดือน และถ้ามีนโยบายไหม่ของหอ ก็จะประกาศ อาจมีการแจ้งเตือนทาง e-mail หรือ line

ทำไมต้องทำ ทุกวันนี้ หอพักส่วนใหญ่จะแจ้งค่าหอ โดยการส่งใบเสร็จมา และ จะติดประกาศนโยบายหน้าหอ

ประโยชน์ 
- สะดวกสบายต่อผู้พักอาศัย
- สะดวกสบายต่อผู้จัดการหอพัก
- ผู้พักอาศัยสามารถรู้นะโยบายของหอได้ง่ายและรวดเร็ว
- สามารถรู้ค่าหอพักจากที่ไหนก็ได้