{"action":"created","issue":{"url":"https://api.github.com/repos/dibley1973/OpenRMS/issues/20","repository_url":"https://api.github.com/repos/dibley1973/OpenRMS","labels_url":"https://api.github.com/repos/dibley1973/OpenRMS/issues/20/labels{/name}","comments_url":"https://api.github.com/repos/dibley1973/OpenRMS/issues/20/comments","events_url":"https://api.github.com/repos/dibley1973/OpenRMS/issues/20/events","html_url":"https://github.com/dibley1973/OpenRMS/issues/20","id":182116414,"number":20,"title":"Dependencies between contexts","user":{"login":"johncollinson2001","id":13622412,"avatar_url":"https://avatars.githubusercontent.com/u/13622412?v=3","gravatar_id":"","url":"https://api.github.com/users/johncollinson2001","html_url":"https://github.com/johncollinson2001","followers_url":"https://api.github.com/users/johncollinson2001/followers","following_url":"https://api.github.com/users/johncollinson2001/following{/other_user}","gists_url":"https://api.github.com/users/johncollinson2001/gists{/gist_id}","starred_url":"https://api.github.com/users/johncollinson2001/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johncollinson2001/subscriptions","organizations_url":"https://api.github.com/users/johncollinson2001/orgs","repos_url":"https://api.github.com/users/johncollinson2001/repos","events_url":"https://api.github.com/users/johncollinson2001/events{/privacy}","received_events_url":"https://api.github.com/users/johncollinson2001/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dibley1973/OpenRMS/labels/Discussion%20Point","name":"Discussion Point","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-10-10T21:09:43Z","updated_at":"2016-10-11T00:04:11Z","closed_at":null,"body":"I would imagine contexts will have dependencies on each other - e.g. the stock context looking up a list of products or something.\r\n\r\nHow will we manage these dependencies? \r\n\r\nIf each context is wrapped up as a micro service, surely the other contexts should use the service as per any other type of client? Should we expose the micro service as both REST and a standard assembly reference? \r\n\r\nNo idea what the correct answer is here, open for discussion....."},"comment":{"url":"https://api.github.com/repos/dibley1973/OpenRMS/issues/comments/252777562","html_url":"https://github.com/dibley1973/OpenRMS/issues/20#issuecomment-252777562","issue_url":"https://api.github.com/repos/dibley1973/OpenRMS/issues/20","id":252777562,"user":{"login":"jadjare","id":5900886,"avatar_url":"https://avatars.githubusercontent.com/u/5900886?v=3","gravatar_id":"","url":"https://api.github.com/users/jadjare","html_url":"https://github.com/jadjare","followers_url":"https://api.github.com/users/jadjare/followers","following_url":"https://api.github.com/users/jadjare/following{/other_user}","gists_url":"https://api.github.com/users/jadjare/gists{/gist_id}","starred_url":"https://api.github.com/users/jadjare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jadjare/subscriptions","organizations_url":"https://api.github.com/users/jadjare/orgs","repos_url":"https://api.github.com/users/jadjare/repos","events_url":"https://api.github.com/users/jadjare/events{/privacy}","received_events_url":"https://api.github.com/users/jadjare/received_events","type":"User","site_admin":false},"created_at":"2016-10-11T00:04:11Z","updated_at":"2016-10-11T00:04:11Z","body":"> If each context is wrapped up as a micro service, surely the other contexts should use the service as per any other type of client?\r\nYes, I think each context must talk via the service API's... If the chosen API is via REST then this should be the mechanism for all communication\r\n\r\n> Should we expose the micro service as both REST and a standard assembly reference?\r\nPersonally I don't think it would be a good idea to have more than one service API per bounded context.  I think it could end up with different developers making mix and match decisions on how to communicate between contexts.  That said I don't think that means that a bounded context cannot only expose a service available by assembly reference - I'm just not sure it's a good idea to have both.\r\n\r\nJust to note, I suspect there's another side effect of using microservices and that is that domain events will almost certainly need to be dispatched and processed via a message queue of some sort.  With assembly references domain events will be able to be handled more directly.\r\n\r\nNot 100% set on the above, just my thoughts.... ultimately if we keep things as simple as possible and don't assume we need things until they are needed, then questions such as this will probably answer themselves."}}
{"actor":{"display_login":"jadjare"}}