2008-12-18 22 views
6

Nếu bạn định bắt đầu phát triển API cho ứng dụng web của mình. Có bất kỳ loại nguyên tắc nào, phương pháp hay nhất hoặc tiêu chuẩn để xây dựng dịch vụ web hay không. Tôi đã thấy một vài cuộc thảo luận trong chủ đề này và tôi muốn nhận thêm thông tin.Có tiêu chuẩn dịch vụ web (API) hoặc thực tiễn tốt nhất cho các nhóm phát triển không?

Ít nhất có được các gợi ý về nơi nhận thông tin.

Xin cảm ơn trước.

+0

Bạn đã quyết định trên nền tảng chưa? Java, C#, cái gì khác? Bạn đang chết vì sử dụng SOAP hay bạn mở một cái gì đó RESTful thay vào đó? –

Trả lời

1

API 101

Tôi dán URL này như một xấp xỉ gần của câu trả lời có thể. Vì tôi đã không nhận được bất kỳ câu trả lời nào khác, tôi nghĩ rằng điều này là gần như nó được.

Tôi muốn có thêm phác thảo thực hành chi tiết nhất, nếu ai đó tìm thấy điều gì đó tốt hơn, hãy cho tôi biết để đánh dấu câu trả lời của họ là được chấp nhận.

1

Có tồn tại nhiều loại và vĩ độ về "dịch vụ web". Tôi thấy hữu ích khi ghi chú rõ ràng về những gì chúng ta đang nói về:

web = transported over HTTP(S) 
service = remote procedure call (RPC) 

Lưu ý rằng phần HTTP (S) này chỉ xác định phương tiện giao thông, chứ không phải nội dung. Cũng lưu ý rằng phần RPC của điều này chỉ xác định hành vi (về cơ bản gọi một hàm được đặt tên từ xa với các đối số trả về một kết quả) nhưng không phải là nội dung.

Câu hỏi quan trọng nảy sinh là liệu bạn có kiểm soát được cả hai mặt của giao tiếp hay không. Nếu vậy, nhưng đặc biệt là nếu không, bạn cần phải quan tâm về khả năng tương tác.

SOAP là tiêu chuẩn để triển khai dịch vụ web chỉ định sử dụng XML được định dạng cụ thể cho nội dung của yêu cầu và phản hồi. Nó là RẤT nặng, và vẫn còn có vấn đề với khả năng tương tác trên nhiều triển khai khác nhau.

Có rất nhiều triển khai tùy chỉnh, hầu hết trong số đó là nhẹ hơn, nhưng bạn gần như chắc chắn sẽ có vấn đề về khả năng tương tác.

Vì bất kỳ hình thức nội dung nào có thể được sử dụng để đạt được dịch vụ web, tôi khuyên bạn nên chọn thứ gì đó có thể xử lý nội dung phức tạp (với các mức độ khác nhau), chuẩn hóa, nhẹ và mạnh mẽ.

Tôi gần đây đang hướng tới JSON cho định dạng nội dung. Tôi khuyên bạn nên xem xét tương tự, đặc biệt là nếu bạn đang xem xét việc thực hiện AJAX.

Lời chúc tốt đẹp nhất.

0

Nếu bạn có thể trả lời một số câu hỏi này, bạn có thể nhận được câu trả lời thỏa đáng hơn.

  1. khán giả sẽ sử dụng dịch vụ này ở đâu?
  2. Loại công nghệ khách hàng nào sẽ sử dụng dịch vụ
  3. bạn có thể đặt những giả định/hạn chế nào cho chúng (nền tảng, công cụ, kỹ năng bộ)?
  4. API của bạn rộng bao nhiêu - bạn sẽ hiển thị bao nhiêu phương pháp?
  5. Cân nhắc bảo mật - bạn cần bảo mật như thế nào?
  6. Bạn có cần hỗ trợ giao dịch không?
Các vấn đề liên quan