Skip to main content
GameDev.net gamedev.net
🔒 Locked

Is Java my only choice?

Started by Mike May 10, 2004 at 12:31 PM 8 replies 900+ views
Original Post
Mike
Mike
I would like to develop a web applet that connects to an Access database every 30 seconds or so and pulls data from it (statistical data) and then plots it graphically in the applet. I know this could be done using Java, but I''m wondering if that is my only choice. I know that ASP.Net can handle web applications to some degree with user input and such, but can ASP.Net handle the graphical drawing that I need (which would essentially be just GraphicsPaths that I add a line to in GDI+). I''ve used C# and VB.Net, but not in an internet environment. If there other possibilites, please let me know. I just want to know what my choices are before I start developing this thing in Java.
VizOne
VizOne
Yes, you can use GDI+ in ASP.NET to dynamically create pictures and send them to the client-browser. Theres a lot of information available on the net, google for "ASP.NET creating images" or something like that.

Regards,
Andre Loker
fredizzimo
fredizzimo
I would use php or possible asp, and generate a dynamic image with the graph every 30 seconds. Then have the browser refresh every 30 seconds. That would get rid of the ugly javascript frame when loading and doesn''t have the java overhead when loading. It also works in every graphical browser without any problems.

Zipster
Zipster
Sure, this can be done in C#/VB.NET. You just have to know how to do it

The first step is to just create a regular Windows application. This is where you can do all your drawing. Once it's created, you want to go to View->Server Explorer. A new pane should pop on on the left. You want to right-click in that pane and Add Connection.... In the dialog box that pops up, go to Provider and select Microsoft Jet 4.0 OLE DB Provider, which is what you would use for all Acesss databases. Then you can go to the Connection tab and browse for the database file. You can also set other properties in the other tabs.

Once you're done creating the connection, you can access and manipulate it using OleDbConnection and OleDbDataAdapter components. Now, don't create these components manually, because if you use the wizard it will create all the query requests and such for you automagically.

Once your databases is in Server Explorer, expand it. You should come across all your tables, queries, etc. If you have a table you want access to, click and drag the table from the Server Explorer onto your form. If all goes well, .NET generates the two OLE DB components for you. If you only need access to specific fields, you can actually Ctrl-select only the fields you want, and drag those. The wizard takes care of everything.

Next, select your data adapter, and at the bottom of the properties page select Generate Dataset and create a new dataset. If all goes well again, you now how a dataset schema that can be used to generate actual DataSet objects. Drag a DataSet component from the toolbox onto your form, select the scheme you just created as the Typed Dataset, and now you have a custom DataSet object by which to store data you get from the Access databases, using the data adapter. Take a look at OleDbDataAdapter and DataSet to see what you can do.

Hope that gets you started.

[edited by - Zipster on May 10, 2004 4:18:57 PM]
Puzzler183
Puzzler183
It''s way more effective use of bandwidth to use a java applet. Think about it, a picture (HUGE) or a few numbers (tiny).
Zipster
Zipster
Oh yeah, it needs to be a web application... forgot about that Go with the Java applet.
Mike
Mike
The applet is the best way i could think of, but I figured I might as well ask.
Xai
Xai
actually no ... people in the windows world use downloadable COM / ActiveX components in the browser to achieve client-side code of this type.

I''m not recommending that over Java, I personally have no opinion about it, I just know my current manager creates ActiveX components for all his custom client side coding ... but that''s cause he knows C++ and C# and not Java.

Course, that''s assuming you want client side functionality ... if you want client side functionality you have 4 normal choices:

JavaScript for things which it supports
Java for heavy things, but requires Java already be installed on the client.
ActiveX/COM for heavy things, but requires compatible browser (which usually means IE, and 5.5 for tasks which make significant use of XML)
.NET for heavy things, but requires the client have the .NET framework already installed at the client

ALL of those solutions except JavaScript might not work on many peoples setups, if you are not in control of them, and the .NET one is probably a bad bet for the time being ...


NOW for SERVER SIDE work (where you generate the picture at the server) - you can use many many different options, but the most common are: PHP, ASP, Java, ASP.NET (whatever language you choose). I like all of those technologies except ASP. I personally work in C# .NET doing large ASP.NET applications and like it fairly well - but Java should be almost identical.

as for the "bandwidth" difference between client and server side, that totally depends on source data set size versus image size (and compression).

And then there are the issues of:
- How much work is it to generate the image, and would you rather pay that cost once at the server, or defer it to each client.
- Are the client''s allowed access the the actual raw source data ... if not, server side is your only choice.
Mike
Mike
I am familar with JavaScript, Java, ASP, etc.....

I think for the purposes I have in mind, Java is my best bet. I knew that using .Net reduces the usability to only those computers with the framework, but we have complete control over the envornment in which the webpage will be displayed, so that really wasn''t an issue.

In regards to bandwidth, I''d imagine that Java is the winner. I''m only looking to plot a give point (x and y positions) at 30 second intervals. I can''t imagine it would be more efficient to regenerate an entire website when only two more numbers are needed.

I hadn''t considered using ActiveX. Although I''ve done a lot of Win32 programming in C/C++, C#, VB, and VB.Net, I''ve never actually developed an ActivX commponent (although I have done some COM programming). Are ActiveX components being replaced with Assemblies in the .Net framework like COM objects are?

I supose I''ll just use Java and stay away from the MS solution (although I''m a microsoft fanboy) until the .Net framework is more widley supported.

Thanks for all of the feedback on the issue.
Xai
Xai
not that it affects the best choice, but it's important to mention this:

Using ASP.NET does not in any way limit you to using only clients with .NET installed. ASP.NET is a server side system - so the SERVER would need Windows / IIS and .NET (or *nix and MONO).

It is only if you want to use CLIENT SIDE .NET code, that you are limited to .NET clients.

In fact, if you do not use Object and Xml tags or other such things, you can use ASP.NET to serve up pages viewable in any browser. Even Phones.

So once again the question becomes, are you going to make the image at the server and send it to the client as an image, or send the client the data and let them make the image? That's the fundamental primary decision.

Best of luck to you.

[edited by - Xai on May 12, 2004 7:06:28 PM]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.