9
[email protected], [email protected] Java for networking Module Introduction Data Communications Communication architecture Application interfacing – management, security, the Internet Network protocols Protocol stacks Wireless Networking Application development

[email protected], [email protected] Java for networking Module Introduction Data Communications Communication architecture Application

Embed Size (px)

Citation preview

Page 1: N.A.Shulver@staffs.ac.uk, J.C.Westlake@staffs.ac.uk Java for networking Module Introduction Data Communications Communication architecture Application

[email protected], [email protected]

Java for networkingModule Introduction

Data CommunicationsCommunication architectureApplication interfacing – management, security, the

InternetNetwork protocolsProtocol stacksWireless Networking Application development

Page 2: N.A.Shulver@staffs.ac.uk, J.C.Westlake@staffs.ac.uk Java for networking Module Introduction Data Communications Communication architecture Application

[email protected], [email protected]

Java for networkingNet-enabled Applications

Objectives of this session:-Overview/HistoryList the advantages of net-enabled applicationsUnderstand how object oriented technology can help

with this type of applicationList technologies that make net-enabled applications

possibleList the capabilities of tools in developing this type of

application

Page 3: N.A.Shulver@staffs.ac.uk, J.C.Westlake@staffs.ac.uk Java for networking Module Introduction Data Communications Communication architecture Application

[email protected], [email protected]

Java for networkingOverview 1

Basic networking facilities include “sockets” and “connection-based” or “connectionless” data routes

There are various low-level protocols we can use with an appropriate language

Java gives us access to low-level networkingGreat for stand-alone applicationsGreat for less common Internet protocols

Page 4: N.A.Shulver@staffs.ac.uk, J.C.Westlake@staffs.ac.uk Java for networking Module Introduction Data Communications Communication architecture Application

[email protected], [email protected]

Java for networkingOverview 2

Network applications can run in a web browserThese can be thought of as “self-service” applications

they enable ‘things’ to be done from a web browser, e.g. online banking

only skill required by user is the ability to use a browser

Other examples: the review of books before buying, or a visit to a museum

Great for piggybacking on standard (e.g. HTTP) protocols

Page 5: N.A.Shulver@staffs.ac.uk, J.C.Westlake@staffs.ac.uk Java for networking Module Introduction Data Communications Communication architecture Application

[email protected], [email protected]

Java for networkingOverview 3

Server-side applications can be very usefulEarly web users were limited to static HTML pagesUseful for presenting company information often in a

hierarchical manner but little or no interaction with the user

Java applets addressed this problem enabling additional code to be downloaded, but still a problem of building customised information

Dynamically generated HTML using the Common Gateway Interface (CGI) was an early solution

Page 6: N.A.Shulver@staffs.ac.uk, J.C.Westlake@staffs.ac.uk Java for networking Module Introduction Data Communications Communication architecture Application

[email protected], [email protected]

Java for networkingOverview 4

CGI was the forerunner for server-side Java based techniques

Java ServletsJavaServer Pages (JSP)Component-based computing (Enterprise JavaBeans)Active Server Pages (ASP)Personal Home Pages (PHP)Visual Basic Web Classes

Page 7: N.A.Shulver@staffs.ac.uk, J.C.Westlake@staffs.ac.uk Java for networking Module Introduction Data Communications Communication architecture Application

[email protected], [email protected]

Java for networkingWeb enabling techniques

How to develop web-based applications and how can a server process multiple requests? - need a fast response

Scalability - HTTP protocol - works in a stateless request-response mode - means it does not bind a server to a client for an inordinate amount of time

There are a number of techniques which can be used to concurrently satisfy thousands of clients

Page 8: N.A.Shulver@staffs.ac.uk, J.C.Westlake@staffs.ac.uk Java for networking Module Introduction Data Communications Communication architecture Application

[email protected], [email protected]

Java for networkingNetworking in Java

Thus we may choose to use Java in a Web environment

Or we may choose to do “bare metal” networking without using the higher-level Internet-style protocols

In this module, we will look at both

Page 9: N.A.Shulver@staffs.ac.uk, J.C.Westlake@staffs.ac.uk Java for networking Module Introduction Data Communications Communication architecture Application

[email protected], [email protected]

Java for networkingConclusion

We will look at many aspects of networked applications

Java is a useful tool to build applications at many different levels of complexity