Time |
S |
Nick |
Message |
00:36 |
|
|
wsiqueir joined #rest |
04:16 |
|
|
tbsf joined #rest |
04:20 |
|
|
tbsf joined #rest |
10:21 |
|
|
tbsf joined #rest |
11:29 |
|
|
interop_madness joined #rest |
14:21 |
|
|
tbsf joined #rest |
15:58 |
|
|
tbsf joined #rest |
16:08 |
|
mac- |
guys I've read that REST is a constraint driver rather that requirement driven architecture |
16:09 |
|
mac- |
I'm not fully understand it |
16:09 |
|
mac- |
constraints driven approach is identifying the forces that influence system behavior and then applying constraints so that the design works with those forces instead of against them |
16:10 |
|
mac- |
but what are those forces and what does it mean 'applying constraints' ? |
16:14 |
|
mac- |
usually we start with some list of business requirements, then we take them and we start to implementing software to achieve them |
16:15 |
|
mac- |
and thaths normal -there are requirements and solution is designed to achieve them |
16:16 |
|
mac- |
then the solution is tested in some test env and finally after pass is released for production |
16:16 |
|
mac- |
that is what I understand, nothing scary here |
16:17 |
|
mac- |
but this is reuirements driven architecture |
16:17 |
|
mac- |
now what about constraints driven architecture ?? |
16:17 |
|
mac- |
from the description it sounds like upside-down version of reuqirements driven architecture |
16:19 |
|
whartung |
REST contraints are non-functiomal requirements. The constraints are things like the reduced verb set, hypermedia, stateless transactions, etc. |
16:20 |
|
mac- |
hm hm hm |
16:21 |
|
mac- |
wait a sec |
16:22 |
|
mac- |
then those constraints are not requirements but sth what is on high level when raw requirements are low level ? |
16:24 |
|
whartung |
your application requriements are things like “post invoices” “don’t over drawn checking accounts”, etc. Those are functional requiremenets. “Must work with 2 floppy drives and 64K of RAM” are non-functional requirements. Those constrain how the app is implemented. Now, the resource constraints (2 floppies and 64K of RAM) are there for different reasons than the constraints of a REST architecture. |
16:24 |
|
mac- |
then in REST, before you say anything about i.e. communication between system modules to achieve one or more of low level requirements you set constraint that modules of modules will communicate in simple way with reduced list of commands and then in next stage you start implementing considering the constraint that you've set just before on higher level ? |
16:25 |
|
whartung |
Yea, “Given that we have these REST constraints, how do we post invoices and not over drawn accounts” |
16:26 |
|
mac- |
well but I see dangerous catch here |
16:26 |
|
mac- |
you can set some constraint |
16:26 |
|
whartung |
it’s software, nothing dangerous here :) |
16:27 |
|
mac- |
and you will spend huge amount of time to impelment solution that will try to achieve the constraint and in the worst case you will end up with conclusion that it is impossible |
16:28 |
|
whartung |
well, ideally part of your overall goal is to attain the benefits of a REST architecture. If that’s the case, then, ideally, it’s worth living with the constraints. If you don’t want the benefits, don’t bother with it. |
16:32 |
|
mac- |
my actual goal is to understand REST correctly and start using it to get its benefits :D |
16:33 |
|
whartung |
http://stackoverflow.com/questions/20335967/how-useful-important-is-rest-hateoas-maturity-level-3/20336307#20336307 |
16:34 |
|
mac- |
but can we back for a while to your previous sentence ? |
16:34 |
|
mac- |
I mean the one: |
16:34 |
|
mac- |
your application requriements are things like "post invoices", "don't over drawn checking accounts", etc. Those are functional requiremenets. "Must work with 2 floppy drives and 64K of RAM" are non-functional requirements. Those constrain how the app is implemented. Now, the resource constraints (2 floppies and 64K of RAM) are there for different reasons than the constraints of a REST architecture. |
16:35 |
|
mac- |
I don't understand the last sentence in it |
16:35 |
|
mac- |
I understand that the functional reqs are low level ones |
16:35 |
|
mac- |
and REST contraints will be applied to them |
16:36 |
|
mac- |
or, now after set of REST constraints the implementation of low level reqs (those functional) will be done with taking to consideration of REST constraints |
16:37 |
|
mac- |
but what do you mean by 'Now, the resource constraints (2 floppies and 64K of RAM) are there for different reasons than the constraints of a REST architecture.' ? |
16:37 |
|
whartung |
I was simply pointing out that, back in the day, when everyone had 2 floppies and 64K of RAM, that’s was simply what you had to work with as a application developer. Today, we essentially have “unlimited” resources, and now we design to different contraints. Nobody designs to 2 floppies and 64K of RAM for the “benefits” (unless you used to have 1 floppy and 16K of RAM) |
16:38 |
|
whartung |
I linked to that article because most folks don’t need REST for their applications. REST is an edge architecture that a bulk of applications don’t find necessary |
16:39 |
|
mac- |
oh ok, but its obviuos and clear that if we really wish to benefit anything from REST arch we must understand and identify those constraints taking with consideration the software we are developing |
16:40 |
|
mac- |
every software will have different (more or less) constraints |
16:40 |
|
mac- |
currently REST (as I understand) is based on HTTP |
16:41 |
|
mac- |
because HTTP provides solutions for all of maturity levels |
16:42 |
|
mac- |
whartung: thx I think I understood it better now (or this part of it) |
16:42 |
|
mac- |
will study the link you have provided |
16:44 |
|
whartung |
REST is readily implemented on top of HTTP, but HTTP is not a requirement for REST. |
16:44 |
|
whartung |
As experiements, some have done example REST architectures on top of GOPHER, for example |
16:44 |
|
mac- |
yeah HTTP is only a medium for REST |
16:45 |
|
whartung |
yes |
16:45 |
|
whartung |
most people don’t get as far as to see that distinction |
16:45 |
|
mac- |
and the reason why it has been chosen is that it fills all maturity levels |
16:46 |
|
mac- |
whartung: yep, and I wish to understnad it correctly to avoid dead ends |
16:57 |
|
mac- |
whartung: thank you very much for your help |
16:57 |
|
whartung |
yw |
17:13 |
|
|
wsieroci joined #rest |
18:25 |
|
|
tbsf joined #rest |
18:30 |
|
|
wsieroci joined #rest |
18:38 |
|
|
tbsf joined #rest |
18:44 |
|
|
tbsf joined #rest |
19:02 |
|
|
wsieroci joined #rest |
20:19 |
|
|
`0660_ joined #rest |
20:19 |
|
|
pdurbin1 joined #rest |
20:20 |
|
|
igitoor_ joined #rest |
20:20 |
|
|
wsieroci joined #rest |
20:21 |
|
|
riddle joined #rest |
20:30 |
|
|
igitoor_ joined #rest |
20:30 |
|
|
igitoor_ joined #rest |
21:18 |
|
|
wsieroci joined #rest |
21:32 |
|
|
tbsf joined #rest |
21:33 |
|
|
tbsf joined #rest |
22:25 |
|
|
ironChicken joined #rest |