Home » Modeling » EMF » [CDO] on Android(Can CDO run on Android ?)
[CDO] on Android [message #937324] |
Mon, 08 October 2012 22:14 |
Michele Preti Messages: 14 Registered: October 2012 |
Junior Member |
|
|
Hi all,
in a nutshell : can CDO (EMF and all requirements) work on an android device ?
i'm writing a Enterprise Resource Planning Software, and for data management i'm using JPA and Hibernate.
I already hate JPA....
But the real reason is that i've the need to write an android application that can work with a subset, for now, of the main software data.
I have already thought to write a sync process myself (bi-directional) but...it's a mess (and i'm not sure to be experienced enough to succeed).
I come across CDO project, and i like the concept (even if to me it seem it rely too much on the store implementation, especially for the CDOQuery stuff, but not really a problem)
After this introduction, i need to run the model on the main software (and this is not a problem)
and a Clone server (for offline replication) and client on the android device.
Thanks to all in advance.
[Updated on: Mon, 08 October 2012 22:15] Report message to a moderator
|
|
|
Re: [CDO] on Android [message #937725 is a reply to message #937324] |
Tue, 09 October 2012 07:59 |
|
Am 09.10.2012 00:14, schrieb Michele Preti:
> Hi all,
> in a nutshell : can CDO (EMF and all requirements) work on an android device ?
>
> i'm writing a Enterprise Resource Planning Software, and for data management i'm using JPA and Hibernate.
>
> I already hate JPA....
> But the real reason is that i've the need to write an android application that can work with a subset, for now, of the
> main software data.
>
> I have already thought to write a sync process myself (bi-directional) but...it's a mess (and i'm not sure to be
> experienced enough to succeed).
>
> I come across CDO project, and i like the concept (even if to me it seem it rely too much on the store implementation,
> especially for the CDOQuery stuff, but not really a problem)
>
> After this introduction, i need to run the model on the main software (and this is not a problem)
> and a Clone server and client on the android device.
I have absolutely no experience with Android, so you must hope that others share their thoughts, if any.
It strikes me though that an offline clone server (which constantly tries to replicate as much of the entire history as
possible) is quite heavy for a mobile device, but who knows...
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
|
|
|
Re: [CDO] on Android [message #937736 is a reply to message #937725] |
Tue, 09 October 2012 08:09 |
Martin Taal Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Hi Michele,
Not sure if you want to develop a native android app or a html5 application.
In any case this maybe of interest for you:
http://martintaal.wordpress.com/2012/04/05/emf-texo-json-rest-web-service-support-connecting-your-client-to-an-emf-supporting-web-server/
and I did a small demo of a html5 mobile app getting some data from an EMF generated web server at Eclipse Day Delft 2012:
http://swerl.tudelft.nl/twiki/pub/MichaelaGreiler/WebHome/Texo-EclipseDay-2012.pdf
for more information see here:
http://wiki.eclipse.org/Texo
or check out this video:
http://www.youtube.com/watch?v=D0oO4gw-gLI
gr. Martin
On 10/09/2012 09:59 AM, Eike Stepper wrote:
> Am 09.10.2012 00:14, schrieb Michele Preti:
>> Hi all,
>> in a nutshell : can CDO (EMF and all requirements) work on an android device ?
>>
>> i'm writing a Enterprise Resource Planning Software, and for data management i'm using JPA and Hibernate.
>>
>> I already hate JPA....
>> But the real reason is that i've the need to write an android application that can work with a subset, for now, of the
>> main software data.
>>
>> I have already thought to write a sync process myself (bi-directional) but...it's a mess (and i'm not sure to be
>> experienced enough to succeed).
>>
>> I come across CDO project, and i like the concept (even if to me it seem it rely too much on the store implementation,
>> especially for the CDOQuery stuff, but not really a problem)
>>
>> After this introduction, i need to run the model on the main software (and this is not a problem)
>> and a Clone server and client on the android device.
> I have absolutely no experience with Android, so you must hope that others share their thoughts, if any.
>
> It strikes me though that an offline clone server (which constantly tries to replicate as much of the entire history as
> possible) is quite heavy for a mobile device, but who knows...
>
> Cheers
> /Eike
>
> ----
> http://www.esc-net.de
> http://thegordian.blogspot.com
> http://twitter.com/eikestepper
>
>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Cell: +31 (0)6 288 48 943
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@xxxxxxxx - mtaal@xxxxxxxx
Web: www.springsite.com - www.elver.org
|
|
|
Re: [CDO] on Android [message #938047 is a reply to message #937736] |
Tue, 09 October 2012 13:58 |
Michele Preti Messages: 14 Registered: October 2012 |
Junior Member |
|
|
thank you for the reply
Quote:It strikes me though that an offline clone server is quite heavy for a mobile device, but who knows...
I don't need the history, so i was planing to disable audits and keep just the last version of the object. Even so you think it's too heavy?
Do it make sense use CDO for a mobile app or is it an overkill?
Quote:Not sure if you want to develop a native android app or a html5 application.
I was thinking of a native application, since my need is to provide an offline mobile application, that need to work without connection and sincronize later with the server. Correct me if i'm wrong, but an html5 application can't or at least in bi-directional way.
Besides, my main application is already a webApp using Vaadin and i can run it on a tablet without problems, but it always need connection to the server.
This is just the first step of the project, now i'm trying to achieve an offline client (for android) wich don't really need to write data, but just read. But the next step is to achieve a replicated main software that can work on a laptop without connection.
to clarify: the main web app is on the central server, and all employee can connect directly, but a salesman may need to reach a customer and this way can't access the main servr, so it need a replicated app (a copy of the main web app) on his laptop and sync all the changes later.
|
|
|
Re: [CDO] on Android [message #938734 is a reply to message #938047] |
Wed, 10 October 2012 05:31 |
|
Am 09.10.2012 15:58, schrieb Michele Preti:
> thank you for the reply
>
> Quote:
>> It strikes me though that an offline clone server is quite heavy for a mobile device, but who knows...
>
> I don't need the history, so i was planing to disable audits and keep just the last version of the object. Even so you
> think it's too heavy?
> Do it make sense use CDO for a mobile app or is it an overkill?
A normal CDO (online) client is not so fat because it only loads the objects that are needed and unloads them
automatically when possible. But an offline clone *repository* is kind of heavy. You can't disable branching or auditing
in it. You might be interested in the newer CDOWorkspace mechanism, which is similar to a CVS/SVN checkout and much
slimmer on the client side.
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
>
> Quote:
>> Not sure if you want to develop a native android app or a html5 application.
>
> I was thinking of a native application, since my need is to provide an offline mobile application, that need to work
> without connection and sincronize later with the server. Correct me if i'm wrong, but an html5 application can't or at
> least in bi-directional way.
> Besides, my main application is already a webApp using Vaadin and i can run it on a tablet without problems, but it
> always need connection to the server.
>
> This is just the first step of the project, now i'm trying to achieve an offline client (for android) wich don't
> really need to write data, but just read. But the next step is to achieve a replicated main software that can work on
> a laptop without connection.
>
> to clarify: the main web app is on the central server, and all employee can connect directly, but a salesman may need
> to reach a customer and this way can't access the main servr, so it need a replicated app (a copy of the main web app)
> on his laptop and sync all the changes later.
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
|
|
|
Re: [CDO] on Android [message #939444 is a reply to message #938734] |
Wed, 10 October 2012 19:12 |
Michele Preti Messages: 14 Registered: October 2012 |
Junior Member |
|
|
Quote:A normal CDO (online) client is not so fat because it only loads the objects that are needed and unloads them
automatically when possible.
But what is the slow thing?, CDO itself or the serialization and transmission of data across the net ? I don't want transmit CDO objects, my app is already a webb app and...it's quite as if it were a normal desktop application (using vaadin). This way i just need to use CDO locally on the server). But for the offline-thing i need a copy of the server on the client device.
Let forget for a while android. It's as i have 2 servers, and each server has it's own client. One of the servers is the master, the other the clone. CDO always work locally, if not for keep them in sync.
Quote:You can't disable branching or auditing in it.
I don't really need audit in the main software (the server) and i know it can be disabled, so the clone should clone only the last revision (the only one available).
I don't need to use branching, if not for the cloning mechanism.
I read somewhere that CDOWorkspace was only a prototype and not really working, but if you say it can do, i'll check it out.
|
|
| |
Re: [CDO] on Android [message #939622 is a reply to message #939462] |
Wed, 10 October 2012 23:26 |
Michele Preti Messages: 14 Registered: October 2012 |
Junior Member |
|
|
Erdal Karaca wrote on Wed, 10 October 2012 15:35Just had a quick view on vaadin which is much like Eclipse RAP, i.e. (almost) everything is done on the server-side, but the UI is rendered on the browser.
In short: I dont think you can make an offline clone of your repository on the client side in the web browser as it is mainly driven by javascript...
yea, it is. That's what i was trying to explain, i don't need :a RPC service, javascript clone or something like this.
The client device (not the app, the device whom execute the client (javascript)) also host the vaadin server, like the main app server do.
The only difference between the Main server and the "client" server is that the client should have just a clone repository of the Main server repository.
But that's not the point. The point of all this was:
- can CDO run on android ? It's compatible ? (in the while i'm setting up a project to test it myself, but not knowing CDO i need a bit to figure it out, and i was asking if someone has tryed it before)
- it seem reasonable to use CDO (at least CDOWorkspace) for an android native app (if it work) ?
I'm soorry, maybe i'v put too many arguments in this discussion.
|
|
| | |
Re: [CDO] on Android [message #1435506 is a reply to message #939622] |
Wed, 01 October 2014 15:47 |
Andreas Rytina Messages: 3 Registered: September 2014 |
Junior Member |
|
|
The reason for the crash is because in line 293 of LegacyBundle the method call accessor.getResource(ReflectUtil.getSimpleName(accessor) + ".class") returns null. This is because Dalvik & ART do not work with class files, instead they load the classes from dex-files. So far I know, it is also not possible to load classes by URL, instead they can be loaded through Class.forName(className). In Net4j is some class loading going on relative to a baseURL which is derived from LegacyBundle.computeBaseURL(). This doesn't work on Android.
My new plan is to fork Net4j and replace the URL-based classloading stuff with Class.forName(className) calls. Can someone guide me please, how to introduce a new Bundle for Android besides the one for plain java "LegacyBundle" and the one for OSGi "OSGiBundle" without breaking the existing architecture. Thank you very much!
Cheers,
Andy
[Updated on: Wed, 01 October 2014 16:02] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Thu Sep 26 04:16:51 GMT 2024
Powered by FUDForum. Page generated in 0.03177 seconds
|