Java question

priestja76

Junior Member
Aug 29, 2002
1
0
0
Can anyone shed some light on how Java apps talk to one another? How "chatty" are they? Let's say that a java client of some sort is communicating with an oracle database. I know that oracle isn't java-based, but hang in with me here. If this client sends a request (query) to the database, would it just send the request and simply wait for a response or keep checking with the database to see if it's done yet?

I'm trying to better understand the nature of how java code is running in the background... Thanks in advance.
 

Carceri

Member
Aug 7, 2001
119
0
0
While Java has some special means of communication for different purposes (for example Remote Method Invocation (RMI)) most communication is done over TCP or UDP sockets. Here is doesn't matter on what platform the process in the other end runs on. If a reply is not received over the socket in a specified time an exception will be thrown.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Java does network communication just like any other application, the langauge is really irrelevant. For example if the Oracle protocol says the client submits the query and waits for a reply on the same socket that's what'll happen, if the Oracle protocol says the client submits the query and waits for the Oracle server to initiate a new connection on a different port with the reply that's what'll happen.

And in the specific case of Java and Oracle, the real protocol handling will probably be handled by a JDBC or ODBC driver and the Java app will know nothing about the protocol being used.
 

manly

Lifer
Jan 25, 2000
11,855
2,808
136
Nothinman is correct.

JDBC is an interesting technology with some nuances though. With Oracle, there are two types of JDBC drivers (there are 4 types of JDBC drivers total).

The JDBC Type 4 driver is known as the Thin-Net driver. It uses the database-agnostic JDBC API to communicate with Oracle over TCP sockets with the native Oracle protocol. I don't know if there's a name for this particular protocol, but for Sybase and MS SQL Server, their protocol is TDS.

The JDBC Type 2 driver is an OCI driver. The way this works is it communicates over TCP sockets with some Oracle middleware. From what I understand, this middleware is linked to the RDBMS using OCI DLLs (shared libraries). So the Type 2 driver doesn't speak the native Oracle TCP protocol; it communicates with an intermediary.

Oracle suggests the Type 2 driver is optimized for highest performance, but that's really a myth. I've seen some comprehensive benchmarks that seem to indicate the Type 4 driver is equally adept. JDBC Type 4 drivers are "pure Java" so they are usually preferred unless they have drawbacks that affect your application. With Type 2 drivers, the middleware is a native code component that runs on the database host .

To answer your question, by definition, synchronous network requests are blocking. This means that the standard model for most network servers is a request to the server, and a wait until the server sends the response. As Carceri mentioned, some timeout is usually implemented as well.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |