Web interface for existing business logic

Hi

I’ve been given the task of designing a webapplicaiton for a DSL-test facility which in its most basic form controls one or more digital subscriber line multiplexers and a bunch of relays for a variable cable length. The original software was a desktopapplication written in C# and windows forms. But now they want it written in Java with a webinterface where multiple users can log in, choose an existing test or create a new one, and run it. After this, a report should be generated, and I’d love to show realtime statistics of the dsl-line and its properties. For example with live graphs and so on.

As a C domain developer with no experience en Java, and even less in web programming in java, I’ve hit a wall. I was shocked of how many different frameworks was available, and I just can’t seem to find one that suits my application.
I read a book about JSP and Java EE, but that seems a bit outdated now. (?) JSF has a lot of critics, and Spring seems awfully big, Vaadin seems nice, but a lot of critics says it’s slow.

I have a solid business logic layer with good interfaces for running the tests, setting the cablewall and so on. Is the CUBA framework able to help me here? Not only should the app be functional, but I also need a good looking, simple, user interface.
For inspiration I’m looking at Nessus (See attached picture)

Where do I start? Is CUBA a suitable framework for me and my app?
If you haven’t noticed, I’m more of a “software close-to-the-metal” kind of guy… So I’m a bit lost.

ANYTHING is helpful! Thank you!

Benjamin

Hello Benjamin,
From what you describe, I belive CUBA is a good choice for you. It is specifically built for “admin-type” interfaces - grids, charts, buttons, edit fields, data searches, etc.

As it is a “high level” framework, CUBA also abstracts you from specifics of the underlying tech like Spring, Vaadin, JavaEE, etc. You basically only need to know Java SE. This is extremely valuable for quick start, especially if you have limited Java web dev experience. Basically most of routine scaffolding is eliminated, and you can get something working in minutes (might be not so comfy for a “close-to-the-metal” guy, but I bet you’ll like it :slight_smile: )
Your business logic can be implemented in Java on the serverside, or you could keep it as is in C# and have some kind of server side integration (e.g. via REST). The framework would not limit you here in any way.

As for Vaadin being slow - we’ve implemented projects with up to a 1000 concurrent users, and it’s been fine. It might struggle with old browsers (like IE 8 and below) though.

My advice would be to just go and try CUBA, and decide based on this. Download Studio and go through the quick start (https://www.cuba-platform.com/quickstart), or even better - our hands-on lab (https://www.cuba-platform.com/system/files/CUBA-Hands-on-Lab.pdf). This will only take half an hour in the first case, and 2-4 hours in the second. In the end, you will be able to make a non-biased decision based on your experiece.

Best regards,
Andrey

Hi Andrey

Thank you so much for your answer.
Seems exiting! I feel like a kid with a new toy, haha! I’ll look into your hands on lab :slight_smile:

Again - thanks!

You are welcome! I hope you’ll enjoy!
And please share your experience here or email me directly ag at haulmont.com