473,770 Members | 5,880 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Opinions on application design?

I am planning on developing an application which will involve skills that I
have very little experience of - therefore I would appreciate comments on my
initial design thoughts.
Overview on system:

I'm not going to divulge the exact aims of the application but the purpose
of it is to allow multiple client applications to retrieve data from a
database (on a db server) and feed this data into another Windows
application using it's C++ API (already provided to me). There could
eventually be thousands of client apps connecting to this server, and the
database could have millions of rows. Each row of data retrieved would
typically have around 5-10 fields of information and rows would only be
retreived one at a time ie each transmission between server and client would
be only one row of data.
Rough design plans:

I plan on having the following major components:-
- The source database
- The server-side application
- The client application which will run on Windows and will use an API to
control another Windows application on the same machine
- The database driven web application

I am planning on making the source database using mySQL due to the obvious
licensing benefits. This side of things is easy to me as I specialise in
databases (although primarily MS SQL Server).

The server side application will be written in Java and will use JDBC to
connect to the database. I am planning on implementing a cache into this app
so that database reads are relatively infrequent in comparison to data
requests from the client apps.

The client-side application will potentially run on thousands of client PCs.
It will request data from the server-side app which it will then feed on to
the other Windows application using the API. I am planning on writing this
in C++ as the API is in C++

The web application will connect to the database and will allow users to
manage the data. I will probably write this in PHP.

Issues/questions:

- What is the best method to allow the C++ client app to speak to the Java
server application (e.g. request, send and receive data) - what about SOAP?

- Will a Java server-side app cope efficiently with for example 10,000
simultaneous client connections with each requesting data roughly once every
10 seconds?

- In these plans I have given the web application a direct connection to the
source database. Is this a serious security risk and if it is what steps
should I take to minimise this risk?

- Is it easy to encrypt the data transmission between the C++ client app and
the Java server app?

- Should I consider any different approaches to the ones mentioned in my
rough design plans?
Please bear in mind that I have almost no experience of writing cient-server
applications so any comments, advice, tips or pointers to relevant reading
material would be greatly appreciated.

TIA.
Oct 2 '05
43 2852
Davey <da***@hotmail. com> wrote:
[...]
- Will a Java server-side app cope efficiently with for example 10,000
simultaneous client connections with each requesting data roughly once every
10 seconds?

[...]

People might flame me for posting this to a database group :)

Perhaps prevayler (1) is an option for you. Prevayler is a framework,
that can be used to replace a database. Prevalyer holds every object in
memory, thus it is much faster than a database. It supports clustering
and persistent. To some extend it can replace a database with ACID
properties. It is NOT a real database, it doesn't really support
transactional isolation; but it can be fast as hell.

Geggo

(1: Prevayler)
<http://www.prevayler.o rg/>

F'up to c.l.j.d
Oct 25 '05 #41
Roedy Green <my************ *************** ***@munged.inva lid> wrote:
[...]
another possibility is a serialised object, possibly compressed.
Another is RMI.
I thought the OP wanted to have Java at one end and C++ at the other
end. But you're right, this is not perfectly clear from his post. So
Java specific IPC might indeed be an option.
another custom binary format messages on a raw socket
Designing an IPC mechanism from scratch needs some serious experience
with distributed systems and their error semantics. One must be
expecially careful with endianess, field lengths and protocol versions,
otherwise one gets some nasty bugs that are very hard to track down. It
is alos very hard to design a protocol that can cope with network
failures. No offence, but I think the OP lacks this experience. Hence my
hint to preexistent solutions that could fit his needs.
See http://mindprod.com/jgloss/remotefileaccess.html
for a catalog of possible connection techniques.


WebDAV is another intresting file transfer protocol. It can be easily
implemented using servlets. There must be a modular WebDAV
implementation somewhere on the Apache Jakarta site.

Geggo

Oct 25 '05 #42
On Tue, 25 Oct 2005 10:15:52 +0200, ne*****@schwets chke.de (Stefan
Schwetschke) wrote, quoted or indirectly quoted someone who said :
I thought the OP wanted to have Java at one end and C++ at the other
end. But you're right, this is not perfectly clear from his post. So
Java specific IPC might indeed be an option.


