Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


CORBA Messaging Client/Server Application

Posted on 2002-07-24
Medium Priority
Last Modified: 2013-12-29
We have this messaging application that clients subscribe to. Right now it's just a asp page that the browser refreshes ever 5 seconds or so and it pulls the updates from a SQL Server 7 database. We tried moving the client part of that to a Java applet but that was a no go.

We are going to move it to a client/server application architecture where the client applications (Java Applications) logon to the server and the server pushes the data to the clients.

The first thought was to just use a Multicast Socket. But not all networks support that. The second thought was that we could just open a socket connection to every client out there(a suggestion by the boss that I quickly shot down. Correct me if I'm wrong here but I'm looking to make one server support at least 9000 clients. That number can come down but a server has to at least support 1500). So reading Professional Linux programming Chapter 20 and 21 they started an application that uses corba. I have corba books I think I can pick it up easily the idl looks like Microsoft IDL which I know (but have never had to use).

So here's the architecture:

The server is going to be running Red Hat Linux v7.3
There is a PostgreSQL server running on that same machine.
The client application will be written in Java(application).
The clients are all over the world on different types of connections(if behind a firewall and CORBA goes through a certain port it will be the clients responsibility to get that port opened for now)

Since I've never made a client/server app like this before here are my questions:

The client apps are going to be in Java: How does the Java application know where the server is. I'm assuming if I compile the IDL on the server it generate proxy/stubs and headers that I include in the application. Which is how the client will know where the server is. If I'm wrong please tell.

I've seen between 800 - 900 clients on at any given time. And this number is expect to increase. I want to support at least 1500 preferablly 9000 (that could be asking alot but we have another service that we charge for that has over 7000 users and we are thinking about giving them trial memberships to this). So can something like this support that number of clients and how do I throw in another server and have the clients reconize it. Kind of like Win Amp or the old Morepheus where it tries to connect to different servers.

I picked java because of the different number of platforms that we want the client application to run on. Is that the best language to use. And can I write the server in C++ (SPEED) and have the client written in Java.

Thank you..

Question by:arcarson
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3

Author Comment

ID: 7175239
Another question on distribution. What do I have to do to deploy the application.

And looking at one of my books they talk about an IOR distribution problem if the client and server aren't on the same machine what are they talking about.

Author Comment

ID: 7175250
As far as budgets are concerned. I'm limited to the ORBit for the CORBA ORB or any other free one out there.

I don't have the money to buy any other commercial products. It sucks to be me.
LVL 35

Expert Comment

ID: 7176722
 With regards to money. Why use CORBA and and J2EE? JBoss is completely free and it is a serious application server, several companies use it and you do not need to pay a single penny. Besides your application would be far more portable than by using CORBA. And if you think J2EE's specification is big and complicated wait till tyou see CORBA's.

  If you still want to go on with CORBA bare in mind that there are several products out there for locating CORBA objects but only one works with all Internet Inter-ORB Protocol compliant CORBA implementations. The Interoperable Object Reference (IOR) that provides means to obtain initial references to an object.

  You use the classes in the CosNaming package (Common Object Service - allows an object to be published under s symbolic name and then the client can use this symbolic name to find the object) to obtain a reference to an object. The objects you are trying to obtain do not have to reside in the same physical machine but they can be scattered around your enterprise network.

  With regards to C++ and Java I would say that if you are not willing to move the server to another platform then C++ is a good choice for the server side, even though Java would do as well. At the end of the day it all comes down to personal preferences and how confident you are in a programming language. As for the client Java is the best choice.

  For more information on this and sample code you can read here:

http://www.javaworld.com/javaworld/jw-02-1999/jw-02-enterprise.html and here: http://developer.java.sun.com/developer/technicalArticles/Servlets/corba/

  Hope it helps.
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 7225782
I tried to award you points on 08/16/2002

it gives me an error when I do
LVL 35

Expert Comment

ID: 7226226
 Just try to accept my comment as an answer. If this does not work we can let an administator know about the problem and he can sort it out.

  Please let me know if you still have problems and I can talk to an admin.

  Thank you.
LVL 35

Accepted Solution

girionis earned 2000 total points
ID: 7227064
 There seems to be a problem with the new interface... I had simlar problems with some other question when somebody could not accept my comment as an answer.. I think currently you can only accept proposed answers and not comments. I am not sure if proposing this ansewr will help but we can tyr it :-)

  Thank you.

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
Suggested Courses

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question