*Printable online certificate available upon completion of course*
The world is becoming interconnected on an unprecedented scale with more services being provided on the Internet. Applications ranging from business transactions to embedded applications, such as those found in refrigerators, are connecting to the Internet. With isolated applications no longer being the norm, it is becoming increasingly important for applications to be network enabled. The goal of this course is to provide the student with the necessary skills to develop Java applications that connect and work with other applications and services across a network. You will be introduced to a wide range of networking options that are available using Java, which will enable you to develop applications using the appropriate technology for the task at hand.
The first 1st,2nd and 3rd section of this course is to introduce the network principles and associated terminology with which the student will need to be familiar in order to make sense of the later sections and lectures of this course. The first section of this course is entirely generic (as far as any programming language is concerned) and it is not until the next sections that we will begin to consider how Java may be used in network programming. If the meaning of any term covered here is not clear when that term is later encountered in lecture, the student should refer back to previous lecture to refresh his/her memory.
Clients and Servers in Java Network Programming
The most common categories of network software nowadays are clients and servers. These two categories have a symbiotic relationship and the term client/server programming has become very widely used in recent years. It is important to distinguish firstly between a server and the machine upon which the server is running (called the host machine), since I.T. workers often refer loosely to the host machine as ‘the server’. Though this common usage has no detrimental practical effects for the majority of I.T. tasks, those I.T. personnel who are unaware of the distinction and subsequently undertake network programming are likely to be caused a significant amount of conceptual confusion until this distinction is made known to them.
Ports and Sockets in Java Network Programming
These entities lie at the heart of network communications. For anybody not already familiar with the use of these terms in a network programming context, the two words very probably conjure up images of hardware components. However, although they are closely associated with the hardware communication links between computers within a network, ports and sockets are not themselves hardware elements, but abstract concepts that allow the programmer to make use of those communication links.