Spring WS - ภาพรวม

Spring Web Services (Spring-WS) เป็นหนึ่งในโครงการที่พัฒนาโดย Spring Community เป้าหมายหลักคือการสร้าง Web Services ที่ขับเคลื่อนด้วยเอกสาร โครงการ Spring Web Services ช่วยอำนวยความสะดวกในการทำสัญญาก่อนSOAP Service Developmentมีหลายวิธีในการสร้างบริการเว็บที่ยืดหยุ่นซึ่งสามารถจัดการเพย์โหลด XML ได้หลายวิธี

บริการเว็บของ Spring ใช้แนวคิดของ Spring เช่นการฉีดแบบพึ่งพาและการกำหนดค่าอย่างราบรื่น Spring-WS ต้องการเวอร์ชัน Spring 3.0 เราเริ่มต้นด้วยการพัฒนาตามสัญญาก่อนWSDL Contract จากนั้นจะใช้ JAVA เพื่อดำเนินการตามสัญญาที่กำหนด

ตรงข้ามกับแนวทางสุดท้ายของสัญญาที่อินเทอร์เฟซ JAVA สร้างสัญญา WSDL / XSD สัญญาที่ใช้ WSDL ยังคงเป็นอิสระจากการใช้งาน JAVA ในแนวทางแรกของสัญญา ในกรณีที่เราต้องการเปลี่ยนอินเทอร์เฟซ JAVA ไม่จำเป็นต้องแจ้งการเปลี่ยนแปลงที่เกิดขึ้นในสัญญา WSDL ที่มีอยู่ให้ผู้ใช้บริการเว็บทราบ Spring-WS มีจุดมุ่งหมายเพื่อให้มีการเชื่อมต่อแบบหลวม ๆ ระหว่างสัญญา WSDL และการใช้งาน JAVA

คุณสมบัติ

ต่อไปนี้เป็นคุณสมบัติของ Spring Web Services -

  • XML Mapping to Objects - คำขอที่ใช้ XML สามารถแมปกับออบเจ็กต์ใดก็ได้โดยใช้ข้อมูลที่เก็บไว้ใน Message Payload, SOAP Action Header หรือโดยใช้ XPath Expression

  • Multiple API Support to parse XML - นอกเหนือจาก JAXP API มาตรฐาน (DOM, SAX, StAX) เพื่อแยกวิเคราะห์คำขอ XML ที่เข้ามาแล้วยังรองรับไลบรารีอื่น ๆ เช่น JDOM, dom4j, XOM

  • Multiple API Support to marshal XML- Spring Web Services รองรับไลบรารี JAXB 1 และ 2, Castor, XMLBeans, JiBX และ XStream โดยใช้โมดูลการแมป Object / XML โมดูล Object / XML Mapping สามารถใช้ในโค้ดที่ไม่ใช่เว็บเซอร์วิสได้เช่นกัน

  • Spring based configurations - Spring Web Services ใช้ Spring Application Contexts สำหรับการกำหนดค่าที่มีสถาปัตยกรรมคล้ายกับ Spring Web MVC

  • Integrated WS-Security module - เมื่อใช้โมดูล WS-Security คุณสามารถลงชื่อเข้ารหัสถอดรหัสข้อความ SOAP หรือรับรองความถูกต้องได้

  • Support for Acegi Security - การใช้การใช้ WS-Security ของ Spring Web Services สามารถใช้การกำหนดค่า Acegi สำหรับบริการ SOAP ของคุณได้

สถาปัตยกรรม

โครงการ Spring-WS ประกอบด้วยโมดูลหลัก 5 โมดูลซึ่งอธิบายไว้ด้านล่าง

  • Spring-WS Core - เป็นโมดูลหลักและมีอินเทอร์เฟซส่วนกลางเช่น WebServiceMessage และ SoapMessage, เฟรมเวิร์กฝั่งเซิร์ฟเวอร์, ความสามารถในการจัดส่งข้อความที่มีประสิทธิภาพและคลาสที่สนับสนุนเพื่อใช้ปลายทางของบริการเว็บ นอกจากนี้ยังให้บริการ Web Service ไคลเอนต์ผู้บริโภคอีกด้วยWebServiceTemplate.

  • Spring-WS Support - โมดูลนี้รองรับ JMS อีเมล ฯลฯ

  • Spring-WS Security- โมดูลนี้มีหน้าที่จัดเตรียมการใช้งาน WS-Security ที่รวมเข้ากับโมดูลบริการเว็บหลัก เมื่อใช้โมดูลนี้เราสามารถเพิ่มโทเค็นหลักเซ็นชื่อเข้ารหัสและถอดรหัสข้อความ SOAP โมดูลนี้อนุญาตให้ใช้ Spring Security Implementation ที่มีอยู่สำหรับการพิสูจน์ตัวตนและการอนุญาต

  • Spring XML- โมดูลนี้มีคลาสการสนับสนุน XML สำหรับ Spring Web Services โมดูลนี้ใช้ภายในโดย Spring-WS framework

  • Spring OXM - โมดูลนี้มีคลาสรองรับ XML เทียบกับ Object Mapping