2010-10-18 39 views
6

Tôi có dịch vụ web được triển khai và sẵn sàng để sử dụng. Ứng dụng khách sẽ sử dụng dịch vụ này một cách đồng bộ và cực kỳ thường xuyên. Lượng dữ liệu được trả về từ dịch vụ web cũng đáng kể.Mẫu thiết kế máy khách dịch vụ Web (thực hành tốt nhất)

Ứng dụng khách dịch vụ web là ứng dụng web (portlet liferay). Tôi đã tạo ra một phần khách hàng với trục bên trong nhật thực.

Trong thử nghiệm đầu tiên của tôi, trong mỗi yêu cầu, tôi khởi tạo ServiceProxy mới và gọi các phương thức của nó. Tôi không chắc chắn về độ bền và độ tin cậy của cấu trúc này (tạo một đối tượng proxy mới mỗi lần).

Tôi đã đổi nó thành các lớp tĩnh với proxy đơn, nhưng tôi không chắc chắn điều gì sẽ xảy ra trong các cuộc gọi đồng thời của ứng dụng khách web (các vấn đề tương tranh).

Tôi muốn thiết kế tách ứng dụng web khỏi ứng dụng dịch vụ web và có thứ gì đó giống như bộ nhớ cache proxy của khách hàng (không phải bộ nhớ cache dữ liệu như ứng dụng của tôi là thời gian thực) hoặc một số điều tương tự.

Tôi nghĩ rằng nên có một mẫu thiết kế hoặc thực hành tốt nhất cho các bộ phận máy khách dịch vụ web.

Trả lời

1

Có vẻ như dịch vụ web của bạn sử dụng giao thức HTTP, vì vậy không có lý do để có bộ đệm proxy hoặc thứ gì đó, kết nối được tạo trên mỗi cuộc gọi, vì vậy bạn có thể gọi đồng thời một khách hàng WS đã được khởi tạo một lần.

Nhưng dù sao bạn sẽ trả 200ms cho mỗi cuộc gọi (từ thực tế của tôi), và nó chủ yếu là xử lý XML nếu mạng là siêu.

+0

Zaletniy, Cảm ơn. Cuối cùng nó đã thu hút sự chú ý của người khác sau một tháng! Để nói lại những gì bạn nói, có OK khi có một đối tượng proxy đơn lẻ mà mọi ứng dụng khách sử dụng để truy cập dịch vụ không? –

+0

Có, n.p. tôi nghĩ. Ngoài ra, tôi muốn đề nghị để làm cho một số thử nghiệm đa luồng nặng, bởi vì tôi đã phải đối mặt khi khung xử lý xml được tuyên bố là chủ đề an toàn, nhưng trong thực tế vấn đề đồng thời đến. – zaletniy

Các vấn đề liên quan