คำถามติดแท็ก web-services

บริการบนเว็บเป็นระบบซอฟต์แวร์ที่ออกแบบมาเพื่อรองรับการทำงานร่วมกันระหว่างเครื่องกับเครื่องผ่านเครือข่าย

7
นี่คือ "รูปแบบต่อต้าน" และฉันควรหยุดใช้หรือออกแบบที่ฉลาดนี้หรือไม่?
ฉันมักจะทำต่อไปนี้เมื่อสร้างบริการ REST: มีการร้องขอ HTML บริการส่งคืนหน้าเว็บที่ต้องการ แต่ไม่มี "ทรัพยากร" ที่ร้องขอเช่น ข้อมูล หน้าเว็บมี JavaScript ที่ออกคำขอ AJAX ไปยังบริการเดียวกัน (ประเภทเนื้อหาที่แตกต่างกัน) บริการจะส่งคืนข้อมูลจริง (JSON) และหน้าแสดงข้อมูลนั้น ในอีกด้านหนึ่งดูเหมือนว่าไม่มีประสิทธิภาพ (2 คำขอ) แต่หลังจากนั้นฉันก็ใช้สิ่งนี้ "ประสิทธิภาพการทำงานไม่มีความกังวล" หมายถึงแอพภายในที่มีปริมาณการใช้งานต่ำและเว็บไซต์ง่ายและโหลดเร็ว เหตุผลที่ฉันลงเอยด้วยเหตุผลนี้ก็คือหน้าเว็บนั้นเกือบจะบริสุทธิ์ Html + JavaScript และแทบจะไม่จำเป็นต้องมีสิ่งที่ฝั่งเซิร์ฟเวอร์โดยเฉพาะอย่างยิ่งไม่มีการวนซ้ำเพื่อสร้างตารางและสิ่งต่าง ๆ เช่นนั้น (ซึ่งฉันคิดว่าน่าเกลียดมาก เช่น slickgrid) เช่นการแยกข้อมูลและมุมมอง ตอนนี้ก่อนที่ฉันจะใช้สิ่งนี้เป็นความคิดที่ดีหรือฉันควรหยุดทำหรือไม่

1
วิธีการสร้างเลเยอร์บริการที่ดีใน ASP.NET?
ฉันได้ดูคำถามเทคโนโลยีการสร้างเลเยอร์บริการที่ดี แต่ฉันมีคำถามบางอย่างเกี่ยวกับเรื่องนี้ที่ฉันต้องการความช่วยเหลือ ก่อนอื่นข้อมูลเกี่ยวกับสิ่งที่ฉันมีสำหรับความต้องการ ขณะนี้เรามีแอปพลิเคชั่นเว็บจำนวนมากที่พูดคุยกันในแบบแมงมุมใยแมงมุม (ทั้งหมดพูดคุยกันในลักษณะสับสนผ่านเว็บเซอร์และฐานข้อมูล) เราต้องการเปลี่ยนแปลงสิ่งนี้เพื่อให้แอปพลิเคชันทั้งหมดผ่านเลเยอร์บริการที่เราสามารถทำงานได้มากขึ้นด้วยแคชและแค็ปซูลฟังก์ชั่นทั่วไปและอีกมากมาย เราต้องการให้เลเยอร์นี้มี Web API เพื่อให้ลูกค้าบุคคลที่สามสามารถใช้ข้อมูลจากบริการได้ ปัญหาที่ฉันเห็นคือถ้าเราสร้างเลเยอร์บริการด้วยพูด MVC4 Web API เราไม่จำเป็นต้องสื่อสารระหว่างแอปพลิเคชันที่ใช้ webAPI ซึ่งหมายความว่าเราต้องสร้าง URL และใช้ JSON / Xml ที่ไม่ได้เสียงที่มีประสิทธิภาพเกินไป ฉันคิดว่าวิธีที่ดีกว่านี้คือการทำงานกับเอนทิตีและ WCF เพื่อสื่อสารระหว่างแอปพลิเคชัน แต่ถ้าอย่างนั้นเราอาจจะสูญเสียเวทย์มนตร์ Web API? ดังนั้นคำถามคือหากมีวิธีการใช้เลเยอร์บริการทั้ง Web API (JSON / XML) และเป็นเลเยอร์บริการแบ็คเอนด์ที่มีเอนทิตี้มากกว่า หากเราถูกบังคับให้ใช้ 2 ชั้นบริการที่แตกต่างกันเราอาจต้องทำซ้ำฟังก์ชั่นบางอย่างและสิ่งเลวร้ายอื่น ๆ หวังว่าคำถามจะชัดเจนเพียงพอและโปรดถามหากคุณต้องการข้อมูลเพิ่มเติม

6
ฉันต้องการบริการเว็บตัวสร้างหมายเลขสุ่มที่แท้จริง [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา Random.org มอบบิตสุ่มฟรี 200k (เฉพาะจำนวนเต็ม 6250 32- บิตเท่านั้น!) จากโลกอนาล็อก ( เทียบกับ ) ต่อ IP ต่อวัน ไม่มีใครรู้ว่าบริการเว็บทางเลือกที่ให้บิตสุ่มตามความต้องการมากขึ้นต่อวัน? (การจ่ายเงินจะโอเคตราบใดที่ราคา "ภายในความคาดหวัง" ของ 1,000 × 1024 บิตต่อ usd) (ค่าบริการจ่ายแบบสุ่มของ random.org 100 ×ราคานี้)

2
โครงสร้าง URL RESTful ที่ดีที่สุดสำหรับทรัพยากรแบบเรียกซ้ำคืออะไร
ฉันกำลังสร้างบริการ RESTfull สำหรับโครงสร้างทรัพยากรแบบต้นไม้และสงสัยว่าโครงสร้าง URL ที่ดีที่สุดจะเป็นอย่างไร ฉันมีข้อกำหนดสามข้อ: สามารถรับทรัพยากรรูทได้ สามารถรับทรัพยากรส่วนบุคคล สามารถรับทรัพยากรเด็กได้ ความคิดปัจจุบันของฉันคือ /rest/documents /rest/documents/{id} /rest/documents/{id}/documents ฉันยังคิดว่าจะไปตามเส้นทางเอกพจน์ / พหูพจน์เพื่อแสดงรายการหรือองค์ประกอบแต่ละอย่าง แต่ฉันรู้ว่าฉันจะมีทรัพยากรที่เป็นพหูพจน์เดียวกับที่เป็นเอกพจน์ดังนั้นตัดสินใจต่อสิ่งนี้ ไม่มีใครมีความคิดใด ๆ ข้างต้น? หรือมีวิธีที่แตกต่าง / ดีกว่าในการจัดโครงสร้างสิ่งนี้

2
Microservices & Canonical model
เมื่อฉันอ่านเกี่ยวกับไมโครไซต์บนเว็บไซต์นี้ฉันเจอคำแถลงด้านล่าง สกีมาแบบบัญญัติมีความหมายอย่างไร มันไม่เหมือนกับโมเดลโดเมนใช่ไหม รูปแบบสถาปัตยกรรม Microservices ปฏิเสธส่วนอื่น ๆ ของ SOA เช่นแนวคิดของ schema แบบบัญญัติ

3
CRUD API: คุณจะระบุฟิลด์ที่จะอัปเดตได้อย่างไร
สมมติว่าคุณมีโครงสร้างข้อมูลบางประเภทซึ่งยังคงอยู่ในฐานข้อมูลบางประเภท เพื่อความง่ายเราจะเรียกโครงสร้างข้อมูลPersonนี้ ขณะนี้คุณได้รับมอบหมายให้ออกแบบ CRUD API ซึ่งอนุญาตให้แอปพลิเคชันอื่นสร้างอ่านอัปเดตและลบPersons เพื่อความง่ายลองสมมติว่า API นี้เข้าถึงได้ผ่านบริการเว็บบางประเภท สำหรับชิ้นส่วน C, R และ D ของ CRUD การออกแบบนั้นง่าย ฉันจะใช้เครื่องหมายคล้ายฟังก์ชัน C # - การใช้งานอาจเป็น SOAP, REST / JSON หรืออย่างอื่น: class Person { string Name; DateTime? DateOfBirth; ... } Identifier CreatePerson(Person); Person GetPerson(Identifier); void DeletePerson(Identifier); แล้วการอัพเดตล่ะ? สิ่งที่ต้องทำตามธรรมชาติคือ void UpdatePerson(Identifier, Person); แต่วิธีการที่คุณจะต้องระบุให้ซึ่งด้านของPersonการอัปเดต? วิธีแก้ปัญหาที่ฉันสามารถทำได้: คุณสามารถกำหนดให้บุคคลที่สมบูรณ์ต้องผ่านเช่นลูกค้าจะทำสิ่งนี้เพื่ออัปเดตวันเกิด: …

2
REST หรือคิวข้อความในระบบที่ต่างกันหลายระดับ?
ฉันออกแบบ API REST สำหรับระบบสามชั้นเช่น: Client application-> ->Front-end API cloud serveruser's home API server (Home) Homeเป็นอุปกรณ์บ้านและควรจะรักษาเชื่อมต่อFront-endผ่าน WebSocket หรือโพลล์ยาว(นี้เป็นสถานที่แรกที่เรากำลังละเมิด REST. จะได้รับก็แย่ภายหลัง) Front-endช่องสัญญาณส่วนใหญ่Clientร้องขอการHomeเชื่อมต่อและจัดการการโทรบางตัว บางครั้งส่งการแจ้งเตือนไปยังHomeClient Front-endและHomeมี API เดียวกันโดยทั่วไป Clientอาจเชื่อมต่อHomeโดยตรงผ่าน LAN ในกรณีนี้Homeจำเป็นต้องลงทะเบียนClientการกระทำบางอย่างกับFront-endตัวเอง ข้อดีสำหรับ REST ในระบบนี้คือ: REST สามารถอ่านได้โดยมนุษย์ ส่วนที่เหลือมีการทำแผนที่กริยาที่กำหนดไว้อย่างดี (เช่น CRUD) คำนามและรหัสการตอบสนองกับวัตถุโปรโตคอล; มันทำงานผ่าน HTTP และส่งผ่านผู้รับมอบฉันทะที่เป็นไปได้ทั้งหมด; ส่วนที่เหลือ REST คือ: เราไม่เพียง แต่ต้องการสไตล์การสื่อสารที่ตอบสนองการร้องขอเท่านั้น รหัสข้อผิดพลาด HTTP อาจไม่เพียงพอสำหรับจัดการข้อผิดพลาดการสื่อสารสามระดับ Front-endอาจจะกลับ202 Acceptedไปโทร async …

5
คำแนะนำสำหรับการตั้งค่าการพัฒนาเว็บเซิร์ฟเวอร์ที่ดี [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ประมาณหนึ่งเดือนที่ผ่านมาฉันสร้าง LAMP stack อันแรกของฉันและติดตั้งเว็บไซต์อย่างง่าย ๆ ที่ใช้ตัวอักษรแต่ละตัวในตัวย่อนั้น อย่างไรก็ตามการตั้งค่าการพัฒนาของฉันก็น้อยกว่าอุดมคติ ฉันไม่ได้จริงๆมีเซิร์ฟเวอร์ทดสอบท้องถิ่น แต่ผมเขียนทั้งหมดของสคริปต์ CGI ของฉันในขณะที่กลุ่ม ssh'ed ลงในเครื่องระยะไกลเป็นราก ตอนนี้ฉันตั้งใจจะเริ่มการพัฒนาที่จริงจังยิ่งขึ้น คำถาม:อะไรคือการตั้งค่าที่ดีเพื่อให้การพัฒนาดำเนินไปอย่างง่ายดายที่สุด ฉันต้องการที่จะเข้าใจสิ่งที่มีให้ฉันตามสายของ IDE, การโค่นล้ม (หรือทางเลือก) การอัปโหลดและดาวน์โหลดเนื้อหาและแนวทางปฏิบัติที่ดีที่สุด ฉันใหม่ทั้งหมดนี้ นอกจากนี้อย่าลังเลที่จะชี้ให้ฉันที่เว็บไซต์ที่ดี มีเว็บไซต์มากมาย แต่มีเพียงคนที่พัฒนาเนื้อหาเว็บอย่างหนักอยู่แล้วเท่านั้นที่สามารถระบุได้อย่างรวดเร็วว่าเป็นเว็บไซต์ที่ดีหรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.