- unifying "pass-by-value" and "pass-by-reference" to always be pass-by-reference but with a reference to a resource in an injected space. For more details see the NKSE documentation.
- providing a mechanism for late/lazy access to transport state. This is used by the HTTP transport bridge to provide access to all areas HTTP envelope if needed but only if needed. This not only reduces the overhead of parsing the various parts into representations but more importantly automatically maximizes the cachability of the response. (Those who used NetKernel 3 will remember needed to configure the HTTP bridge to determine which parts of HTTP envelope should be passed as explicit arguments to sub-requests.)
(click image for a bigger version)
This static structure diagram shows a Fulcrum space with the HTTPTransport and with HTTPBridge wrapping Space 2. The new notation shows the HTTP Request Response Space injected into all requests that get delegated from the HTTPBridge into Space 2. We can see that the HTTP Request Response Space has two endpoints the HTTPRequestEndpoint and HTTPResponseEndpoint which provide access to the request and response through the httpRequest: and httpResponse: schemes respectively for all sub-requests.
Space 2 contains the HTTPSession overlay which delegates all requests through to Space 3. We can see the HTTPSession overlay similarly injects a HTTP Session Space into the scope of all the requests it delegates.
Here is the module definition xml (module.xml) for this functionality:
I hope this new notation is going to be useful to throw light onto what previous was one of the darker corners of the ROC abstraction and will help with visualizing your systems. As ever all feedback welcome!
Tony

0 comments:
Post a Comment