วันพฤหัสบดีที่ 4 มิถุนายน พ.ศ. 2558

การพัฒนาเว็บเซอร์วิสโดยใช้เทคโนโลยีจาวา

การพัฒนาเว็บเซอร์วิสโดยใช้เทคโนโลยีจาวา
         บอกเลยก่อนหน้าผมนี่งงตาแตกเลย ทำไมมันเยอะจังหว่ะ  JAX-WS,JAXB ,JAXP ,SAAJ ,JAX-RPC,WSIT ยั๊วเยี้ยไปหมด
ผมจะลองอธิบายขำๆนะครับเผื่อจะมีคนผ่านมาอ่านดู
ในการที่เราจะ การพัฒนาเว็บเซอร์วิส เราจะสามารถที่แบ่งตามบทบาทของคนที่เกี่ยวข้องหลักๆคือ
1. การพัฒนาเพื่อเป็นผู้ให้บริการ หรือ เรียก แบบเท่ห์ๆ Service Provider
2. การพัฒนาสำหรับ Service Registry คือ เป็นกลางในการเก็บ Service Provider ไว้ให้ Service Provider มาลงทะเบียนไว้ นั่นเองข่รัพ
และ เทคโนโลยีของโลกจาวาที่สามารถจะพัฒนาเว็บเซอร์วิสได้จะอยู่ในแพลตฟอร์มที่ เป็น Java EE โดยใน Java EE 5 (วันหลังเรามา Update Java EE 6 หุๆ)
ได้มีการกำหนดคำสั่ง API สำหรับภาษาจาวาในการเรียกใช้ XMLต่างๆ  อย่างที่เรา เข้าใจนะครับคือว่า การแลกเปลี่ยนข้อมูลระหว่าง WebService จะใช้ XML ในการ แลกเปลี่ยน ดังนั้น ทาง Java EE จึงได้เตรียม
API ไว้ค่อนข้างเยอะ และ ถ้าเราไม่รู้ว่าแต่ละตัวเอาไว้ทำอะไรบอกเลย งง หลง ทางเข้าป่าดงไปเจอเสือกินแน่ๆ ครับอย่างที่ ผมเคยเจอ มาแล้วครับ ฮ่าๆ มันก็มีดังต่อไปนี้

· JAX-WS (Java API for XML-Based Web Services)
    คือ ตัวนี้จะเป็น API ที่เอาไว้ใช้สร้าง เว็บเซอร์วิสและเรียกใช้เว็บเซอร์วิส     โดยที่มันจะสนับสนุนมาตรฐานต่างๆของ W3C ระดับโลกเลยนะฮ่ะ
    เช่น SOAP และ  WSDL และสนับสนุนการส่งข้อมูลทั้งแบบ Asynchronous และ Synchronous
    และพร้อมทั้งทำการ binding ข้อมูลโดยใช้ JAXB ดังนั้น Developer สามารถใช้ภาษาจาวาสร้างและเรียกเว็บเซอร์วิสได้ โดยไม่จำเป็นต้องพัฒนา SOAP หรือ WSDL เอง  ถ้าสร้าง SOAP เองยาวเลย
    สรุปง่ายๆ บ้านๆ คือ เราไม่ต้อง สร้าง SOAP หรือ  WSDL เอง นั่นเองครับ

· JAXB (Java Architecture for XML Binding)
    คือ ตัวนี้จะเป็น API ภาษาจาวาเพื่อทำการจับคู่ (mapping) ข้อมูลที่เป็นภาษา XML กับออปเจ็คที่เป็นจาวาคลาส  งงไหมครับ
คือ มันจะเอาไปใช้ ร่วมกับ JAX-WS คือว่าเวลาเราเรียก Web Services จะมีการส่ง พารามิเตอร์ ระหว่าง service provider และ service requester
ความนี้มันต้องทำการ Mapping ให้เราโดยอัตโนมัติ  นั่นเองครับ

· JAXP (Java API for XML Processing) เป็น APIของจาวาเพื่อแปล แปลง ตรวจสอบความถูกต้อง และค้นหา เอกสารหรือไฟล์ที่เป็นภาษา XML
    สรุป ตัวนี้ xml parser ตัวอย่าง คลาส javax.xml.*  

· SAAJ (SOAP with Attachments API for Java) เป็น APIภาษาจาวาเพื่อสนับสนุนการส่งเอกสาร XML ผ่านอินเตอร์เน็ต
    คือ เมื่อเราต้องการส่ง attachment ไปกับ SOAP message ด้วย ... ซึ่ง attachment ที่ว่านี้คือ
     content อะไรก็ได้ (อาจจะเป็น binary file หรือ text content ที่ encode ด้วย encoding ใดๆ)
     ลักษณะจะคล้ายๆ กับการ upload file ด้วย browser ครับ (จริงๆ แล้ว บน HTTP
     การส่ง attachment ไปกับ SOAP message ก็คือการใช้ multi-part request นั่นเอง)

· JAX-RPC (Java API for XML-Based RPC) เป็น API สำหรับพัฒนาเว็บเซอร์วิสเช่นเดียวกับ JAX-WS แต่จะใช้สำหรับ J2EE เวอร์ชัน 1.4 และสนับสนุน SOAP 1.1 อ่า ทุกวันนี้ไม่ค่อยใช้กันแล้ว
ผมสร้าง WebService ครั้งแรกก็ใช้ JAX-WS แล้วค๊าบบบบบบบ

· WSIT (Web Services Interoperability Technology) เป็น API อีกอย่างของจาวาเพื่อเชื่อมโยงระหว่าง Java EE และ .NET 3.0 ช่วยในการพัฒนาโปรแกรมผ่านสถาปัตยกรรม SOA
อันนี้ผมไม่มีความรู้ ขอค้างก่อนนะครับ รู้แบบ งูๆปลาๆ ไว้เข้าใจถ่องแท้แล้วจะมี แชร์นะครับ

 

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

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