Even if he does, he can still do a link with C++<->C++ or Java<->Java
and then bridge to the other at one end with JNI, sockets etc.
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
Oct 25 '05 #43
On Tue, 25 Oct 2005 09:17:47 GMT, Roedy Green
<my************ *************** ***@munged.inva lid> wrote, quoted or
indirectly quoted someone who said :
I thought the OP wanted to have Java at one end and C++ at the other
end. But you're right, this is not perfectly clear from his post. So
Java specific IPC might indeed be an option.


Even if he does, he can still do a link with C++<->C++ or Java<->Java
and then bridge to the other at one end with JNI, sockets etc.


This clumsy-looking solution might have special appeal if your link
has to be encrypted, needs custom protocols, has fancy authentication,
when C++ end is little endian, when you have a large number of custom
message types...

--
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
Oct 25 '05 #44

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

15
2332
by: Eric | last post by:
This is just a thought in my head at the moment and I wanted to get some opinions on an idea on how to design my web site. First, it would be a 100% (or very close to it) PHP site. The best way to descibe this thought would be to give a specific example. The site would revolve around a single .php file...index.php.
38
2281
by: rzed | last post by:
Periodically, we see questions about which gui package is best, or which database package to use. These questions typically trigger some exchanges of opinion, though of course this no one best answer, and eventually things quiet down until the next round. But it seems to me that what seldom gets asked is: why is it Python's concern which package to use for those purposes? It seems to me that a proper approach from the viewpoint of the...
2
1427
by: Mike Florio | last post by:
Need a shopping cart for small site with only a few products that don't change very often. Looking for something under $1000 that can be seamlessly integrated into a custom design. Preferably ASP-based, but not necessarily. Off-the-shelf package ok too... Has anyone used IISCart ? Please post your opinions as it seems like a viable solution so far... I've browsed thru the Aspfaq list, but would welcome personal recommendations...
4
1370
by: Mike Terry | last post by:
Hi all, Please could you give me your opinions on this design? What do you like/dislike about the layout and feel? It's an enhancement of a post I made a few weeks ago. http://www.nowaysylent.co.uk/richmedia2/index2.html Cheers,
3
2614
by: John Doe | last post by:
I've been doing some reading/research on parsing simple configuration files through C, and have heard various opinions on the matter. I'd like to solicit some opinions and design criteria (as well as "gotchas") for doing this. I'm implementing a program that needs to read a standard configuration file, in key=value pairs for starters (though I'm open to other ideas). Basically it would be no more than about 20 lines total, one key per...
8
1284
by: rviray | last post by:
I am just looking for opinions about this project that I am working on. Background: Windows Application built under Delphi. The application uses 4-5 (depending on drill down avenue) deep modal windows to get information (viewing and editing). Basically, you 1) Search for information, say person by First & Last Name...get list 2) Drill down on person to get Demographics, Education, Physical Makeup, Social Makeup, etc. 3) Drill down on...
2
2203
by: Electrified Research | last post by:
The new ASP.NET 2.0 Menu control seems to have some very cool features. But there are some things I don't like. Heavy implimentation of inline style. Some of which I cannot remove. The <a> tags all implement style="cursor:text". The stylesheet in the header begins to get larger and larger as you create a more complex menu and apply styles. I like the menu archatecture but what I want to do is two things: 1. REMOVE ALL STYLE...
1
1124
by: JJ | last post by:
Hi, I am working on a proj and was thinking of creating a Document object that would hold filepath and doc name. And in this Document obj. when page that is using it loads I would call a document obj method to initialize the following javascipt: <code> if (new FileInfo(String.Format("{0}.pdf", strFile)).Exists) {
5
1553
by: JT | last post by:
Hi, I would like opinions on a shareware issue. If shareware uses an online database to hold registration codes, which get copied locally and therefore only needs to check online if the shareware is not yet registered or if the registration code was lost, should there be an "Is it okay to go get your lost registration code?" message box? I've been told that certain firewalls will disallow everything until you've allowed it. I imagine...
0
9595
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9432
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10232
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10008
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9873
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7420
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6682
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5454
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3974
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.