Splitting Client and Server side in 2 AppEngines to keep server side code confidential

103 views
Skip to first unread message

Ben

unread,
Dec 4, 2012, 11:27:18 AM12/4/12
to google-a...@googlegroups.com
Dear All,

Here is the problem: we would like to give freely the source code of the client side of our java GWT application while keeping the server side more confidential. 

Any idea to achieve that is welcome. The first idea that that came to our mind is to split the application into two representing more or less the client and server side .. one side talking to the other one .. 

But how to do that? If the 2 apps communicate through WebService that will be terrible  ... Does anybody has done something similar?

Thanks,

Ben

 

alex

unread,
Dec 4, 2012, 11:36:00 AM12/4/12
to google-a...@googlegroups.com
Here's something that might come in handy:




 

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/jGyAitQ6WwkJ.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.

Geoffrey Spear

unread,
Dec 4, 2012, 1:00:21 PM12/4/12
to google-a...@googlegroups.com
Client-side code runs, by definition, on the client; why would it need to be running on App Engine at all? Why would you need to opensource the server code to opensource the client code? 

Barry Hunter

unread,
Dec 4, 2012, 1:08:29 PM12/4/12
to google-appengine
On Tue, Dec 4, 2012 at 6:00 PM, Geoffrey Spear <geoff...@gmail.com> wrote:
Client-side code runs, by definition, on the client; why would it need to be running on App Engine at all? Why would you need to opensource the server code to opensource the client code? 

Mentioned GWT https://developers.google.com/web-toolkit/overview

GWT apps are pretty much written as server side Java code. Which is automatically compiled to (obfuscated) Javascript that runs on the client. 

So the unobfuscated source for the client is server-side code. 

Ben

unread,
Dec 4, 2012, 6:09:43 PM12/4/12
to google-a...@googlegroups.com
Dear All,

Thanks you all for the very fast reply .. I have tried to be short to describe the problem but may be too fast :-) ... 

Right now we have an application, written 100% in Java for both client and server side. Thanks to great GWT, the client side is converted to (offuscated) javascript..  Also with one click, we can deploy the application to run as AppEngine on Google Cloud .. The client side communicate with the server side with RPC ...  all Great stuff

Now the challenge: It is not exactly our situation, but imagine that we would like to give the possibility to partnering companies to make modification to the client side of the application and deploy such resulting application as their own ... For that we are willing to share the client code. 

As we need to make a living we would like to keep the full control of the server side and not provide the server side source code  ....   the partnering company "client" applications will have then to communicate with our master server application and a fee will be paid  on usage .. 

Thus the idea to split our application into two App Engine applications .. one in control of the partnering company and one in our control .. Of course the problem is that those 2 need to communicate .. 

Any suggestion,

B.

yuvi

unread,
Dec 5, 2012, 1:53:20 PM12/5/12
to google-a...@googlegroups.com
hi Ben,

In general it is possible to make Ajax call from a client on abc.com to service at xyz.com
That is done normally by jsonp calls to solve the same-origin browser issue.
Using GWT might complicate things..... if you have used gwt-rpc then you are facing a problem. to the best of my knowledge it is not possible to split your deployment. If the client code is on a different domain you need to use GWT RequestBuilder or jsonpRequestBuilder... hope that helps.

Andrei Volgin

unread,
Dec 5, 2012, 4:12:53 PM12/5/12
to google-a...@googlegroups.com
The right approach is to expose an API that your partners can use to build their own apps to communicate with your server/data layer. You can also open-source your client, or create a client library for building a client app. If you open your client, it will have to talk to your servers using the same API that you expose to your partners. If you open the client-side library, your own client may remain closed and use RPC, while the open client library will use the API.

Andrei Volgin
Reply all
Reply to author
Forward
Message has been deleted
0 new messages