Technologies For use on different layers. Technologies Client tier Client tier to middle tier protocols Middle tier technologies Middle tier to data tier.

Slides:



Advertisements
Similar presentations
Overview Environment for Internet database connectivity
Advertisements

Chapter 17: WEB COMPONENTS
CSIS0402 System Architecture K.P. Chow University of Hong Kong.
Muhammad Taimoor Khan
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Layer 7- Application Layer
Introduction to Web Base Multimedia Application. Web base application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Introduction to Web Interface Technology (CSE2030)
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
The Architecture of Transaction Processing Systems
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Chapter 4: Core Web Technologies. Contents - Chapter 1 o Exchanging information over the Internet ÞHTTP, HTML ÞURI, URI ÞWeb server, web browser o Web.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Web-based Software Development - An introduction.
Client/Server Architectures
INTRODUCTION TO WEB DATABASE PROGRAMMING
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Oracle8 JDBC Drivers Section 2. Common Features of Oracle JDBC Drivers The server-side and client-side Oracle JDBC drivers provide the same basic functionality.
Chapter 4: Core Web Technologies
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Glink: GCOS e-business in an application server architecture Summit 2000, Jim Gallagher.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Introduction to Internet Programming (Web Based Application)
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
E-Learning Material Web Application Design 3. Web Application Design Architecture Which objects go where? The final model notation Summary.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
CS4273: Distributed System Technologies and Programming Lecture 13: Review.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
1 Welcome to CSC 301 Web Programming Charles Frank.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
XML and Web Services (II/2546)
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
The Module Road Map Assignment 1 Road Map We will look at… Internet / World Wide Web Aspects of their operation The role of clients and servers ASPX.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
6/28/ A global mesh of interconnected networks (internetworks) meets these human communication needs. Some of these interconnected networks are.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
CX Introduction to Web Programming
Web-based Software Development - An introduction
Instructor Materials Chapter 5 Providing Network Services
Netscape Application Server
Web App vs Mobile App.
Web Server Administration
Presentation transcript:

Technologies For use on different layers

Technologies Client tier Client tier to middle tier protocols Middle tier technologies Middle tier to data tier technologies

But first…what is a protocol? ‘In computing, a protocol is a convention or standard that controls or enables the connection, communication, and data transfer between two computing endpoints. In its simplest form, a protocol can be defined as the rules governing the syntax, semantics, and synchronization of communication. Protocols may be implemented by hardware, software, or a combination of the two. At the lowest level, a protocol defines the behaviour of a hardware connection.’ –

Wikipedia.org… Protocols are generally used to define real-time communications behaviour. Most protocols specify one or more of the following behaviours: –Detection of the underlying physical connection (wired or wireless), or the existence of the other endpoint or node –HandshakingHandshaking –Negotiation of various connection characteristics –How to start and end a message –How to format a message –What to do with corrupted or improperly formatted messages –How to detect unexpected loss of the connection, and what to do next –Termination of the session or connection

Client tier Client applications –Human to human communications: , instant messaging, USENET news, chat. File transfer or file swapping. Remote login. Proprietary applications (e.g. a multi-user game). –Clients hosted in a Web browser can use the following: HTML forms. JavaScript. Proprietary plug-ins (e.g. Flash). ActiveX controls. Java applets.

Client tier protocols IMAP for AIM for instant messaging HTTP/CGI for HTML forms Browser Apps and plug-ins can be written in: –Java, C++, Eiffel, Fortran, even Cobol. –Need a compiler for your chosen language that will put the code into a DLL (MS Windows) or shared library (UNIX).

HTML Visually rich and widely supported. Forms are primitive and not automatically validated on the client. Not visually pleasing ( step through pages, each of which flashes white before it is drawn).

JavaScript Permits some programming on the client side. –E.g. data validation. Interpreted, so slower than compiled code. Not purely object-oriented. Different browsers provide different levels of support.

Plug-ins and ActiveX Plug-Ins –Can provide client interaction. –Need to be downloaded and installed. –Each one requires different programming expertise. –Must be ported by supplier to each new platform. ActiveX controls –These are 32-bit Windows binaries, hosted by a web browser. They can only run on Windows. –Controls such as clocks and calendars can be added to forms.

Java and new clients JAVA –Simple –Pure object-oriented language. –Prohibits access to resources on the local machine without user authorisation. New clients –Mobile phones –PDAs (Personal Digital Assistant) –Most of the technologies have a version for these.

Client tier to middle tier protocols Communicates between the client and the server. Layered: –At the bottom, TCP/IP –SSL (Secure Socket Layer) which encrypts and decrypts information for privacy and integrity (optional layer). –Secure HTTP (HTTPS), allowing a client to request a document by URI and get back the contents of that document (e.g. Squirrelmail) (optional layer). –JRMP (Java Remote Method Protocol) allows Remote Method Invocation (RMI), allowing an object to send a method to a remote object.

How RMI can use a network aClientaServant JRMP HTTPS (Optional) SSL (Optional) TCP/IP After O’Docherty, M.,’Object-Oriented Analysis and Design’, p245, Wiley, 2005

Continued… Commonly used protocols can be specialised and general: Specialised: –IMAP ( ) –AIM (AOL Instant Messaging) –NNTP (USENET news) –HTTP / CGI (HTML forms) –FTP (File transfer protocol) –Telnet (remote login) General: –TCP/IP (low level transport, also known as sockets) –JRMP (for Java-to-Java communications) –IIOP (for CORBA communications Like RMI, but lots of different languages.

Middle tier technologies This tier (layer) is reached when the user’s interaction with the system is accepted and has been passed on to a server. Server applications may be multi-threaded and designed for high capacity. A server application ‘listens’ to a port (connection point) for clients to connect. Applications can be stand-alone or can be run from a web-server.

Stand-alone applications Mail, messaging, news, chat servers. FTP daemon –A daemon is a type of housekeeping task, that is used by the operating system in a multitasking environment, to ensure that all tasks are properly initiated and ended. Telnet daemon Naming services –These allow clients to find the server object by name E.g.: CORBA registry RMI registry or Java Naming and Directory Interface (JNDI) server ( a general name-to-thing mapping service) Proprietary server (e.g. a process hosting CORBA or RMI objects, an EJB client or a.NET client).

Server code Hosted by a web server: –JSP (Java Server Pages) for building Web pages. Raw HTML interspersed with Java code. –ASP (Active Server Pages) (VB version) –CGI scripts Textual files written in a command language (e.g. PERL – usually invoked by HTML) –Servlets (Java server objects that are instantiated on demand by applets, JSPs or HTML forms).

Middle tier to data tier technologies To access the data tier, either: –Include database-client code on the middle tier, sot we can access a DBMS running on the data tier (e.g. using Java and JDBC (Java Database Connectivity)) –Use same protocols as for client-to-middle tier –Use some non-TCP/IP protocol (legacy system) –Include Enterprise Java Beans (EJB) client code in our middle-tier server and access the data tier via EJBs (see next slide) –Include.NET code in the middle tier server. (Microsoft version of EJB)

Enterprise JavaBeans The Enterprise JavaBeans (EJB) specification is one of the several Java APIs in the Java Platform, Enterprise Edition. EJB is a server-side component that encapsulates the business logic of an application. The application server provides: –persistence –transaction processing –concurrency control –events using Java Message Service –naming and directory services (JNDI) –security –deployment of software components in an application server remote procedure calls using RMI-IIOP or CORBA Additionally, the Enterprise JavaBean specification defines the roles played by the EJB container and the EJBs as well as how to deploy the EJBs in a container. –Wikipedia.org

How they fit together

Client tier

Middle tier

Data tier