• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Scenerio.. Discussion?

 
andy armstrong
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ok here is a scenerio from one of mock exams..
An application accepts input from a user and invokes a function on a server. The client knows where the server resides and the client can be implemented on any platform. The client cannot continue processing until the server has returned. Application development productivity is more of a concern than end user application performance. The server code is implemented in C. What middleware solution BEST fits this situation?
a) Servlets

b) CORBA

c) RMI

d) EJBs

I am pretty sure CORBA would be the best choice
but maybe it would be faster to use JNI and use
servelts but as Mark Cade's book says choose the
best answer..
 
Daniel CarMichael
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Note the wording "Application development productivity is more of a concern than end user application performance".
 
John Lindwall
Ranch Hand
Posts: 31
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Boy I'm gonna have lot of trouble with these kinds of questions..
"The client knows where the server resides" -- of what significance is that? Don't all clients need some specification of the server's location? Is this noise thrwn in to confuse me?
"...the client can be implemented on any platform". Um OK, a Commodore 64? A mainframe? Given that restriction I'd say a browser-based client is best.
HTTP is synchronous so that fits the requirements nicely. Speed of development is handled because you build a single web-based GUI (JSPs & servlets) and all platforms (that are capable of hosting a browser) are accomodated.
The only rub is interfacing the servlets to the server written in C. The poster suggest JNI -- that would work but my one experience with JNI was painful, so I consider that a negative factor as far as "ease of development".
But I guess that is still the least painful route IMO.
 
John Lindwall
Ranch Hand
Posts: 31
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What do people think of my analysis (in the previous post). I'd love to see more opinions and ideas from others. Am I on drugs or somewhat in the ballpark?
 
andy armstrong
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think CORBA is the way to go the code is done
in C. With the other methods you would have to
do some programming and thus time is consumed
and erros can be made..
 
Steve Chernyak
Ranch Hand
Posts: 113
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I also think CORBA is the way to go.
My reasoning is that you have to have a client that can be implemented on any platform. Since a client is not necessary a user but an application possibly written in VB or some other language, CORBA is the better solution.
What if there was one more option F) Web Services
would that be the right answer?
 
Rufus BugleWeed
Ranch Hand
Posts: 1551
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm going to bet the pundits are going to
go with JNI over RMI for ease of implementation.
Especially since the client knows where the
server is located ( IP address ).
Which is harder to setup CORBA or JNI/RMI?
There must be a boat load of C programmers
wanting to migrate to Java that could knock
this right out, today sir.
 
k doshi
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Since "Application development productivity is more of a concern than end user application performance"
and EJB development takes less time than CORBA, why is EJB not a candidate according to all?
 
andy armstrong
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you were starting from scratch then
perhaps ejb's would be a solution.
But since the code is already written
then why rewrite something that already exists.
Hence CORBA.
 
John Lindwall
Ranch Hand
Posts: 31
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Andy: In your opinion what weight are we to put on this requirement: "the client can be implemented on any platform"?
I read that to mean we need to be prepared to implement the client on several (3? 5? 10?) platforms which may be as different as Win98 vs Unix vs VMS.
If that's true is CORBA still a good choice? How would we quickly implement clients for these many platforms using CORBA?
Am I overanalyzing this requirement? This is a fun discussion and I'm learning a lot from you folks.
 
andy armstrong
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I guess the key is the best Middleware solution.
Maybe if the server side progam was small you
could better use RMI because it would be eash to
rewrite the code in Java.
However now looking into it does CORBA even map to C? Maybe RMI is the answer...
 
Samit Das
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My reply -
1)The client knows where the server resides
- naming service to be supported
2)the client can be implemented on any platform
- Any lang to C
3)The client cannot continue processing until the server has returned
- remote invokation of method
4)Application development productivity is more of a concern than end user application performance.
- means a generic and flexible solution not a proprietory soln
5)middleware solution
CORBA fits into all.
 
Shankar Ranganathan
Ranch Hand
Posts: 71
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The line "The client can be implemented on any platform " suits to CORBA only
 
Craig Jackson
Ranch Hand
Posts: 405
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think the best answer is (c) because of the requirement that states:
Application development productivity is more of a concern than end user application performance.

I wouldn't choose (b) because of the robust features of CORBA it has a higher learning curve.
craig
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic