{"action":"created","issue":{"url":"https://api.github.com/repos/MarimerLLC/cslaforum/issues/78","labels_url":"https://api.github.com/repos/MarimerLLC/cslaforum/issues/78/labels{/name}","comments_url":"https://api.github.com/repos/MarimerLLC/cslaforum/issues/78/comments","events_url":"https://api.github.com/repos/MarimerLLC/cslaforum/issues/78/events","html_url":"https://github.com/MarimerLLC/cslaforum/issues/78","id":113176012,"number":78,"title":"Advice on how to deal with CSLA being used as a non-domain service","user":{"login":"alturium","id":15281163,"avatar_url":"https://avatars.githubusercontent.com/u/15281163?v=3","gravatar_id":"","url":"https://api.github.com/users/alturium","html_url":"https://github.com/alturium","followers_url":"https://api.github.com/users/alturium/followers","following_url":"https://api.github.com/users/alturium/following{/other_user}","gists_url":"https://api.github.com/users/alturium/gists{/gist_id}","starred_url":"https://api.github.com/users/alturium/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alturium/subscriptions","organizations_url":"https://api.github.com/users/alturium/orgs","repos_url":"https://api.github.com/users/alturium/repos","events_url":"https://api.github.com/users/alturium/events{/privacy}","received_events_url":"https://api.github.com/users/alturium/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-10-24T18:27:33Z","updated_at":"2015-10-27T02:23:11Z","closed_at":null,"body":"Hello folks,\r\n\r\nI am looking for advice in what appears to be a misuse of CSLA.NET for our architecture.\r\n\r\nObservations: Our architecture/design leader has divided our team into two groups, one to serve up CSLA BOs and the other for application development.  What has happened over the last two years is that the \"service\" side creates BOs that do not fit user scenarios.  \r\n\r\nRecently, I have been pushing for more interaction, but even requests for changes to BOs may take one to two weeks (user stories are maintained separately for each group).  Really, the service\" group is creating DataObjects (with IDs for each property that require a lookup, as an example) instead of real Business Objects.\r\n\r\nConclusions: I realize now that the BOs really belong to the application team but I'm not sure how to persuade our leader to change his architecture.  If anything, BOs should be a cross-functional endeavor between the two groups.  \r\n\r\nBackup from Marting Fowler:  \"When looking to split a large application into parts, often management focuses on the technology layer, leading to UI teams, server-side logic teams, and database teams. When teams are separated along these lines, even simple changes can lead to a cross-team project taking time and budgetary approval. A smart team will optimise around this and plump for the lesser of two evils - just force the logic into whichever application they have access to. Logic everywhere in other words. This is an example of Conway's Law[5] in action.\"\r\n\r\n   \"Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.\"     -- Melvyn Conway, 1967\r\n\r\nSO my question is two-fold: Is my observations and conclusions correct?  What can I say to convince my management to change?\r\n\r\nThank you in advance\r\n"},"comment":{"url":"https://api.github.com/repos/MarimerLLC/cslaforum/issues/comments/151345954","html_url":"https://github.com/MarimerLLC/cslaforum/issues/78#issuecomment-151345954","issue_url":"https://api.github.com/repos/MarimerLLC/cslaforum/issues/78","id":151345954,"user":{"login":"rockfordlhotka","id":2333134,"avatar_url":"https://avatars.githubusercontent.com/u/2333134?v=3","gravatar_id":"","url":"https://api.github.com/users/rockfordlhotka","html_url":"https://github.com/rockfordlhotka","followers_url":"https://api.github.com/users/rockfordlhotka/followers","following_url":"https://api.github.com/users/rockfordlhotka/following{/other_user}","gists_url":"https://api.github.com/users/rockfordlhotka/gists{/gist_id}","starred_url":"https://api.github.com/users/rockfordlhotka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rockfordlhotka/subscriptions","organizations_url":"https://api.github.com/users/rockfordlhotka/orgs","repos_url":"https://api.github.com/users/rockfordlhotka/repos","events_url":"https://api.github.com/users/rockfordlhotka/events{/privacy}","received_events_url":"https://api.github.com/users/rockfordlhotka/received_events","type":"User","site_admin":false},"created_at":"2015-10-27T02:23:11Z","updated_at":"2015-10-27T02:23:11Z","body":"fwiw, CSLA is designed with the intent of the domain objects reflecting the needs of the user scenario, which almost always means the needs of the UI.\r\n\r\nIf CSLA is just used for some entity data layer thing, then it is being misused - all its benefits are probably being ignored, and there are better options (like EF) for dealing with data entities."}}