Thông thường, các dịch vụ gọi các dịch vụ khác khi họ cần truy cập dữ liệu của họ. Mỗi phần dữ liệu phải thuộc về một dịch vụ cụ thể sẽ là điểm nhập duy nhất để truy cập dữ liệu này và sửa đổi nó. Một số dịch vụ sẽ đơn giản và thường tương ứng chặt chẽ với mô hình miền của bạn (ví dụ: dịch vụ xử lý người dùng) trong khi các dịch vụ khác sẽ ở cấp độ cao và sử dụng dữ liệu từ các dịch vụ khác (ví dụ: hiển thị danh sách ảnh cùng với thông tin về người dùng đã tải lên chúng ).
Trong trường hợp sử dụng của bạn, bạn nên bắt đầu từ bên ngoài và nghĩ về những hoạt động bạn muốn cung cấp cho người dùng của mình thông qua API (nếu đó là dịch vụ phụ trợ) hoặc những hoạt động nào sẽ có sẵn trong GUI nếu đó là ứng dụng web. Lưu ý rằng phần GUI thường là một ứng dụng thông thường có bộ điều khiển riêng: các hoạt động có thể được gọi thông qua REST (như trong AngularJS), nhưng các điểm cuối này chỉ được sử dụng cho ứng dụng GUI và không phải là dịch vụ thông thường.
Giả sử bạn muốn hiển thị ảnh cùng với thông tin về người tải lên. Bạn có thể có một dịch vụ người dùng trả về thông tin về người dùng được cung cấp ID người dùng và dịch vụ ảnh có thể liệt kê ảnh (ví dụ: bằng cách tìm kiếm theo một số tiêu chí). Danh sách ảnh sẽ chứa cho mỗi ảnh ID của người dùng đang tải lên. Bằng cách này, hai dịch vụ này không được ghép nối - dịch vụ ảnh chỉ biết về ID người dùng chứ không biết gì về chính dữ liệu người dùng. Ngoài hai dịch vụ này, bạn có thể tạo một dịch vụ thứ ba với một thao tác như "liệt kê ảnh với thông tin về người tải lên" sẽ gọi hai dịch vụ khác và kết hợp dữ liệu họ trả về. Ngoài ra, hoạt động này có thể được thực hiện bởi ứng dụng web của bạn thay vì một dịch vụ.