| Summary: | Lessons learned from RTC SCM integration | ||
|---|---|---|---|
| Product: | [ECD] Orion | Reporter: | Boris Bokowski <bokowski> |
| Component: | Server | Assignee: | Project Inbox <orion.server-inbox> |
| Status: | RESOLVED INVALID | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | aniefer, john.arthorne, Mike_Wilson, pwebster, remy.suen, simon_kaegi, Szymon.Brandys, tomasz.zarna |
| Version: | 0.2 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Boris Bokowski
I've been trying to argue this point for awhile ;) My general philosophy on this is that the tools need to run where the data is. In a networked application, data transfer cost by far dwarfs any computing cost. So, if the "data" being operated on is a single file (editor buffer), then the tool should run on the client. If the data being operated on is a potentially large file system or SCM, then the tool should run on the server. So where does the data live when you're working with RTC? Both Jazz and Git have the same conceptual model: the data is "checked out" of the SCM into some work area (Git working copy, Jazz sandbox). The tools then operate on the data in that work area (editing, searching, building, testing, etc). Periodically the data is pushed back into the SCM (either automatically or by direct user command). The development tools do not run directly against the SCM itself. In both these models, the SCM server itself does not typically host the working area (although Git always has that option). For example jazz.net or github.com don't provide a working area for the tools to operate upon. This is where the Orion workspace comes in. Our server provides that "working area" where any development tools that require significant data access can operate. An Orion workspace server could still be "bundled" together with an SCM by a third party to provide a complete development environment on a single host if they wanted. Or, an Orion user could have a hybrid setup where the workspace server is on orionhub, or even a server running on their local machine, working with a third party SCM on a different server. This isn't a bug report. |