PDA

View Full Version : Re: java Web Services ควรเริ่มต้นจากอะไร ?



man_sss
18-05-2004, 03:08 PM
ผมอยากจะศึกษา java Web Services ควรเริ่มต้นจากอะไรก่อนครับช่วยแน่นำด้วย ขอบคุณมากครับ

momo
19-05-2004, 11:26 PM
ผมคิดว่าถ้าคุณเข้าใจ java ดีแล้วก็ลอง ศึกษา protocal นะครับ

RedAnalyzer
20-05-2004, 12:04 PM
ผมขออณุญาติอธิบายก่อนนะครับว่า Web service คืออะไร(ในความเข้าใจของผม)
Web service มันคือก้าวต่อไปของ Web application โดยมันเป็นมาตรฐานที่ทำให้เราสามารถ "ประกาศ" (Publish) ว่ามี "บริการ" (Services) อะไรเพื่อให้ client application เรียกใช้งานได้

ส่วนประกอบของ Web service มีดังนี้ครับ
- WSDL (Web Services Description Language)
- UDDI (Universal Description Discovery and Integration)
- SOAP (Simple Object Access Protocol)
เริ่มจากบริการต่างๆจะมีเอกสารอธิบายลักษณะและคุณสมบัติกำกับเอาไว้(WSDL) เวลาที่มีผู้ใช้ต้องการจะใช้บริการก็สามารถค้นหาบริการที่ต้องการ (คล้ายๆ search จาก goolgle) ด้วย UDDI Registry ซึ่งการทำงานทั้งหมดจะอยู่บนโปรโตคอลที่ชื่อ SOAP

ยกตัวอย่างให้คุณเห็นภาพ ถ้าผมเขียน Web services ตัวหนึ่งแบบง่ายๆขึ้นมา เป็น Service เครื่องคิดเลขที่ทำได้แค่บวกลบคูณหารเลขสองตัวเข้าด้วยกัน เอกสารที่อธิบายว่าเครื่องคิดเลขของผมจะใช้งานต้องการอะไรบ้าง(ในที่นี้คือตัวเลขสองตัว ซ้ายกับขวา)ก็คือ WSDL ส่วนคนใช้อยากจะหาว่ามี service provider ที่ให้บริการคิดเลขไหม? แต่ละอันอยู่ที่ไหน? ในส่วนนี้ UDDI ก็จะเป็นตัวจัดการ และสุดท้ายตั้งแต่การเริ่มต้นใช้บริการ - ส่งตัวแปร - ส่งผลลัพธ์ ทั้งหมดจะอยู่บน SOAP

วกนอกเรื่องไปหน่อย ที่คุณถามว่าจะเริ่มที่ไหนดีก็ควรเริ่มจากส่วนประกอบของ web services นั่นล่ะครับ (WSDL, UDDI, SOAP) ซึ่ง SOAP ก็คือ XML ดีๆนี่เองส่วน WSDL ก็คือ XML Schema ถ้าคุณรู้เรื่อง XML เป็นอย่างดีก็สามารถพัฒนาเว็บเซอร์วิสต่อไม่ยากครับ

มี tool หลายตัวที่พยายามทำให้เว็บเซอร์วิสเป็นอะไรที่ง่ายขึ้น แบบ Opensource มี Apache Axis นี่ล่ะครับง่ายดี ส่วนพวก commercial ก็มี Systinet กับ Capeclear ครับ

สมมุติเหตุการณ์ในอนาคตที่มีการใช้ Web services เต็มตัวเล่นๆดูครับ :)
- ?นาย ก? นัดหมอผ่านเว็ป ระบบทำการตรวจตารางเวลาว่างของหมอ และ ของคนไข้ แล้วจองเวลาลงในระบบปฏิทินทั้งของคนไข้ และ ของหมอ
- เมื่อถึงวันนัดหมอขอเลื่อนเวลา ข้อมูลการเลื่อนเวลา และเวลานัดใหม่ถูกส่งไปที่โทรศัพท์มือถือของคนไข้โดยอัตโนมัติ
- ก่อนพบหมอ ระบบทำการเชื่อมโยงไปหาระบบประกัน สุขภาพเพื่อขอดูเงื่อนไขการประกัน
- เมื่อหมอสั่งยา ข้อมูลยา ถูกส่งไปดำเนินการสั่งยาที่ร้านยาและ ตัดบัญชีที่ธนาคารโดยอัตโนมัติ

Resources
--------------------------------------------------
- ลองดู Tutorial ของ Sun ดูครับที่ http://java.sun.com/webservices/docs/ea1/tutorial/
- ส่วนอันนี้เป็นบทความที่แนะนำให้อ่านครับ http://webservices.xml.com/pub/a/ws/2001/04/04/webservices/index.html
- อันนี้ที่ Javaworld http://www.javaworld.com/javaworld/jw-08-2001/jw-0831-webservice.html
- Webservices Thai community www.wsiam.com (http://www.wsiam.com)

momo
23-05-2004, 12:24 AM
ขอเสริมหน่อย

ตัว protocal มันไม่ได้มีแค่ 3 ตัวนะครับ มันมีมากกว่านั้น แต่มาตราฐานที่ใช้กันมีเท่านั้น เพื่อใชเป็นตัวกลางติดต่อกันระหว่างหลายๆ ภาษา อย่าง .net ติดต่อกัน java อะไรทำนองนี้

ปล. ถ้างงกับที่ผมพูด ผ่านมันไปครับ ไม่ต้องพยายามทำความเข้าใจอะไรทั้งสิ้น อ่านเพิ่มเติมจากที่ Red หามาให้นั่นหล่ะครับ