--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
Dawn, something is weird about your original posting, I haven't been able to respond from the GG web UI.
Really though, BASIC applications are rich in rules and complex in their integration - which is exactly what JavaScript applications are not. I don't see any value to porting an existing app to JS to have it run outside the box
--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
... I would be interested in running js inside an MV system, with the right libraries to handle integration to read/write/execute/call. It would be very NoSQL - MongoDB works this way. Then you would have js in every part of your stack - js in the browser to js in node.js in the middle tier to js in your Pick database.
I may not always agree with TG but on this topic he's spot on: Connectivity is infinitely more valuable than translating one language to another. I'm intrigued by this mvEsperanto solution he has dreamed up and would love to know more, without asking him to give up anything proprietary, of course.
(Back to lurk mode)
I may not always agree with TG but on this topic he's spot on: Connectivity is infinitely more valuable than translating one language to another. I'm intrigued by this mvEsperanto solution he has dreamed up and would love to know more, without asking him to give up anything proprietary, of course.
(Back to lurk mode)
--
Oh I'm following you. This seemed to start as a ping to see if anyone was doing it and devolved into something entirely different. This is why I try to keep my mouth shut in here; anything I say can and will be used against me in the court of public opinion, and frankly I have enough drama already.
Having said that...
We have a number of ways to connect from PHP to U2, et al. There are the proprietary ways - i.e. Uniobjects,UOJ, even ODBC (for people who love dentists who use chainsaws), and non-proprietary ways like the Apache connector I wrote about in Spectrum a bit ago.
My personal preference is to use sockets with and without encryption as the need arises. Nearly every language and environment these days has support for sockets and many have a form of connection pooling for license management, so the rest is detail.
Yes, we are writing web services as an adjunct to writing web APIs to back end functionality. The API is the core element; the fact that it runs as a web service is merely just one possible interface to the functionality.
As to the pieces... We have a PHP object called WebConnect. It does a few things but one method specifically applicable to this discussion:
$result = WebConnect::call($subroutineName,$params)
Any time we want to call a subroutine from PHP we use this interface object. (Similar objects could be built in other languages as well.) This routine serializes the parameters into a JSON formatted string and sends it to the connected host (handled through a separate configuration object) which then parses the JSON and calls the subroutine as named. The subroutine then does what it does and sends back a JSON formatted result which is then converted into a first class PHP array that is then assigned to the lvalue.
All we ever do is call subroutines; this prevents the connector from having unrestricted access to the system. If we want to open up a system like that, we just have to create a subroutine that gives appropriate access to the people with the right credentials.
Security and state management are then added into this mix, but basically our method focuses on on moving bits with the least amount of complexity. JSON in, JSON out, and calling subroutines.
I'm intentionally avoiding value statements like "this is the best way" because frankly we had the luxury of building all this from scratch with no previous encumbrances. In our Red Leaf environment it does work well but other environments might require more complexity. I do wish more platforms supported JSON (QM rocks it BTW) but JSON support is really quite sketchy at this time. Fortunately, BASIC is still awesome and very capable for parsing.
WebConnect::call($subroutineName,$params)....
All we ever do is call subroutines; this prevents the connector from having unrestricted access to the system. If we want to open up a system like that, we just have to create a subroutine that gives appropriate access to the people with the right credentials.Security and state management are then added into this mix, but basically our method focuses on on moving bits with the least amount of complexity.
That's exactly the point. We can spec out inputs and outputs and the web guys only need to know the spec to achieve the objective. Thank you for mentioning this very important detail.
--
--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
Think of the excitement for NoSQL as an industry validation of what we have been saying.
Once there is an MV DBMS that is as easy for me to use within (something similar to) the MEAN stack as Mongo is, I would like to take a look.
We (the MV community) have a lot to offer within the NoSQL space, once we recognize that we could play in that larger sandbox and bring some good, solid approaches and tools with us.
For now, we can use MongoDB with fullstack JavaScript much as we would use a PICK database with MV BASIC, but with the added complexity and feature-set of distributed systems -- the app can then run in a browser, whether on mobile or desktop, for example.
I'm not about to write DBMS drivers. I'm not as clever as Kevin K in writing a library using sockets into U2 from PHP, so I still don't know how Rocket would have us do node.js to U2 if we do not want .NET nor a JVM in the mix. It's just too hard for a peasant like me, but MongoDB is not. smiles. --dawn
The FOSS model is that you either have time or you have money, but you will spend one or the other. Spend neither and you get nothing. So here we are. The MV industry simply does not participate in the FOSS model as they do for MySQL, Apache, MongoDB, etc. For this reason the "make it easy and I'll take a look" posturing is nothing but fluff. It won't happen. Use the tools that exist, pay someone to help, or simply accept that you're not going to get the shiny toys.
--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms