Plattner Melanie Leschinger Bernhard

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Overview Environment for Internet database connectivity
An architecture for webb applications, J2EE
IIS Technologies.
Technical Architectures
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Servlets and a little bit of Web Services Russell Beale.
Mi-Joung choi, Hong-Taek Ju, Hyun-Jun Cha, Sook-Hyang Kim and J
Chapter 2: Application Layer
The Internet Useful Definitions and Concepts About the Internet.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
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”
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
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.
Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 1 of…
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
Chapter 4: Core Web Technologies. Contents - Chapter 1 o Exchanging information over the Internet ÞHTTP, HTML ÞURI, URI ÞWeb server, web browser o Web.
Client/Server Architecture
Client-Server Processing and Distributed Databases
©Brooks/Cole, 2003 Chapter 6 Computer Networks. ©Brooks/Cole, 2003 Understand the rationale for the existence of networks. Distinguish between the three.
Understanding and Managing WebSphere V5
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
INTRODUCTION TO WEB DATABASE PROGRAMMING
IT 210 The Internet & World Wide Web introduction.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
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.
Chapter 4: Core Web Technologies
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Internet, intranet, and multimedia database processing l Database processing across local and wide area networks l Alternative architectures for distributing.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Fundamentals of Database Chapter 7 Database Technologies.
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Lecture 15 Introduction to Web Services Web Service Applications.
Chapter 4 Networking and the Internet. © 2005 Pearson Addison-Wesley. All rights reserved 4-2 Chapter 4: Networking and the Internet 4.1 Network Fundamentals.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
+ Web Technologies Abdenbayeva Aigerim IITU – 2014.
BASIC INTERNET PROTOCOLS: http, ftp, telnet. Mirela Walczak.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
WEB SERVER SOFTWARE FEATURE SETS
REST By: Vishwanath Vineet.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
(class #2) CLICK TO CONTINUE done by T Batchelor.
Netscape Application Server
Web Development Web Servers.
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Introduction to J2EE Architecture
Enterprise Application Architecture
Ch > 28.4.
WEB API.
Lecture 1: Multi-tier Architecture Overview
Component-based Applications
Presentation transcript:

Plattner Melanie Leschinger Bernhard Web Technologies Plattner Melanie Leschinger Bernhard

What is this lecture about? Introduction to the basic Web technologies that are used to implement the „Web“ portion of Web Services: Some historical details Core Web Technologies Wide area integration Tunneling, Firewalls, EDIFACT

Some historical details Start of standard groups TCP handles conversion between messages and streams packets IP handles addressing of packets across networks TCP/IP enables packets to be sent across multiple networks using multiple standards Telnet One of the earliest standards for exchanging transmission, directly connect accounts on different systems. SMTP specifies another way of direct connection

Some historical details MIME Extension to the SMTP Protocol which supports the exchange of richer data files such as audio-, video-, and images data. FTP (1973) supports file transfer between Internet sites and allows a system to publish a set of files by hosting an FTP sever innovation  permits anonymous users to transfer files Archie Late 1980‘s distributed file system based on FTP Gopher First simple system, providing GUI

Core Web Technologies HTTP(HyperText Transfer Protocol) generic, stateless protocol governs the transfer of files across a network developed at CERN (Central European Research Network), they also came up with the name WWW, later W3C supports access to SMTP,FTP and other protocols was designed to support hypertext

Core Web Technologies Exchanged information, can be static or dynamic Every resource, accessible over the Web has a URL(Uniform resource locator) HTTP mechanism is based on client/server model typically using TCP/IP sockets

Core Web Technologies since Version 1.1 HTTP requires servers to support persistent connections, to minimize overhead associated with opening and closing connections. Typical methods on the server side are: OPTIONS send information about the communication options GET retrieve document or document produced by a program POST Append or attach information PUT Store information DELETE Delete the resource indicated in the request

Core Web Technologies Another limitation HTTP is stateless Does not provide storing of information between requests No indication of any relationship between two different requests  cookies, small data structures that a web server requests the HTTP client to store on the local machine, are used to maintain state information e.g. cookies store recently view items on a web shop

REST(Representational State Transfer) architectural style, defining the principles of distributed network systems. is the underlying architectural model, guiding the design and development of the current and next generation web architectures

REST Provides a set of architectural constraints, that emphasizes Scalability of component interaction Generality of interfaces Independent deployment of components Enforce Security Etc.

REST vs. Web Services Rest promotes and recommends generic operations on resources HTTP methods: PUT GET POST DELETE SQL: select create drop ect. Utilizes the caching mechanism WS does not promote generic operations First generation only utilizes HTTP POST Each service defines its own application specific operations Requires additional means of discrption,discovery mechanisms on top of the web No caching capabilities

Rest Principles Web consists of addressable resources  a user, utilizing an application selects a specific address(URL) a specific representation of that resource is returned over the web  places the client application into a specific state. On accessing another URL, the client application gets another representation of the resource and in turn, transferring from the current to the new state.

Core Web Technologies HTML(HyperText Markup Language) Defines a standard set of special textual indicators(markups) specifying how a Web pages words and images should be displayed by the web browser

Technologies for Supporting Remote Clients Original intent of core Web Technologies  enable linking and sharing documents It was quickly realized, that by wrapping local information systems to expose their presentation layer by using HTML documents, one could leverage the core Web technologies to have clients that are distributed across the internet.

B2C (Business to consumer) Conventional 3-tier architectures are designed to operate within a single company  data exchanges occur within the safe boundaries of the company in principle there are no reasons why the system could not be opened to other users if the need arises ATM(automatic teller machines are an excellent example of the advantages if doing so

B2C ATM(automatic teller machines are an excellent example of the advantages if doing so client/server system a PC with a network connection to the information services of the bank gives customers easier access to their accounts without the bank incurring a significant part of manual work disappears more efficient interactions with the customer  great service, but there are limitations

B2C Limitations Customers must travel to the nearest ATM, would not be necessary, access to their bank accounts any time, helps extend its functionality. This architecture is called B2C, indicating that the business allows consumers to access their information services directly

Problem Users wanting to take advantage of this opportunity would need to have specialized clients for every company they want to interact with Complexity would grow enormous -> administration

Solution One of the biggest contributions of the Web  providing a universal client for such extensions Nowadays such architectures are implemented by letting the remote computer use a Web Browser as a client since Web Browsers are standard tools, no application specific client has to be installed

Web Browsers One of the first problems  web Browsers were originally intended only to display static documents, returned by HTTP calls Difficult to build sophisticated application specific clients for web browsers

Applets One answer to this problem  Applets Java programs, can be embedded in an HTML document When the document is downloaded, the program is executed by the JVM, presented in the browser, turning the browser into a client by sending the client code as an applet Limitations  download the code Advantage  complexity

CGI(Common Gateway Interface) Web servers must be able to server up content from dynamic sources How can a Web server respond to a request by invoking an application that will automatically generate a document to be returned One of the first approaches to solve this problem, was CGI, a standard mechanism that enables HTTP servers, to interface with external applications, which can serve as „gateways“ to the local information system

CGI How does CGI work it assigns programs to URLs, so that when the URL is invoked, the program is executed CGI programs often serve as an interface between a database and a Web server, allowing users to submit complex queries over the DB through predefined URLs When the Web server receives request for the URL, it will run a program, that will act as a client of the database and submit the query  executing and packs the result into a HTML document  returned to remote browser

Servlets Performance  CGI programs involve a certain overhead Separate process for each instance  takes time, requires a context switch in the operating system Multiple request results – multiple process To avoid this overhead, Jave servlets can be used instead The idea is exactly the same as in CGI programs, but the implementation differs.

Servlets How do they work? Execution and result is the same, but servlets are invoked directly by embedding servlet-specific information within an HTTP request  run as threads of the Java server process, moreover they run as a part of the Web server  eliminates overhead

Application Servers – short overview Equivalent to middleware platforms Main difference  intercorporation of the Web as a key access channel to the services implemented using the middleware  several important implications The presentation layer acquires a much more relevant role Direct consequence of how HTTP and the Web work

Application servers – short overview Realized by merging the presentation layer related to the Web with the application layer of the middleware platform Reason  to allow the efficient delivery of content trough the Web as well as to simplify the management of Web applications

J2EE There are two competing frameworks for Web-based middleware Suns J2EE Microsoft's .NET very similar

J2EE A significant aspect of application servers is the bundling of more and more functionality within the middleware platform Providing integrated support for many different middleware abstractions Therefore blurring the borders between application servers and other middleware

Application server - Application Layer At the application layer, application servers conceptually resemble conventional middleware, provided functionality similar to CORBA, TP monitors and message brokers Goal of application server vendors providing a unique environment for hosting all kinds of application logic, whether Web-based or otherwise,

J2EE - EJB EJB (Enterprise JavaBeans) specification is at the heart of J2EE  there the bulk of the application logic resides An EJB is a server-side component, that delivers application-specific funktionality(responding to a request for a quote…)

J2EE - EJB The EJB specification defines 3 different types of beans, based on how they interact with other components and how they manage state and persistence Session beans Entity beans Message-driven beans

J2EE –EJB container Provides the environment in which the beans run  all interactions go through the container Provides a number of services Supports transactions  freeing a developer from having to define transaction boundaries and implement the related code

J2EE - JNDI Defines an interface for directory services, without mandating any implementation Clients can bind to servers based on the object name (EJB  binding to a server involves binding to an object that provides the interface for interacting with a server)

J2EE - JDBC is an API that enables developers to access almost any tabular data source by executing SQL commands from a java program methods can be called from an EJB or directly from a servlet

Application Server Offer services that simplify administration and management of the application Caching frequently needed objects Checking that an application is running and restarting Object administration and security, defining user has access to which application and enforcing access restrictions

Application Server Cannot match the performance of TP monitors but they try to make systems easier to develop and easier to evolve.

Application Server - Presentation Layer the support for the presentation layer and for the document as the basic unit of transfer is what differentiates application servers from conventional middleware Application servers implement mechanisms which make the transaction between documents and arguments more efficient, flexible and manageable provide a variety of presentation features to support the delivery of dynamically generated, personalized content to different types of clients

Application Server - Presentation Layer A modern application server supports the following types of clients Web Browsers(most common types of clients) Applications Such as those encountered in conventional middleware Devices Such as mobile phones and PDAs E-mail programs Web service clients

Wide area integration A number of strategies 3 layers Client Middleware Server(resource manager) The available strategies are given by all possible combinations of these three layers

Wide area integration - strategies integrating systems at the client level at the middleware level by connecting clients directly to the remote middleware platform, by connecting resource managers to the remote middleware platform. Which of these strategies is the most appropriate, depends on a number of factors

Middleware Extensions The internet requires additional middleware layers between clients and servers or between servers.  existing platforms were simply extended to allow them to interact through the internet, most middleware platforms were designed to work on a single LAN(Local area network)

B2B Business to Business The number of LANs started to grow different branches of the same company implemented their own middleware-based systems  the need for different middleware platforms to communicate with each other, arose. such interactions are called B2B  fully automate the interactions

Firewalls and Tunneling Acts as a barrier against unwanted network traffic Blocks many communication channels Can change the design space in two ways No direct communication between the system to be integrated Parties outside the firewall are not trusted

Firewalls and Tunneling How to get through a firewall and why? Tunneling Tricking the firewall into believing that traffic, which otherwise should be blocked, is actually allowed Protocols which would be blocked are hidden under protocols that are accepted by the firewall Why  not having a direct communication channel is compounded by a necessary lack of trust on all traffic generated outside the firewall

EDIFACT Another important challenge Identifying a common syntax and semantics for the data exchanged between applications In conventional middleware platforms, this problem is hidden behind IDLs  fulfill two roles  used to define interfaces uses an intermediate data representation that specifies how each data type used in IDL is represented in a machine-independent manner

EDIFACT In message-based systems, format and semantics of the messages or files exchanged are typically determined by the EDIFACT standard. Provides standard templates for messages and for the contents of the message

EDIFACT A EDIFACT message typically contain the following fields Interchange Header Version of EDIFACT,IDs of sender end recipient, passwords,date,time Message Header Type of message User Data segments payload Message Trailer Check message completeness Interchange Trailer Check interchange completeness

EDIFACT Pros & Cons + standard structure with 3 letter codes + universal standard defined by EDIFACT + parsers can be constructed easily - very complex standard, often unnecessarily complicated - often only a fraction of the possible information is used - hast to be standardized by EDIFACT before use -requires adhoc development on the systems