{"action":"created","issue":{"url":"https://api.github.com/repos/Starcounter/Starcounter/issues/2992","labels_url":"https://api.github.com/repos/Starcounter/Starcounter/issues/2992/labels{/name}","comments_url":"https://api.github.com/repos/Starcounter/Starcounter/issues/2992/comments","events_url":"https://api.github.com/repos/Starcounter/Starcounter/issues/2992/events","html_url":"https://github.com/Starcounter/Starcounter/issues/2992","id":113319587,"number":2992,"title":"Review server/service terminology","user":{"login":"per-samuelsson","id":2902045,"avatar_url":"https://avatars.githubusercontent.com/u/2902045?v=3","gravatar_id":"","url":"https://api.github.com/users/per-samuelsson","html_url":"https://github.com/per-samuelsson","followers_url":"https://api.github.com/users/per-samuelsson/followers","following_url":"https://api.github.com/users/per-samuelsson/following{/other_user}","gists_url":"https://api.github.com/users/per-samuelsson/gists{/gist_id}","starred_url":"https://api.github.com/users/per-samuelsson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/per-samuelsson/subscriptions","organizations_url":"https://api.github.com/users/per-samuelsson/orgs","repos_url":"https://api.github.com/users/per-samuelsson/repos","events_url":"https://api.github.com/users/per-samuelsson/events{/privacy}","received_events_url":"https://api.github.com/users/per-samuelsson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-26T09:49:16Z","updated_at":"2015-10-29T11:41:54Z","closed_at":null,"body":"Again, I know!\r\n\r\nBut since I'm now working on the new directives from last week, and a few of the issues I'm working on touches on this, I just thought I'd bring it up once. The most notable issues are #2950, #2973 and #2423.\r\n\r\n### Background\r\nBasics: to run Starcounter applications inside Starcounter databases / VMDBMSs / hosts, a few **supporting processes** must be running. These processes are typically started in batch by a process we currently call **scservice.exe**. Collectively, we refer to these processes as the Starcounter **server**.\r\n\r\nNormally, this **server** is started on demand. It can run either in the same Windows session as the user, or in Session 0, as a Windows **service**. In the former case, it's most commonly started the first time the user start an application, either doing `star myapp.exe` or via Starcounter Application project + F5.\r\n\r\nCurrently, if I start the `scservice.exe` parent process on my machine (and **not** running it as a Windows service), I get the following process tree:\r\n\r\n![image](https://cloud.githubusercontent.com/assets/2902045/10725511/dfa2973e-7bcc-11e5-9fb7-fc710d2448b6.png)\r\n\r\nThe two major ones here are `scnetworkgateway.exe` and `scadminserver.exe`. The former is, well, the gateway, and the later is the server that **expose all adminstrative functionality** as a REST API. Using this API, `star.exe`, `staradmin.exe` and the web administrator can start, stop, list databases, etc. All database/codehost specific process management is govered by this server, driven by said API.\r\n\r\n### Whats in it for the user\r\nAs a Starcounter user/developer, I can't really do anything unless these processes are running. I can't run databases, the functionality in `staradmin` is very limited, and the web adminstrator can't even show the title/index page.\r\n\r\n### What should we call it\r\nToday, we mostly refer to this set of processes as **the server**. With #2950, we are implementing a command to explicitly start `scservice.exe`, and we need a name for it. Should it be `staradmin start server`? I've seen the tray icon use `Start server` too.\r\n\r\nWhy I want to bring it up a last (hopefully) time is b/c I think its still not really perfect, simple because, well **a)** users tend to think as **their applications** as the server (and they are right, o/c) and **b)** as we see, its not really a server we are talking about here, it's more of a \"system\".\r\n\r\nI know historically, we've had issues reported where users claimed they have \"started Starcounter\" and it has taken some time to figure out exactly what they mean by that. And it has turned out to mean different things. So we are not perfectly clear in our lingo here obviously.\r\n\r\nAny fresh take on this? I'd really like to see some input from the app team guys on this!"},"comment":{"url":"https://api.github.com/repos/Starcounter/Starcounter/issues/comments/152154731","html_url":"https://github.com/Starcounter/Starcounter/issues/2992#issuecomment-152154731","issue_url":"https://api.github.com/repos/Starcounter/Starcounter/issues/2992","id":152154731,"user":{"login":"warpech","id":566463,"avatar_url":"https://avatars.githubusercontent.com/u/566463?v=3","gravatar_id":"","url":"https://api.github.com/users/warpech","html_url":"https://github.com/warpech","followers_url":"https://api.github.com/users/warpech/followers","following_url":"https://api.github.com/users/warpech/following{/other_user}","gists_url":"https://api.github.com/users/warpech/gists{/gist_id}","starred_url":"https://api.github.com/users/warpech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/warpech/subscriptions","organizations_url":"https://api.github.com/users/warpech/orgs","repos_url":"https://api.github.com/users/warpech/repos","events_url":"https://api.github.com/users/warpech/events{/privacy}","received_events_url":"https://api.github.com/users/warpech/received_events","type":"User","site_admin":false},"created_at":"2015-10-29T11:41:53Z","updated_at":"2015-10-29T11:41:53Z","body":"On the other hand, I lean towards the term \"service\". \r\n\r\nAdmittedly, in stacks like LAMP, Apache and MySQL processes are called *servers*. On Windows, you run a [MySQL *server* as a service](https://dev.mysql.com/doc/refman/5.1/en/windows-start-service.html).\r\n\r\nBut our architecture is unlike LAMP. As @per-samuelsson puts it:\r\n\r\n> a) users tend to think as their applications as the server (and they are right, o/c) and b) as we see, its not really a server we are talking about here, it's more of a \"system\".\r\n\r\n:+1: this. \r\n\r\nStarting `staradmin start server` doesn't serve anything by itself, except for Administrator. For the actual data, my apps are the servers. I would go with `staradmin start service`, aliased as `staradmin start`.\r\n\r\nThe word \"server\" should be freed to the userland, so people can call it for whatever they like in their architecture. Starcounter being a \"service\" for their apps is a more humble term."}}