as of now, I still have two subjects in Java that I haven't fully mastered yet : thread and distributed computing (or programming? or are they one and the same?).
My understanding is really vague about distributed java. Is it about load balancing? spreading a web application across several JVM? session passivate? stuff like that? can anybody show a good place to start basic understanding of this subject? thanks
Sun had a slogan "The Network is the Computer" - so from the very start, Java was loaded with networking tools which allow distributed computing.
Way too many tools to summarize in a post. Basically, you will find support in Java for just about every modern concept of distributed computing. A much much larger concept than just HTTP based systems.
A search for "java distributed computing" will get you lots of resources.
Joined: Feb 01, 2014
so, does that mean distributed programming simply means java networking and that's it? thanks
Joined: Feb 01, 2014
Does distributed computing simply mean configuration? Is there any impact on the coding? thanks
David Spades wrote:so, does that mean distributed programming simply means java networking and that's it?
David Spades wrote:Does distributed computing simply mean configuration? Is there any impact on the coding?
Not only these, as there are many different ways you can achieve distributed computing. Networking is a key part of that. As already said there are different technologies to support these and is a broad subject to explain briefly. You may start with Java RMI tutorial available in Oracle to get an idea and then proceed from there.
When it comes to Java, I would say it's distributed whenever there's more than JVM involved. The JVMs don't necessarily have to run on different physical (or logical) machines, though - they can be on the same machine.
But more generally, a system that is comprised of a web server and a DB server is also a distributed system, even if only one of them (or none :-) runs on a JVM.
IMO, RMI is not a good starting point for this, though. I consider that obsolete technology. Web services, particularly following the REST model, would be more up-to-date. Plain TCP/IP sockets are also an option.