4

I am experimenting with OpenDolphin after a while of being interested in it's concept, I am at the defining requirements phase with some friends for a project we want to make with hopes of earning some money from it this project's concept will be based on a server/multiple-client model where we want the server to have most of the logic, we have average to little experience couple of years each doing java projects but not anything big or exactly with the latests tools, so we struggled a little bit understanding the building process of the gradle setup, and after running this project, we are now faced with tons of groovy projects demos.

And I am struggling to keep my friends interested in the library as they think using what we know best is a better option than trying to understand a library that would mean to learn asap a new language (we are not that lazy but there is some people that is helping us as consultants/associates and we are afraid that if we dont start producing something we are gonna lose their support [we are not earning anything from this yet but without them as "productowners", we wouldnt know what are exactly the market needs]).

I have watched multiple videos and videos like this: http://www.youtube.com/watch?v=z54hEJvpZys are amazing , I think that is exactly what we need.

I would like to know if maybe there is an example/tutorial in java maybe a screencast,blog or recorded webinar of how to make a simple application where the server binds to a port and multiple java clients update the value and sends a pair of commands.

I dont know something like server starts, puts a default value in a variable, client connects and sees value, second client connects sees value, and a command is sent to server "erase", and both clients see that the server erased it and another command is sent "default" and server sets variable to default.

I am not asking for that exact example but something that I can read to make it like that.

I tried making something like that using the .8 release and I was utterly lost, but i think that an easy example like that could help me to make them see how good of a tool this is, "Install this in your laptop, that's the server run it and see how my client and yours are synched automagically".

2 Answers2

4

Ok, you made a good choice of technologies :-)

It appears that the Dolphin JumpStart project (https://github.com/canoo/DolphinJumpStart) covers exactly that combination: OpenDolphin with Java, view in JavaFX, built with Gradle (use dist/jumpstart-gradle.zip) and jetty as the minimal server implementation.

The Jumpstart project is also explained in a step-by-step fashion as part of the OpenDolphin user guide (http://open-dolphin.org/download/guide/guide/howto.html).

Concerning your question about the shared tacho demo: this demo is using only one server that all clients connect to. The "clients" update each other over the server-side event bus. To that end, we do not open any specific sockets. It is all plain HTTP POST that goes trough all proxies and firewalls and needs no special infrastructure.

Dierk
  • 1,308
  • 7
  • 13
2

your concerns are very understandable.

First let me clarify that you can use Java, Groovy, JavaScript or any other language that runs on the JVM with OpenDolphin. What would be your preferred language for a demo?

For a demo that shows many clients that share a common value, I would recommend the SharedTachoDemo.

As for making the build setup easier, we do have to make choices in the demos since there are so many combinations of build system (ant, maven, gradle), structure (all-in-one, multi-project), implementation language, IDE integration (intellij, netbeans, eclipse), server infrastructure (jetty, tomcat, grails, glassfish, jboss, weblogic, webshpere, ...), and last not least the intended UI toolkit (Swing, JavaFX, HTML5, others). If you tell me your preferred combination, I can point you to the respective resource or create one for you.

cheers, Dierk

Dierk
  • 1,308
  • 7
  • 13
  • Thanks,A java project would be the best as It's the language we're more comfortable with, the SharedTachoDemo is indeed very interesting to our objectives, although i did not quite understood if the clients were communicating to a single server or two servers instances with an event bus connecting them. Gradle is ok, we still use ant but we are considering to migrate to gradle(after we learned about it deploying the jumpstart) structure multiproject as it would be easier for us to base our projects in that, we use netbeans for development. – DguezTorresEmmanuel Dec 11 '13 at 02:45
  • As for server we're not sure we would like to embed the communication but are still definig how, maybe an application with sockets or exposing something with an embeded jetty or jboss, what would you recommend for better client server communication? I have seen that all your examples are lighting fast, does opendolphin support sockets? we use javafx for our UIs. – DguezTorresEmmanuel Dec 11 '13 at 02:50
  • 1
    Sorry, I somehow forgot to respond to you last comment. Jetty or JBoss are both fine just like any other Servlet container. You could use WebSockets with a self-made connector but that is not needed. The demos that you so kindly referred to use plain-old standard HTTP POST. The speed does not come from technology. It comes from architecture and some smart use of concurrency. – Dierk Jan 28 '14 at 17:03