in my organization they tend to use a nomenclature of "downstream" and "upstream" when they talk about communications between systems. What is the definition of these concepts? Is this standard concepts in the world of IT-development?
Asked
Active
Viewed 2.0k times
21
-
Can you use it in a sentence? – Zoltán Aug 23 '13 at 11:38
-
6http://programmers.stackexchange.com/questions/71080/what-does-downstream-upstream-design-mean – Richard Morgan Aug 23 '13 at 11:39
-
Yes, they tend to use it in this fashion: "We need a test environment that is seperated from DTAP, both upstream and downstream". "No, we cant deploy because we have problems downstream/upstream". – su99-bsa Aug 27 '13 at 14:28
2 Answers
29
I know this is old but I think the other answer has it the wrong way around. Think of it this way - if you are upstream from something what you do can affect it and equally something upstream from you affects you but something downstream can't.
So to use the same method, given a system S:
Upstream - something which S depends on (as it's actions "flow down" to S)
Downstream - something which depends on S (as S's actions "flow down" to it)

Matt
- 12,569
- 4
- 44
- 42
-
2Yes, I agree with Matt. I see it as this: A --> B --> C A is the source for B, B is the source for C. So, the chain goes from A to B to C. From A to B and to B to C I consider downstream, like 'how the river flows'. GOing in the opposite direction is going upstream. Though I know in my company other people also use it the other way around... – cybork Dec 21 '17 at 08:35
-4
To simplify things, let's say we are talking about a system S.
Upstream - Something which depends on S
Downstream - Something which S depends on

dopplesoldner
- 8,891
- 12
- 44
- 55
-
So in a JavaEE application... the equivalent would be... if we are talking about EJB beans.... then the DB is downstream and JSF is upstream?? But upstream/downstream is a matter of systems and not components of a system, right? – su99-bsa Aug 26 '13 at 07:19
-
2I believe the more common interpretation is the one that Matt posted in the other answer. I elaborated on it in [this blog post](https://reflectoring.io/upstream-downstream) because it kept confusing me, too. – Tom Mar 25 '19 at 15:50
-
2This is wrong. Nothing downstream can be a dependency of yours. They are dependents... not dependencies. – SgtPooki Jul 19 '19 at 19:38
-
3This answer is obviously wrong. When you are at a real stream or a river, if you throw something into it, it would flow downstream. Changes can affect only downstream dependents. Dependencies are upstream. – Piotr Kołaczkowski Aug 04 '19 at 07:08