go to post Rob Tweed · Jun 14, 2016 One of the really exciting and powerful technologies that Cache developers should be looking at is GraphQL which has been developed by Facebook:http://graphql.org/EWD 3 makes it very straightforward to integrate GraphQL with Cache. I've put together a simple React.js-based example / demo with explanatory notes here:https://groups.google.com/forum/#!topic/enterprise-web-developer-communi...
go to post Rob Tweed · Jun 10, 2016 BenjaminIn my opinion, your questions are important: I'd summarise them as follows:- is this new Document model an attempt to bring Cache to the attention of a new audience and marketplace, or is it really just targeted at the incumbent user-base as a means of persuading them not to migrate to competing Document databases such as MongoDB?I'd like to think and hope it's the former rather than the latter. Many of you will be aware that I (and George James) have been championing the cause for Cache as a universal NoSQL database since as along ago as 2010, in fact very soon after the whole NoSQL movement burst on the scene in late 2009. We saw this as a great opportunity to raise the profile of Cache. I'm pretty disappointed that 6 years later, I'm yet to come across anyone I meet in the IT mainstream who has heard of Cache, despite its powerful NoSQL capabilities.There are a number of reasons why we're still in this position of obscurity, but what has become clear to me in the intervening years is that there's one really key stumbling block: almost nobody out there wants to have to learn a new and obscure (and many would say antiquated) language in order to access a database, no matter how powerful and flexible that database. If the objective is to bring Cache to the attention of that new NoSQL-focused audience, it's become clear to me that all its database capabilities have to be accessible via the language(s) that people already use. Since it's also clear to me that the major language adopted by the NoSQL marketplace is JavaScript, then it makes sense that JavaScript must become a first-class language for Cache if it's to stand any chance of the wider recognition it deserves in the NoSQL world. Unless the new Document database capabilities of Cache are available directly from JavaScript, unfortunately my conclusion is that its only real audience is the incumbent user-base who are happy to continue using Cache ObjectScript and Cache's built-in programming environment.See my recent posting on EWD 3 for my approach: my target audience is the JavaScript developer in search of something rather more interesting and powerful than the usual NoSQL databases, not the incumbent COS-oriented developer, who may not see the point in EWD 3, Document databases and all this JavaScript stuff!There's a massive opportunity out there, but nearly 7 years since the NoSQL party began and 5 years since the JavaScript party began, I worry that the new Document database capability is too little, too late to be invited to either.
go to post Rob Tweed · May 29, 2016 1) ewd-document-store is primarily designed for use by the JavaScript developer who wants to use / access a Cache database without needing to learn or use COS, or for anyone wanting to migrate their logic to JavaScript whilst retaining Cache as a database.2) it works with any version of Cache that supports the cache.node interface (at least 2012.x onwards)3) It can be used against existing/legacy global storage as well as new storage.4) It's free Open Source (Apache 2 licensed)Read the documentation for more information.
go to post Rob Tweed · May 29, 2016 If you're coding in JavaScript within Node.js and want to access a Cache database in JSON / document database terms, it's worth knowing that you can use the abstraction provided by the ewd-document-store module (http://gradvs1.mgateway.com/download/ewd-document-store.pdf). Additionally, this module isn't limited to 2016.x.
go to post Rob Tweed · May 29, 2016 The simple answer is that JSON can't naturally represent a node that is both an intermediate one and a leaf one , unless you introduce some arbitrary convention for defining a "special" node that represents a value also held by an intermediate node. There's no "standard" convention for this, since, from a JSON point of view, such a situation doesn't make sense.The way I've tackled this with the Node.js ewd-document-store module (http://gradvs1.mgateway.com/download/ewd-document-store.pdf) which abstracts global structures directly to JSON, is to provide not only a JSON mapping (via the getDocument() and setDocument() methods, but also have a read/write value property for any specified "DocumentNode". If you use getDocument(), you'll not see any values for intermediate nodes, but separately you can home in on such nodes individually and access their data via its value property.A DocumentNode's "exists", "hasValue" and "hasChildren" boolean properties can be used to determine the nature of each node. In truly JSON-mapped global structures, hasValue and hasChildren will be mutually exclusive, whereas it's quite feasible for (typically legacy) global structures to have DocumentNodes where both are true.Ideally the solution is to never have global structures with data values for intermediate nodes, but typically the problem is a legacy one.
go to post Rob Tweed · May 24, 2016 Native Mobile Cache-based app development is now possible in JavaScript using React Native and EWD 3. For instructions, see https://groups.google.com/forum/#!topic/enterprise-web-developer-communi...The benefits are huge: just one language (JavaScript) for front-end and back-end app development on all platforms, one development pattern for front-end UI development on both desktop and mobile platforms, and the opportunity to re-use the same back-end logic for desktop and mobile apps. Additionally, just like desktop browser-based apps, with EWD 3 and React Native, Mobile apps can use WebSockets instead of REST to access the back-end and Cache.