Win a copy of Microservices Testing (Live Project) this week in the Spring forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Liutauras Vilda
  • Henry Wong
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Al Hobbs
  • Carey Brown
Bartenders:
  • Piet Souris
  • Mikalai Zaikin
  • Himai Minh

Web Application Technologies

 
Ranch Hand
Posts: 81
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hey this is my first post, so please forgive me if it's in the wrong place.

Anyways my question is not about a specific code issue, it's an architecture/technology issue. Basically, I just got my first real programming job and I am kind of a lone wolf out here figuring stuff out(only software guy in the company. The last guy quit abruptly, so they hired an entry level candidate(me) to be the "Resident Software Expert". It's kinda cool, yet scary since I have to just figure it all out on my own.

My Boss approached me with an idea for a new product. The basic idea is this: there is some kind of touch screen thin client or really tiny(7inch) laptop with a touch screen. It controls a piece of machinery through the touch screen and displays trends of the operating parameters over time.

That's not so hard, I could do that with just plain old Java SE, which I know pretty well from school and my own projects. However, here is the kicker. The System needs to be accessed remotely from any computer in the building via the company intranet. They need to be able to all be viewing whatever screen, trend or whatever they want simultaneously (screams Threads to me) and remotely control the machine via the web.

What technologies should I be looking at to build this thing? I was thinking JSP(which I worked with a bit), but I have no idea.

I have a good understanding of Java SE(including threads), an ok knowledge of JDBC and some JSP and XML experience(minor).

I am allowed to propose any platforms, technologies,etc. The last software guy loved .net stuff, which I hate, so they are leaning towards Asp.net.

Sorry it was a long post, but I would really like to build something using Linux, apache tomcat, a touchscreen laptop and java based technology. I just need to know which technologies to use/look into. Also, why it's better than ASP would be great to tell the boss man.

Thanks,
Jon
 
Ranch Hand
Posts: 125
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jon - sounds like you've got some fundamental things you have to sort out BEFORE you make any technology decisions.

several spring immediately to mind:


The System needs to be accessed remotely from any computer in the building via the company intranet. They need to be able to all be viewing whatever screen, trend or whatever they want simultaneously (screams Threads to me) and remotely control the machine via the web.


Simultaneous viewing of trends is doable. Simultaneous CONTROL is a far far different beast. Establish what they want. How do you resolve conflicting commands from two or more users. Do you use a queue based system, or do you use a session based approach where people only get to use it once the prior user is done?

Personally, I think it sounds like a really insane idea, ESPECIALLY if control has to be shared.

J
 
Jon Parise
Ranch Hand
Posts: 81
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That is a good point and something I will have to bring up with the boss man.

Normally they don't control it remotely too often. But what happens when one guy says Start, while another guy says stop...I will most likely include a Queue of commands.

I could also make it so users must get a lock on the system to control it. If someone else has a lock it will just say "Cannot establish lock on system, Bob Dole currently has the lock" or something of the sort.

I am also most likely going to give everyone who gets on the system a User ID and show who is on the system. Maybe who is viewing each screen.

My big question is can JSP do all this stuff, what would such an architecture looks like?

In my mind the Actual control will be running Apache Tomcat and hosting a bunch of JSP pages with various controls and graphs on them. Can JSP draw to a browser window? I really don't know the limits of JSP or if something like Ajax is better(I know very little Javascript). There is also a database involved, probably Postgresql.

My other big question is would the operator control need to also have a browser or could I somehow have a standard J2SE application that was synced with the JSP through the database? For instance when the J2SE App changes a control param or gets data it puts it into the DB, the JSP server is constantly pulling data out of the DB and pushes it's changes.

And Yes I am building this beast by myself, with no help from anyone....scary, but cool!
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic