Nói chung
- Cấp độ Dịch vụ Web thúc đẩy việc sử dụng lại các yêu cầu dữ liệu chung cho nhiều ứng dụng
- Dịch vụ Web có thể được thiết lập với tính năng quản lý phiên bản giúp làm lệch nhiều vấn đề phát sinh từ việc phát triển mức ứng dụng. Ví dụ: nếu tôi mới tham gia một dự án, ứng dụng hiện có mà tôi sử dụng làm mô hình tốt để định cấu hình ứng dụng của mình để sử dụng các nguồn cơ sở dữ liệu hiện có.
- Dịch vụ Web đã phát triển để cho phép các tùy chọn linh hoạt để gửi yêu cầu và nhận lại kết quả phản hồi ở một định dạng chung như JSON bằng cách sử dụng một URI đơn giản, có nghĩa là các ứng dụng khách có thể được phát triển bằng một tiêu chuẩn chung hơn khuyến khích các giao diện thống nhất đáng tin cậy.
Tôi mới bắt đầu làm quen với ASP.NET Web Api và dự định tạo dịch vụ dữ liệu trước.
Gần đây tôi đã tập trung vào các ứng dụng web .NET MVC với việc sử dụng khung thực thể.
- Nếu bạn đã sử dụng MVC, Web Api cũng sử dụng MVC với bộ điều khiển Api vì vậy đường cong học tập để xây dựng các dịch vụ khá dễ dàng.
Gần đây tôi thấy mình đang rơi vào tình trạng khó chịu với ứng dụng web MVC mà tôi đang xây dựng ban đầu dựa trên các quy trình được lưu trữ của Oracle. Phiên bản gốc là Oracle 9 hoặc thậm chí trước đó đã đưa ra một vấn đề khác với Visual Studio 2012 khi thúc đẩy cách tiếp cận nhà máy kết nối hiện đại hơn với các cụm thời gian tải tìm kiếm các tệp dll phù hợp để sử dụng dựa trên các kết nối cấu hình web và tên TNS.
Không thể kết nối với cơ sở dữ liệu với thông báo lỗi 'không còn được hỗ trợ'. Vì tò mò, tôi đã tải xuống Oracle 12c và tạo một số kết nối cấp ứng dụng hoạt động tốt với tên TNS của tôi và dll lắp ráp tải và tôi có thể làm việc với Oracle mà không gặp vấn đề gì.
Có một số dịch vụ web được xây dựng đang hoạt động với các kết nối với phiên bản Oracle cũ hơn. Chúng được xây dựng với các phương pháp được ánh xạ cụ thể đến các bảng đã chọn, tuy nhiên, tôi thất vọng. Tôi sẽ phải viết của riêng tôi.
Tôi được biết rằng nhóm chịu trách nhiệm duy trì cơ sở dữ liệu Oracle rằng họ sẽ viết các thủ tục mới được lưu trữ để thay thế các thủ tục cũ hơn mà tôi đang sử dụng để trừu tượng hóa giao diện máy khách và các lớp logic nghiệp vụ.
Vì vậy, suy nghĩ đầu tiên của tôi là tất cả các yêu cầu dữ liệu phổ biến như điền vào danh sách thả xuống hoặc tự động hoàn thành với dữ liệu toàn doanh nghiệp đều được thực hiện thông qua các dịch vụ dữ liệu gọi là thủ tục lưu trữ Oracle. Tại sao phải lặp lại quy trình đó trên từng ứng dụng và từng nhà phát triển phải vật lộn với các vấn đề về cấu hình và phiên bản / tải lắp ráp, TNS?
vì thế....
- Đối với nhiều sự cố máy chủ cơ sở dữ liệu, chẳng hạn như sử dụng các thủ tục được lưu trữ của Oracle trong ứng dụng .NET MVC thường có thể đang sử dụng EF cho việc sử dụng dữ liệu SQL Server, tại sao không đẩy những vấn đề đau đầu đó lên các phương pháp dịch vụ Web Api nơi các vấn đề cấu hình đó có thể được tách biệt.
- Một lần nữa, giao diện máy khách có thể được thực hiện bằng JavaScript, JQuery và JSON mà bạn đang sử dụng nếu bạn đang thực hiện việc này bằng cách sử dụng Web Api để thực hiện các yêu cầu dữ liệu SQL Server.
Tôi là Nhà phát triển / Nhà phân tích ứng dụng chứ không phải DBA vì vậy quan điểm của tôi là một trải nghiệm với sự thất vọng không bao giờ dứt khi phải liên tục sửa đổi các ứng dụng khi các công cụ cơ sở dữ liệu phát triển.