У меня есть несколько веб-сервисов на C # .NET / OpenRasta, к которым я постоянно добавляю.
Когда добавляется новый сервис, его часто добавляют, потому что он требуется приложениемкоторый уже использует другой из моих веб-сервисов ... Иногда случается так, что между новым сервисом и существующим существует очевидный синергизм, что означает, что мы можем захотеть вызвать один из них, а затем вызвать другой на возвращенных результатах.
Эти сервисы находятся в одном проекте Visual Studio C # (к лучшему или худшему, это было не мое решение).
Мне нужен существующий API / библиотека илиобразец или часть программного обеспечения (или подталкивание кого-то, говорящего «вы знаете ... OpenRasta может сделать это из коробки»), которое я мог бы использовать, чтобы мой сервис мог взаимодействовать друг с другом, в очень свободном и динамичноммода, прежде чем возвращать результат.
Например: скажем, один из моих сервисов - пользовательское состояние / хранение данных, а другой - геоданные.Приложение может отозвать пользователя из пользовательской службы, а затем просмотреть его IP-адрес с помощью службы геоданных, но для этого потребуется 2 вызова службы из приложения.
Или: скажем, у меня есть служба стандартных данных, котораяпредоставляет мне подробную информацию о продуктах и сервисе уровня складского запаса, который предоставляет мне текущие запасы и суммы для повторного заказа и т. д. Но если бы я хотел получить описание запасов и сумму, которая у нас есть на складе, мне пришлось бы сделать два звонка изприложение.
Что было бы хорошо, если бы я мог получить какую-то платформу, где я мог бы вызвать (что-то вроде) ..
http://www.foo.com/user?id=8890823123&ip=county:geo|country|fromIp
и мой пользовательский объект json вернулся бы сэто ip-адрес, замененный полем с именем "страна", который был разрешен путем передачи ip-адреса в качестве параметра методу службы / geo / country / fromIp.ИЛИ если бы я мог позвонить в биржевые службы, например:
GET
http://www.bar.com/product
{"desc": "/product?id=92236262", "stock":"/stock?id=92236262"}
и вернуть объект json, который выглядел как {"desc": "коричневые кожаные ботинки, размер 9 1/2", "сток": "7 "}
Мне бы очень хотелось сделать это без жесткого кодирования знаний одной службы в другую;чтобы при добавлении нового сервиса любой из существующих мог использовать его для поиска и т. д.
Это то, что мне нужно самому кодировать, или такие вещи уже существуют?