ฉันกำลังเริ่มโครงการ Java ใหม่ซึ่งจะต้องมี RESTful API มันจะเป็นแอปพลิเคชันธุรกิจ SaaS ที่ให้บริการลูกค้ามือถือ
ฉันได้พัฒนาโครงการหนึ่งกับ Java EE 6 แต่ฉันไม่คุ้นเคยกับระบบนิเวศมากนักเนื่องจากประสบการณ์ส่วนใหญ่ของฉันอยู่บนแพลตฟอร์ม Microsoft
ซึ่งจะเป็นตัวเลือกที่เหมาะสมสำหรับการใช้งาน JAX-RS สำหรับโครงการใหม่เช่นที่อธิบายไว้
ตัดสินจากรายการของวิกิพีเดียดูเหมือนว่าคู่แข่งหลักคือ Jersey, Apache CXF, RESTeasy และ Restlet แต่การเปรียบเทียบการนำ JAX-RS ไปใช้ในวิกิพีเดียนั้นมาจากปี 2008
ความประทับใจครั้งแรกของฉันจากหน้าแรกของพวกเขาคือ:
- CXFตั้งเป้าหมายที่จะเป็นโซลูชั่นที่ครอบคลุมมาก (เตือนให้ฉันนึกถึง WCF ในพื้นที่ของ Microsoft) ซึ่งทำให้ฉันคิดว่ามันมีความซับซ้อนในการเข้าใจการตั้งค่าและการดีบักมากกว่าสิ่งที่ฉันต้องการ
- Jerseyเป็นการนำมาใช้อ้างอิงและอาจเป็นทางเลือกที่ดี แต่เป็นมรดกจาก Sun และฉันไม่แน่ใจว่า Oracle จัดการกับมันอย่างไร (หน้าประกาศไม่ทำงานและการแจ้งเตือนครั้งล่าสุดจาก 4 เดือนก่อน);
- RESTeasyมาจาก JBoss และอาจเป็นตัวเลือกที่ดีแม้ว่าฉันจะไม่แน่ใจเกี่ยวกับการเรียนรู้
- ดูเหมือนว่าRestletจะได้รับความนิยม แต่มีประวัติมากมายฉันไม่แน่ใจว่ามันทันสมัยใน Java EE 6 โลกหรือว่ามี J2EE ที่หนัก (เช่นการกำหนดค่า XML จำนวนมาก)
อะไรคือข้อดีของทางเลือกเหล่านี้? แล้วการเรียนรู้โค้ง สนับสนุนคุณสมบัติหรือไม่ เครื่องมือ (เช่นตัวช่วยสร้าง NetBeans หรือ Eclipse) ความง่ายในการดีบักและการปรับใช้คืออะไร โครงการเหล่านี้เป็นปัจจุบันมากกว่าโครงการอื่นหรือไม่ มีความเสถียรเพียงใด