Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 6 of 6 total |
EDB on mobile |
Tue, Feb 25 2014 6:34 PM | Permanent Link |
Anthony | Hi Tim & Team
I recently received notification of my subscription renewal for VCL C/S for both EDB and DBISAM and also for my RAD Studio from Embarcadero - I forgot that March is the month they all renewed. I'm considering which is best way forward. I'm currently using RAD Studio Pro and have XE5 on SA and also the latest version of Oxygene as Rem Objects kindly honored my SA with Embarcadero. This coming year I intended to develop the much put off mobile front end to our internal database developed in Delphi and EDB to support. After some investigation there seems to be so many options and was looking for a simple but secure solution to access our company database in EDB. I would love your opinions and comments as after reading the newsgroups I'm quite confused as to the the best solution. Technologies I am aware of are : SOAP, understand I can create a SOAP server in Delphi Pro but this would be a significant amount of work to integrate the whole database of about 20 tables. REST, don't believe I can create a REST server in Delphi Pro but the new REST client is available and trivial to use in the Embarcadero examples, but read that EWB uses REST between web application and web server. DataSnap, Embarcadero constantly advertise this but only available in the Enterprise edition which is a costly upgrade and don't know if their simple Datasnap demo would work with EDB as a database server, may be you could advise. In addition to all the above is the security aspect with user authentication and encryption between database and server. I also recall reading that there may be a mobile version of the EDB components at some point after the Mac OS version which may be the perfect solution. I've favored Delphi for development as that's where my experience lies and have not been able to make any progress with the trial of EDB DAC working in Prism. It doesn't seem just as simple as dropping a component on the form like in Delphi and EDB doesn't appear in the Prism data source lists - any pointers in this direction would be appreciated. I'm also assuming that the DAC version of EDB would be compatible with the iOS and Android Oxygene compiler. I've also taken a look at EWB but not familiar with web development or running web servers and noticed that the date time picker was missing from my quick evaluation but is scheduled for a later release and also not sure how a web application would work for offline mobile access. I appreciate your time and comments, Many thanks Anthony |
Fri, Feb 28 2014 5:31 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Anthony,
<< REST, don't believe I can create a REST server in Delphi Pro but the new REST client is available and trivial to use in the Embarcadero examples, but read that EWB uses REST between web application and web server. >> EWB uses a kinda-sorta REST design, not a completely accurate implementation. This is because of the way that transactions are handled on the client - nested transactions are supported, so transactions have to be sent over in one shot, as opposed to a bunch of PUT calls, or something similar. << In addition to all the above is the security aspect with user authentication and encryption between database and server. I also recall reading that there may be a mobile version of the EDB components at some point after the Mac OS version which may be the perfect solution. >> Unfortunately, there's a lot of stuff in front of the mobile ports for EDB, so it will probably be later this year. << I've favored Delphi for development as that's where my experience lies and have not been able to make any progress with the trial of EDB DAC working in Prism. It doesn't seem just as simple as dropping a component on the form like in Delphi and EDB doesn't appear in the Prism data source lists - any pointers in this direction would be appreciated. >> What exactly do you mean by "Prism data source lists" ? If you install the ElevateDB DAC product, then it should set up the VS IDE data provider settings for you. I've added VS 2012 installation support recently, so it is included in the latest EDB build (2.15 B3). << I'm also assuming that the DAC version of EDB would be compatible with the iOS and Android Oxygene compiler. >> I'd have to check this out, to be sure. There are some specific un-managed calls being made in EDB for file I/O, and so they may or may not be portable to the Mono platform. << I've also taken a look at EWB but not familiar with web development or running web servers and noticed that the date time picker was missing from my quick evaluation but is scheduled for a later release and also not sure how a web application would work for offline mobile access. >> Your best bet for doing mobile work, without being required to target each mobile platform separately, will be EWB or something like it. It removes a lot of duplicate work, gets rid of any app-store requirements, and is much easier to update. Plus, the majority of your non-UI code stays the same, and is simply moved to the back-end in the form of an EWB Web Server module, or ISAPI/CGI dll/exe. The only things that are a bit of a pain with the web stuff are the separation of the UI code from the rest, and the web server implementation issues (hosting costs, SSL certificate costs, etc.). But, the first thing is a net plus in the end, and the second usually already exists in some form if the company has a web presence already. Of course, you may want to stick with native, and that's certainly a viable option. FireMonkey is getting better every release, and there are 3rd party native control options also if you don't want to use it. Tim Young Elevate Software www.elevatesoft.com |
Sun, Mar 2 2014 12:44 PM | Permanent Link |
Adam Brett Orixa Systems | Anthony
I am curious to hear how you progress with this & would be interested in a blog post or update here on the groups as you go forwards. I have a remote Tablet version of my App. Users need Windows tablets, but the basic principle is very similar to if they were mobile devices. I use a cloud instance of the company DB replicated between the company server & an Amazon cloud instance using EDB's excellent replication features. Remote tablet users connect to the Amazon cloud instance via simple IPAddress, just as if it was any ordinary CS EDB application. The Tablet interface is simpler and minimizes the data passing through the pipe, but is similar to the main application. This works fine. I guess you may have issues with security, but I find EDB's Remote access so quick that the extra coding of adding a DataSnap or other layer in between it and the DB seems unnecessary. |
Mon, Mar 3 2014 1:24 PM | Permanent Link |
Anthony | Thanks Tim & Adam for your replies.
I'm assuming Adam your using the Surface Pro for other Intel based Windows tablets rather than the RT version. We can currently access the EDB database externally and setup the encryption etc settings and the speed is generally very good, but there are times when like quickly checking your email on your phone you need quick information from the database rather than full access to everything and firing up a laptop. I was hoping on starting with a mobile client with a small subset of features - initially thinks like open orders, or a quick note after meeting with a client rather than the full system on a mobile phone. I can imagine in a few years times we would have redeveloped the full system on a mobile phone or tablet but that is a lot of work since our database has evolved since DBISAM 3 days. The initial problem I'm facing is getting the data from the EDB database onto the mobile device with offline access as mobile signal are still very patchy. EDB mobile clients would be terrific but as these are not available in FMX at present, although Tim I would be interested if the DAC version is compatible with Oxygene's mobile compilers. I have upgraded to VS2013 with the latest Oxygene so will have to try the DAC with an older version of VS. My next thought was exposing the EDB database as a web service such as REST which seems ideal, Tim is it possible for the native Delphi REST client to communicate directly to your EWB REST service or is the REST implementation too different? Since I only have RAD Studio Pro it seems all the REST server creation tools are Enterprise version or higher, unless there are some other EDB to REST solution I could implement without reinventing the wheel. Then that's where I thought that if I upgrade to the Enterprise version DataSnap might be an option as the Embarcadero demos make it seem so simple. But there is no special upgrade price from XE5 Pro so its looking like an expensive option and I don't even know if the two technologies are compatible or I have to use the Embarcadero provided FireDAC database drivers. Anthony |
Sat, Mar 8 2014 2:34 AM | Permanent Link |
Adam Brett Orixa Systems | >>I'm assuming Adam your using the Surface Pro for other Intel based
>>Windows tablets rather than the RT version. Yes, actually for field & warehouse work we use a "Toughbook" type tablet, not particularly pretty, but robust. >>there are times when like quickly checking your email on your phone you need quick information from the >>database rather than full access to everything and firing up a laptop. The mobile App has to have an Engine, Session & DB component, but you don't have to open all the tables, or views on every version of the application. I have a very simple application: * Create & Connect Session & DB. * Download a list of Farmers using a Query. * Pump this into a ClientDataset. * Create a Form with some User-fields. * Post button calls Database.Execute( 'INSERT INTO XXXXXX (FarmerID, Field1, Field2) VALUES (:Param1, ...)'); I pass the user-entered values into the params and the Database "Execute" runs. This is very "light" in terms of network usage. Of course the use-case is also very simple ... just adding records for a series of farmers in different locations. However it works, and I can save user-entered data for them to "post" later if they don't have network access immediately. I think that most of the other complex models (REST, DataSnap etc.) actually rely on mechanisms more or less similar to this one to work. Of course they add loads of extra features and operations, but the above does work, and you can write code to do UPDATEs instead of INSERTs. >>But there is no special upgrade price from XE5 Pro so its looking like an expensive option and I don't even know >>if the two technologies are compatible or I have to use the Embarcadero provided FireDAC database drivers. I think if you are doing Mobile development Enterprise is probably the sensible option (even though it is costly!). In Pro you do not get the Mobile Development options, and you can buy these separately but it ends up costing close to the same amount as Enterprise. I do not think there is any need for FireDAC. EDB's data access components are not Windows specific (I believe!!!) so I think you can write a unit which uses EDB Session, Database and Query components, then include this unit in a Windows project or an Android project. I only have XE2, which doesn't include Android support ... so I am not certain about it. |
Tue, Mar 11 2014 8:00 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Anthony,
<< My next thought was exposing the EDB database as a web service such as REST which seems ideal, Tim is it possible for the native Delphi REST client to communicate directly to your EWB REST service or is the REST implementation too different? >> It's not really REST, at least not in the strict sense. EWB's datasets simply involve a small subset of URLs that contain parameters that specify whether one is: 1) Loading columns, rows, or BLOBs (requires primary key) 2) Committing a transaction The data format is always JSON: http://www.elevatesoft.com/manual?action=viewtopic&id=ewb1&topic=JSON_Reference << Since I only have RAD Studio Pro it seems all the REST server creation tools are Enterprise version or higher, unless there are some other EDB to REST solution I could implement without reinventing the wheel. >> If you front-end your ElevateDB database with the EWB Web Server, then you simply need to exchange data according to the above reference and you're all set. Considering that the EWB Web Server has built-in support for authenticating directly against the ElevateDB database, you'll only need to implement the client-side JSON handling. Of course, it will seem like a lot of work compared to a native EDB solution on the mobile side. Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Monday, May 6, 2024 at 12:23 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |