WWW Architecture I. Software Architecture VO/KU ( / ) Roman Kern. KTI, TU Graz

Size: px
Start display at page:

Download "WWW Architecture I. Software Architecture VO/KU ( / ) Roman Kern. KTI, TU Graz"

Transcription

1 WWW Architecture I Software Architecture VO/KU ( / ) Roman Kern KTI, TU Graz Roman Kern (KTI, TU Graz) WWW Architecture I / 81

2 Web Development Tutorial Java Web Development Roman Kern (KTI, TU Graz) WWW Architecture I / 81

3 Web App - Static Content Java web application Most basic way to create a Java web application... using Servlet... using JSPs (Java Server Pages) Example: Maven project For example using Maven and Tomcat Roman Kern (KTI, TU Graz) WWW Architecture I / 81

4 Web App - Static Content Example Static Web Application 1 mvn archetype:generate -DgroupId=at.tugraz.sa -DartifactId=webapp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false 2 mkdir -p src/main/java/at/tugraz/sa 3 kate pom.xml (add the servlet dependency) 4 kate src/main/webapp/web-inf/web.xml (add the Hello servlet) 5 kate src/main/java/at/tugraz/sa/helloservlet.java (add the servlet code) 6 optional: kate src/main/webapp/index.jsp (add some code) 7 mvn package (build the.war file) 8 Copy the target/webapp.war into the webapps directory of Tomcat (or symlink) 9 Start Tomcat, e.g. bin/catalina.sh run 10 Point browser to localhost:8080/webapp/hello/ (for the servlet) 11 optional: Point browser to localhost:8080/webapp/ (for the jsp) Roman Kern (KTI, TU Graz) WWW Architecture I / 81

5 Sample pom.xml (just the dependency part) <dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <version>2.5</version> <scope>provided</scope> </dependency> Roman Kern (KTI, TU Graz) WWW Architecture I / 81

6 Sample web.xml <?xml version="1.0" encoding="utf-8"?> <web-app xmlns=" xmlns:xsi=" xsi:schemalocation=" version="2.5"> <servlet> <servlet-name>hello</servlet-name> <servlet-class>at.tugraz.sa.helloservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping> </web-app> Roman Kern (KTI, TU Graz) WWW Architecture I / 81

7 Sample Servlet package at.tugraz.sa; import java.io.ioexception; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class HelloServlet extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html"); response.setstatus(httpservletresponse.sc_ok); response.getwriter().println("<h1>hello Servlet</h1>"); response.getwriter().println("session=" + request.getsession(true).getid()); } } Roman Kern (KTI, TU Graz) WWW Architecture I / 81

8 Sample JSP <html> <body> <h2>hello World!</h2> The time is now <%= new java.util.date() %> </body> </html> Roman Kern (KTI, TU Graz) WWW Architecture I / 81

9 Database Connection Java database connection The hard way: JDBC The more convenient way: Object-Relational Mapping (ORM) e.g. Hibernate, Java Persistence API (JPA) Roman Kern (KTI, TU Graz) WWW Architecture I / 81

10 Web App - Dynamic Content Java based dynamic web application There are many existing libraries to develop dynamic Java web applications e.g. Java Server Faces (JSF), Wicket, Struts, Google Web Toolkit (GWT),... Separate the client from the server REST like services on the server JavaScript application on the client Roman Kern (KTI, TU Graz) WWW Architecture I / 81

11 Web App - Dynamic Content Example for a Java based dynamic web application Server-side: REST API Jersey Client-side: JavaScript AngularJS (functionality) + Bootstrap (layout) The server and the client communicate by exchanging JSON objects. AngularJS supports the Model-View-Controller pattern on the client side. Roman Kern (KTI, TU Graz) WWW Architecture I / 81

12 Recap Architecture Styles Roman Kern (KTI, TU Graz) WWW Architecture I / 81

13 Recap Separation of Concerns Layered Architectures Client Server Architecture Model-View-Controller Decouple Notification Architectures Interceptor Blackboard Reusability Pipes and Filters Roman Kern (KTI, TU Graz) WWW Architecture I / 81

14 Recap Data Integrability Data Centred Architectures Client Server Architecture Performance & Scalability Data Flow Architectures Peer to Peer Architecture Service Architectures Roman Kern (KTI, TU Graz) WWW Architecture I / 81

15 Outline 1 Introduction 2 Quality Requirements 3 Web Protocols 4 Web Architecture 5 Web Systems 6 Web Applications 7 Web n-tier Architecture 8 Web Data Management Roman Kern (KTI, TU Graz) WWW Architecture I / 81

16 Introduction Introduction Basic concepts Roman Kern (KTI, TU Graz) WWW Architecture I / 81

17 Introduction The Web Started as a static information system Hypermedia: documents linked into a web By following links users retrieve the documents Based on HTTP, HTML, URL (global addressing schema) All components very simple: the major reason for the huge success Roman Kern (KTI, TU Graz) WWW Architecture I / 81

18 Systems Rate of Growth Introduction Time to reach 50 million people Telephone 75 years Radio 35 years TV 13 years The Web 4 years Roman Kern (KTI, TU Graz) WWW Architecture I / 81

19 Introduction Functional Requirements Berners-Lee: Web s major goal was to be a shared information space through which people and machines could communicate. A way for people to structure their information Usable for themselves and others A way to reference and structure information provided by others Cross-platform, global scope Roman Kern (KTI, TU Graz) WWW Architecture I / 81

20 Quality Requirements Quality Requirements Design goals of the Web. Roman Kern (KTI, TU Graz) WWW Architecture I / 81

21 Quality Requirements Quality attributes Usability: it must be very easy to use I.e. very easy to create, structure and reference information Participation was voluntary and it was the only possibility to attract the users Very error forgiving in structuring and referencing because of non-technical background of users Roman Kern (KTI, TU Graz) WWW Architecture I / 81

22 Quality Requirements Quality attributes Technical simplicity: it must be very easy for developers to implement All components simple and text-based I.e the first version of HTTP: servers need to respond to the GET method HTML very simple: easy to write parsers and browsers URLs extremely simple Roman Kern (KTI, TU Graz) WWW Architecture I / 81

23 Quality Requirements Quality attributes Extensibility: it must be easy to add new features The first versions of components very simple - improvements were needed User requirements change even in a closed environment In a global scope the change is only feature that does not change E.g. very soon users wanted to have search facility apart browsing - HTML forms were introduced Roman Kern (KTI, TU Graz) WWW Architecture I / 81

24 Quality Requirements Quality attributes Scalability: it needs to match the Internet-scale More precisely: anarchic scalability The Internet is not under control of a single organization it is totally decentralized Need to continue operating when under an unanticipated load or malformed or maliciously constructed data Roman Kern (KTI, TU Graz) WWW Architecture I / 81

25 Quality Requirements Quality attributes Anarchic scalability: consequences Clients cannot be expected to maintain knowledge of all servers Servers cannot be expected to retain knowledge of state across requests Documents cannot have back-links: the number of references to a resource is proportional to the number of people interested in that information Roman Kern (KTI, TU Graz) WWW Architecture I / 81

26 Quality Requirements Development of The Web The original Web was not designed to meet all of the requirements and quality attributed defined above It lacked also an architectural vision at that time that would meet these ambitious requirements Web Consortium was founded to solve these problems A lot of researchers worked on defining an architecture to meet these needs Roman Kern (KTI, TU Graz) WWW Architecture I / 81

27 Web Protocols Web Protocols Basic Technological Building Blocks Roman Kern (KTI, TU Graz) WWW Architecture I / 81

28 Web Protocols HTTP Protocol The Hypertext Transfer Protocol (HTTP) builds the basic communication infrastructure HTTP is a text based protocol between a client and a server A HTTP request consists of a method and a number of headers A HTTP response consists of a status code and a number of header Both, request and response, may contain additional (binary) content Roman Kern (KTI, TU Graz) WWW Architecture I / 81

29 Web Protocols HTTP Protocol In the first (wildly used) version of HTTP (1.0):... the connection between the client and the server is closed after the response... therefore no need to specify the size of the content being transmitted In version 1.1:... the protocol supports keep-alive to reuse the same connection for multiple request/responses... a header that specifies the content length is needed Roman Kern (KTI, TU Graz) WWW Architecture I / 81

30 Web Protocols HTTP Protocol There are a number of common headers The cookie header allows the server to store a small piece of data on the client... used for session tracking The content type header specifies the type of the payload and optionally its encoding The last change date, or specific hash values help to detect whether content has been changes on the server Roman Kern (KTI, TU Graz) WWW Architecture I / 81

31 Web Protocols HTTP Protocol - Example Example Request GET /webapp/hello/ HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86\_64; rv:19.0) Gecko/ Firefox Cookie: JSESSIONID=9C E65F0CB175BDF ; Example Response HTTP/ OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=iso Content-Length: 64 Date: Mon, 02 Dec :46:05 GMT <content> Roman Kern (KTI, TU Graz) WWW Architecture I / 81

32 Web Protocols Early Web Applications Initially Web applications just served static content The first response to dynamic content has been the Common Gateway Interface (CGI)... as it has been easy to transform a command line application to a web application The web server invokes the application and the standard output is used for the HTTP response Disadvantage: For each request one needs to spawn a new process Roman Kern (KTI, TU Graz) WWW Architecture I / 81

33 Web Architecture Web Architecture Basic Architecture Styles of the Web Roman Kern (KTI, TU Graz) WWW Architecture I / 81

34 Web Architecture Deriving the Web architecture Introducing constraints on the Web architecture to obtain an optimal solution to the requirements and quality attributes Each constraint will have advantages and disadvantages The whole design process is then a balancing process Optimisation to obtain a best-match for the Web architecture Roman Kern (KTI, TU Graz) WWW Architecture I / 81

35 Client-server Web Architecture Figure: Client-server style Roman Kern (KTI, TU Graz) WWW Architecture I / 81

36 Web Architecture Client-server Separation of concerns Separates user-interface from data manipulation concerns Supports independent evolvability E.g. clients and servers can be developed independently and across organizational boundaries Supports Internet-scale attribute Roman Kern (KTI, TU Graz) WWW Architecture I / 81

37 Stateless Web Architecture Figure: Stateless server Roman Kern (KTI, TU Graz) WWW Architecture I / 81

38 Web Architecture Stateless Communication must be stateless in nature Each request from client must contain all the information needed to process that request I.e. it can not take advantage of session information stored on the server Session state is completely on the client Roman Kern (KTI, TU Graz) WWW Architecture I / 81

39 Web Architecture Stateless Supports visibility, reliability and scalability Visibility: only look at a single request to determine the full nature of the request Reliability: it eases the task of recovering from partial failures Scalability: not having to store state between requests allows the server component to quickly free resources Scalability: simplifies implementation because servers do not need to manage information across multiple requests Roman Kern (KTI, TU Graz) WWW Architecture I / 81

40 Web Architecture Cache Figure: Cache Roman Kern (KTI, TU Graz) WWW Architecture I / 81

41 Web Architecture Cache Information can be labeled (by servers) as cacheable If a response is cacheable, then a client cache is given the right to reuse that response data for later, equivalent requests Improves efficiency, scalability, user-perceived performance Decreases reliability if the data does not match Midway: ask a server if the data has changed Roman Kern (KTI, TU Graz) WWW Architecture I / 81

42 Uniform interface Web Architecture Roman Kern (KTI, TU Graz) WWW Architecture I / 81

43 Web Architecture Uniform interface Uniform interface between components Visibility of interactions is improves Simplifies the overall architecture Decouples implementations from the services Improves Internet-scale Roman Kern (KTI, TU Graz) WWW Architecture I / 81

44 Web Architecture Uniform interface Uniform interface degrades efficiency Information is accessed and transferred in a standardized form rather than in an application specific form To define a uniform interface we need: Identification of resources (URL) Manipulation of resources through representations (HTML, recently XML) Self-descriptive messages (GET, POST, PUT, DELETE in HTTP) Roman Kern (KTI, TU Graz) WWW Architecture I / 81

45 Layered system Web Architecture Figure: Layered system Roman Kern (KTI, TU Graz) WWW Architecture I / 81

46 Web Architecture Layered system Improves Internet-scale Application composed of layers that are only aware of the neighbouring components not the complete system Bounds complexity and promotes independence between components Supports scalability by introduction of proxies, shared-caches, gateways E.g. load-balancing behind a gateway Reduce user-perceived performance because they add processing overhead Roman Kern (KTI, TU Graz) WWW Architecture I / 81

47 Code on demand Web Architecture Figure: Code on demand Roman Kern (KTI, TU Graz) WWW Architecture I / 81

48 Web Architecture Code on demand Client functionality can be extended by downloading code E.g. Java applets, Flash, JavaScript Improves extensibility Independent development Roman Kern (KTI, TU Graz) WWW Architecture I / 81

49 Web Systems Web Systems Web as a Platform Roman Kern (KTI, TU Graz) WWW Architecture I / 81

50 Web Systems The Evolution of the Web The Web evolved as a platform Started out with simple Homepages with static documents Developed more and more interactivity Finally into a complex system of different types Roman Kern (KTI, TU Graz) WWW Architecture I / 81

51 Types of Web Systems Web Systems Roman Kern (KTI, TU Graz) WWW Architecture I / 81

52 Web Systems The Web Two faces of the Web The Web as an application platform The Web as a huge distributed database Roman Kern (KTI, TU Graz) WWW Architecture I / 81

53 Web Applications Web Applications Develop Application for the Web Roman Kern (KTI, TU Graz) WWW Architecture I / 81

54 Web Applications Specifics of Web applications What are the issues when building Web applications? User requirements User interface and usability Application state (manage state) and hypertext (navigate) Addressability Architecture Roman Kern (KTI, TU Graz) WWW Architecture I / 81

55 Web Applications Application state on the Web: Hypertext Traditionally, application logic manages the application state E.g., the current state of the data, user inputs, etc. Typically, Web browsers supported only HTML and does not have direct connection to the application logic Communication over network and HTTP with the application logic Web server needs to track users and sessions HTTP is stateless (connection-less), need for special mechanics E.g., session id in cookies or added to the URL Roman Kern (KTI, TU Graz) WWW Architecture I / 81

56 Web Applications Typical Stack of Web-Applications Roman Kern (KTI, TU Graz) WWW Architecture I / 81

57 Web Applications Application state on the Web: Hypertext However, Web server provides only low-level tracking Responsibility of the application logic to manage sessions Manage it within the application server Application server has other responsibilities as well Can lead to serious scalability problems Roman Kern (KTI, TU Graz) WWW Architecture I / 81

58 Web Applications Application state on the Web: Hypertext We can move session management to the client? Transfer parts of the application logic into the client (Code on demand) E.g. Manage it there with AJAX (Asynchronous JavaScript and XML) But other problems arise How to recover states with a new session: AJAX applications have typically single URLs? How to recover previous state, i.e. browser back button problem? Roman Kern (KTI, TU Graz) WWW Architecture I / 81

59 Web Applications Application state on the Web: Hypertext The optimal solution is typically somewhere in the middle: Manage only important states on the server Manage those states with unique URLs E.g. each important application state has a new unique URLs Use linking to relate states to each other No management of the state on the server: no scalability problems No management of the state on the client: no recovery problems Roman Kern (KTI, TU Graz) WWW Architecture I / 81

60 Web Applications Application state on the Web: Hypertext Example: Google Maps Google Maps uses AJAX to maintain a permalink Any action that you execute changes the permalink The permalink is kept as a part of HTML This is the equivalent of the address bar Roman Kern (KTI, TU Graz) WWW Architecture I / 81

61 Web Applications Example: Google Maps Permalink Roman Kern (KTI, TU Graz) WWW Architecture I / 81

62 Web Applications Application state on the Web: Hypertext A little bit of extra DOM/JavaScript work keeps the Permalink up to date as you navigate Every point on the map is a separate application state that has its own URL Application states were destroyed by AJAX but was put back by application design It allowed communities to grow around the Google Maps application Only because of proper management of application states with URLs Roman Kern (KTI, TU Graz) WWW Architecture I / 81

63 Web Applications Addressability URL as the addressing schema For example: /student/add /student/show /student/exam/add /student/exam/show Allow you to share application states for UI and services Just offer different content representations E.g. for UIs: HTML, for services: XML or JSON Roman Kern (KTI, TU Graz) WWW Architecture I / 81

64 Web Applications Addressability Advantages for humans (UIs) Meaningful, easier for humans URL can be bookmarked Search engines can retrieve different parts and index it Advantages for service integration You might link services to each other Roman Kern (KTI, TU Graz) WWW Architecture I / 81

65 Web n-tier Architecture Web n-tier Architecture Layered Architecture for the Web Roman Kern (KTI, TU Graz) WWW Architecture I / 81

66 Web n-tier Architecture Architecture: User-oriented database applications In traditional software engineering UODA are built with an N-tier architecture They started as 2-layer applications Data management layer and application/presentation layer Roman Kern (KTI, TU Graz) WWW Architecture I / 81

67 Web n-tier Architecture Architecture: 2-layer applications Relational database as the Data Management layer Scripts (e.g. PHP) as application/presentation layer One and the same scripts implements application logic and the presentation (e.g. generating of HTML) Everything runs on the server Roman Kern (KTI, TU Graz) WWW Architecture I / 81

68 Web n-tier Architecture Architecture: Problems of 2-layer applications Mixture of application and presentation related functionality Changes in application logic lead to changes in presentation functionality and vice versa E.g. changing a table that present some application data leads to changes in the return values of some application specific functions Even more dangerous the presentation layer talks directly to the DML Better modularity is achieved with the third layer Roman Kern (KTI, TU Graz) WWW Architecture I / 81

69 Web n-tier Architecture Architecture: 3-layer applications Separation between Application and Presentation layer No direct connection between Presentation and Data Management Decoupling of Application and Presentation layer Possibility to exchange Presentation layers Example: making a Web gateway to an existing application The old GUI (e.g. a standalone GUI) is replaced with a Web GUI Roman Kern (KTI, TU Graz) WWW Architecture I / 81

70 Web n-tier Architecture Architecture: 3-layer applications Roman Kern (KTI, TU Graz) WWW Architecture I / 81

71 Web n-tier Architecture Architecture: 3-layer applications Roman Kern (KTI, TU Graz) WWW Architecture I / 81

72 Web n-tier Architecture Architecture: 3-layer applications Presentation tier: HTML, templates and scripts to generate HTML Application logic tier: the actual application, the business logic Data access tier: manages persistent application data Roman Kern (KTI, TU Graz) WWW Architecture I / 81

73 Web n-tier Architecture Architecture: 3-layer applications With introduction of AJAX different possibilities where to situate tiers E.g. presentation in browser: HTML + (presentation) JavaScript, application and data access on server E.g. presentation and application in browser: HTML + (presentation and application) JavaScript, data access on server Note: May require additional considerations in regard to security (if the application logic is done on the client) Roman Kern (KTI, TU Graz) WWW Architecture I / 81

74 Web n-tier Architecture Architecture: 3-layer applications Roman Kern (KTI, TU Graz) WWW Architecture I / 81

75 Web n-tier Architecture Architecture: 3-layer applications There are numerous architecture variants built on the top of N-tier architectures The most important for Web applications: Model-View-Controller architecture It was invented in the early days of GUIs To decouple the graphical interface from the application data and logic Very useful also for Web applications Roman Kern (KTI, TU Graz) WWW Architecture I / 81

76 Web Data Management Web Data Management Architecture Styles for Data Handling Roman Kern (KTI, TU Graz) WWW Architecture I / 81

77 Web Data Management Architecture: Data Management Often Web applications deal with relational databases Need to manage relational data in object-oriented applications Use design patterns like Data Access Object (DAO) Use object/relational mapping (ORM), like Hibernate framework or JPA Roman Kern (KTI, TU Graz) WWW Architecture I / 81

78 Web Data Management Architecture: Data Management The Web we use is full of data (Web as a database) Book information, opinions, prices, arrival times, blogs, tags, tweets, etc. The data is organized around a simple data model: node-link model Each node is a data item that has a unique address and a representation Representation formats are e.g. HTML, PDF,... for humans, or e.g XML, JSON for programs Nodes can be interlinked using their unique addresses Roman Kern (KTI, TU Graz) WWW Architecture I / 81

79 Web Data Management Architecture: Data Management Information retrieval How to find what I m looking for? The mainstream approach are search engines with full-text processing Another approaches analyze links Links in databases, or within/between documents/sites Mixed approach: full-text and links, e.g. Google Roman Kern (KTI, TU Graz) WWW Architecture I / 81

80 Web Data Management Architecture: Data Management Yet another approach is managing metadata Metadata is data about other data, often semi-structured On the web Tag information items (everything that you can access via URL) in a structured manner Social Web 2.0 applications or Microformats Search inside metadata Roman Kern (KTI, TU Graz) WWW Architecture I / 81

81 Web Data Management The End Next: Web Architectures II Roman Kern (KTI, TU Graz) WWW Architecture I / 81

WWW Architecture. Software Architecture VO/KU ( / ) Denis Helic. KMI, TU Graz. Dec 7, 2011

WWW Architecture. Software Architecture VO/KU ( / ) Denis Helic. KMI, TU Graz. Dec 7, 2011 WWW Architecture Software Architecture VO/KU (707.023/707.024) Denis Helic KMI, TU Graz Dec 7, 2011 Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, 2011 1 / 118 Outline 1 Introduction 2 Quality requirements

More information

Implementation Architecture

Implementation Architecture Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2014-11-19 Roman Kern (KTI, TU Graz) Implementation Architecture 2014-11-19 1 / 53 Outline 1 Definition 2

More information

Introduction to Servlets. After which you will doget it

Introduction to Servlets. After which you will doget it Introduction to Servlets After which you will doget it Servlet technology A Java servlet is a Java program that extends the capabilities of a server. Although servlets can respond to any types of requests,

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

More information

Implementation Architecture

Implementation Architecture Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition

More information

Architectural Styles II

Architectural Styles II Architectural Styles II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 21, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles II Nov 21, 2012 1 / 66

More information

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development.

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development. Chapter 8: Application Design and Development ICOM 5016 Database Systems Web Application Amir H. Chinaei Department of Electrical and Computer Engineering University of Puerto Rico, Mayagüez User Interfaces

More information

Enterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets

Enterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets 1. Introduction How do the pages you're reading in your favorite Web browser show up there? When you log into your favorite Web site, how does the Web site know that you're you? And how do Web retailers

More information

Servlets by Example. Joe Howse 7 June 2011

Servlets by Example. Joe Howse 7 June 2011 Servlets by Example Joe Howse 7 June 2011 What is a servlet? A servlet is a Java application that receives HTTP requests as input and generates HTTP responses as output. As the name implies, it runs on

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80

More information

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6 04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is

More information

Session 8. Introduction to Servlets. Semester Project

Session 8. Introduction to Servlets. Semester Project Session 8 Introduction to Servlets 1 Semester Project Reverse engineer a version of the Oracle site You will be validating form fields with Ajax calls to a server You will use multiple formats for the

More information

Roy Fielding s PHD Dissertation. Chapter s 5 & 6 (REST)

Roy Fielding s PHD Dissertation. Chapter s 5 & 6 (REST) Roy Fielding s PHD Dissertation Chapter s 5 & 6 (REST) Architectural Styles and the Design of Networkbased Software Architectures Roy Fielding University of California - Irvine 2000 Chapter 5 Representational

More information

Advanced Internet Technology Lab # 4 Servlets

Advanced Internet Technology Lab # 4 Servlets Faculty of Engineering Computer Engineering Department Islamic University of Gaza 2011 Advanced Internet Technology Lab # 4 Servlets Eng. Doaa Abu Jabal Advanced Internet Technology Lab # 4 Servlets Objective:

More information

Cloud Computing Platform as a Service

Cloud Computing Platform as a Service HES-SO Master of Science in Engineering Cloud Computing Platform as a Service Academic year 2015/16 Platform as a Service Professional operation of an IT infrastructure Traditional deployment Server Storage

More information

JAVA SERVLET. Server-side Programming INTRODUCTION

JAVA SERVLET. Server-side Programming INTRODUCTION JAVA SERVLET Server-side Programming INTRODUCTION 1 AGENDA Introduction Java Servlet Web/Application Server Servlet Life Cycle Web Application Life Cycle Servlet API Writing Servlet Program Summary 2 INTRODUCTION

More information

SSC - Web applications and development Introduction and Java Servlet (I)

SSC - Web applications and development Introduction and Java Servlet (I) SSC - Web applications and development Introduction and Java Servlet (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics What will we learn

More information

Session 9. Introduction to Servlets. Lecture Objectives

Session 9. Introduction to Servlets. Lecture Objectives Session 9 Introduction to Servlets Lecture Objectives Understand the foundations for client/server Web interactions Understand the servlet life cycle 2 10/11/2018 1 Reading & Reference Reading Use the

More information

Chapter 10 Web-based Information Systems

Chapter 10 Web-based Information Systems Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial

More information

Web Programming Paper Solution (Chapter wise)

Web Programming Paper Solution (Chapter wise) Introduction to web technology Three tier/ n-tier architecture of web multitier architecture (often referred to as n-tier architecture) is a client server architecture in which presentation, application

More information

Zero Latency HTTP The comet Technique

Zero Latency HTTP The comet Technique Zero Latency HTTP The comet Technique Filip Hanik SpringSource Inc Keystone, Colorado, 2008 Slide 1 Who am I bla bla fhanik@apache.org Tomcat Committer / ASF member Co-designed the Comet implementation

More information

INF5750. RESTful Web Services

INF5750. RESTful Web Services INF5750 RESTful Web Services Recording Audio from the lecture will be recorded! Will be put online if quality turns out OK Outline REST HTTP RESTful web services HTTP Hypertext Transfer Protocol Application

More information

Overview of Web Application Development

Overview of Web Application Development Overview of Web Application Development Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Web Apps 2018 1 / 34 Table of Contents Overview Architecture 1 Overview

More information

Web Engineering (CC 552)

Web Engineering (CC 552) Web Engineering (CC 552) Introduction Dr. Mohamed Magdy mohamedmagdy@gmail.com Room 405 (CCIT) Course Goals n A general understanding of the fundamentals of the Internet programming n Knowledge and experience

More information

This tutorial will teach you how to use Java Servlets to develop your web based applications in simple and easy steps.

This tutorial will teach you how to use Java Servlets to develop your web based applications in simple and easy steps. About the Tutorial Servlets provide a component-based, platform-independent method for building Webbased applications, without the performance limitations of CGI programs. Servlets have access to the entire

More information

sessionx Desarrollo de Aplicaciones en Red A few more words about CGI CGI Servlet & JSP José Rafael Rojano Cáceres

sessionx Desarrollo de Aplicaciones en Red A few more words about CGI CGI Servlet & JSP José Rafael Rojano Cáceres sessionx Desarrollo de Aplicaciones en Red José Rafael Rojano Cáceres http://www.uv.mx/rrojano A few more words about Common Gateway Interface 1 2 CGI So originally CGI purpose was to let communicate a

More information

ReST 2000 Roy Fielding W3C

ReST 2000 Roy Fielding W3C Outline What is ReST? Constraints in ReST REST Architecture Components Features of ReST applications Example of requests in REST & SOAP Complex REST request REST Server response Real REST examples REST

More information

Enterprise Software Architecture & Design

Enterprise Software Architecture & Design Enterprise Software Architecture & Design Characteristics Servers application server, web server, proxy servers etc. Clients heterogeneous users, business partners (B2B) scale large number of clients distributed

More information

CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. CaptainCasa & Java Server Faces

CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. CaptainCasa & Java Server Faces CaptainCasa & Java Server Faces 1 Table of Contents Overview...3 Why some own XML definition and not HTML?...3 A Browser for Enterprise Applications...4...Java Server Faces joins the Scenario!...4 Java

More information

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system

More information

Copyright 2014 Blue Net Corporation. All rights reserved

Copyright 2014 Blue Net Corporation. All rights reserved a) Abstract: REST is a framework built on the principle of today's World Wide Web. Yes it uses the principles of WWW in way it is a challenge to lay down a new architecture that is already widely deployed

More information

Web Engineering. Introduction. Husni

Web Engineering. Introduction. Husni Web Engineering Introduction Husni Husni@trunojoyo.ac.id Outline What is Web Engineering? Evolution of the Web Challenges of Web Engineering In the early days of the Web, we built systems using informality,

More information

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response

More information

The Basic Web Server CGI. CGI: Illustration. Web based Applications, Tomcat and Servlets - Lab 3 - CMPUT 391 Database Management Systems 4

The Basic Web Server CGI. CGI: Illustration. Web based Applications, Tomcat and Servlets - Lab 3 - CMPUT 391 Database Management Systems 4 CMPUT 391 Database Management Systems The Basic Web based Applications, - - CMPUT 391 Database Management Systems Department of Computing Science University of Alberta CMPUT 391 Database Management Systems

More information

The Architecture of the World Wide Web

The Architecture of the World Wide Web The Architecture of the World Wide Web Laboratory of Computer Technologies L-A Laboratorio di Tecnologie Informatiche L-A Giulio Piancastelli & Andrea Omicini {giulio.piancastelli, andrea.omicini}@unibo.it

More information

Web based Applications, Tomcat and Servlets - Lab 3 -

Web based Applications, Tomcat and Servlets - Lab 3 - CMPUT 391 Database Management Systems Web based Applications, - - CMPUT 391 Database Management Systems Department of Computing Science University of Alberta The Basic Web Server CMPUT 391 Database Management

More information

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how

More information

The Architecture of the World Wide Web

The Architecture of the World Wide Web The Architecture of the World Wide Web Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini after Giulio Piancastelli andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di

More information

Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18

Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18 Web Frameworks MMIS 2 VU SS 2011-707.025 Denis Helic KMI, TU Graz March 10, 2011 Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 1 / 18 Web Application Frameworks MVC Frameworks for Web applications

More information

COPYRIGHTED MATERIAL

COPYRIGHTED MATERIAL Introduction xxiii Chapter 1: Apache Tomcat 1 Humble Beginnings: The Apache Project 2 The Apache Software Foundation 3 Tomcat 3 Distributing Tomcat: The Apache License 4 Comparison with Other Licenses

More information

Application Design and Development: October 30

Application Design and Development: October 30 M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact

More information

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Chapter 1: Abstract The Proway System is a powerful complete system for Process and Testing Data Analysis in IC

More information

Migrating traditional Java EE applications to mobile

Migrating traditional Java EE applications to mobile Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16

More information

REST Easy with Infrared360

REST Easy with Infrared360 REST Easy with Infrared360 A discussion on HTTP-based RESTful Web Services and how to use them in Infrared360 What is REST? REST stands for Representational State Transfer, which is an architectural style

More information

Java Training Center, Noida - Java Expert Program

Java Training Center, Noida - Java Expert Program Java Training Center, Noida - Java Expert Program Database Concepts Introduction to Database Limitation of File system Introduction to RDBMS Steps to install MySQL and oracle 10g in windows OS SQL (Structured

More information

INTRODUCTION TO SERVLETS AND WEB CONTAINERS. Actions in Accord with All the Laws of Nature

INTRODUCTION TO SERVLETS AND WEB CONTAINERS. Actions in Accord with All the Laws of Nature INTRODUCTION TO SERVLETS AND WEB CONTAINERS Actions in Accord with All the Laws of Nature Web server vs web container Most commercial web applications use Apache proven architecture and free license. Tomcat

More information

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design REST Web Services Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline HTTP REST REST principles Criticism of REST CRUD operations with REST RPC operations

More information

About the Authors. Who Should Read This Book. How This Book Is Organized

About the Authors. Who Should Read This Book. How This Book Is Organized Acknowledgments p. XXIII About the Authors p. xxiv Introduction p. XXV Who Should Read This Book p. xxvii Volume 2 p. xxvii Distinctive Features p. xxviii How This Book Is Organized p. xxx Conventions

More information

Enterprise Web based Software Architecture & Design

Enterprise Web based Software Architecture & Design IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions Enterprise Web based

More information

Web Architecture and Technologies

Web Architecture and Technologies Web Architecture and Technologies Ambient intelligence Fulvio Corno Politecnico di Torino, 2015/2016 Goal Understanding Web technologies Adopted for User Interfaces Adopted for Distributed Application

More information

TABLE OF CONTENTS CHAPTER TITLE PAGE

TABLE OF CONTENTS CHAPTER TITLE PAGE vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK TABLE OF CONTENTS LIST OF TABLES LIST OF FIGURES LIST OF APPENDICES ABBREVIATIONS ii iii iv v vi vii xi

More information

Web Architecture Review Sheet

Web Architecture Review Sheet Erik Wilde (School of Information, UC Berkeley) INFO 190-02 (CCN 42509) Spring 2009 May 11, 2009 Available at http://dret.net/lectures/web-spring09/ Contents 1 Introduction 2 1.1 Setup.................................................

More information

The World Wide Web. Internet

The World Wide Web. Internet The World Wide Web Relies on the Internet: LAN (Local Area Network) connected via e.g., Ethernet (physical address: 00-B0-D0-3E-51-BC) IP (Internet Protocol) for bridging separate physical networks (IP

More information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 20 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

Introduction. This course Software Architecture with Java will discuss the following topics:

Introduction. This course Software Architecture with Java will discuss the following topics: Introduction This course Software Architecture with Java will discuss the following topics: Java servlets Java Server Pages (JSP s) Java Beans JDBC, connections to RDBMS and SQL XML and XML translations

More information

Front End Programming

Front End Programming Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page

More information

Web Development. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 10/11. Sérgio Nunes

Web Development. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 10/11. Sérgio Nunes Web Development Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 10/11 Sérgio Nunes 1 Summary The Internet The World Wide Web Web Technologies 2 Introduction 3 Previous Experience? 4 Web and Internet What

More information

Java Enterprise Edition. Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 1

Java Enterprise Edition. Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 1 Java Enterprise Edition Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 1 Java Beans Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 2 Java Bean POJO class : private Attributes public

More information

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple

More information

Unraveling the Mysteries of J2EE Web Application Communications

Unraveling the Mysteries of J2EE Web Application Communications Unraveling the Mysteries of J2EE Web Application Communications An HTTP Primer Peter Koletzke Technical Director & Principal Instructor Common Problem What we ve got here is failure to commun cate. Captain,

More information

Notes beforehand... For more details: See the (online) presentation program.

Notes beforehand... For more details: See the (online) presentation program. Notes beforehand... Notes beforehand... For more details: See the (online) presentation program. Topical overview: main arcs fundamental subjects advanced subject WTRs Lecture: 2 3 4 5 6 7 8 Today: the

More information

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 Developing Enterprise Applications with J2EE Enterprise Technologies Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 5 days Course Description:

More information

Specialized - Mastering JEE 7 Web Application Development

Specialized - Mastering JEE 7 Web Application Development Specialized - Mastering JEE 7 Web Application Development Code: Lengt h: URL: TT5100- JEE7 5 days View Online Mastering JEE 7 Web Application Development is a five-day hands-on JEE / Java EE training course

More information

Introduc)on to Computer Networks

Introduc)on to Computer Networks Introduc)on to Computer Networks COSC 4377 Lecture 3 Spring 2012 January 25, 2012 Announcements Four HW0 s)ll missing HW1 due this week Start working on HW2 and HW3 Re- assess if you found HW0/HW1 challenging

More information

Programming the World Wide Web by Robert W. Sebesta

Programming the World Wide Web by Robert W. Sebesta Programming the World Wide Web by Robert W. Sebesta Tired Of Rpg/400, Jcl And The Like? Heres A Ticket Out Programming the World Wide Web by Robert Sebesta provides students with a comprehensive introduction

More information

Introduction Haim Michael. All Rights Reserved.

Introduction Haim Michael. All Rights Reserved. Architecture Introduction Applications developed using Vaadin include a web application servlet based part, user interface components, themes that dictate the look & feel and a data model that enables

More information

Database Applications

Database Applications Database Applications Database Programming Application Architecture Objects and Relational Databases John Edgar 2 Users do not usually interact directly with a database via the DBMS The DBMS provides

More information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Sco2 Shenker and John Janno6 Administrivia HW3 out today Will cover HTTP, DNS, TCP TCP Milestone II coming up on Monday Make sure you sign

More information

CLIENT SERVER ARCHITECTURE:

CLIENT SERVER ARCHITECTURE: CLIENT SERVER ARCHITECTURE: Client-Server architecture is an architectural deployment style that describe the separation of functionality into layers with each segment being a tier that can be located

More information

Servlet and JSP Review

Servlet and JSP Review 2006 Marty Hall Servlet and JSP Review A Recap of the Basics 2 JSP, Servlet, Struts, JSF, AJAX, & Java 5 Training: http://courses.coreservlets.com J2EE Books from Sun Press: http://www.coreservlets.com

More information

Fast Track to Java EE

Fast Track to Java EE Java Enterprise Edition is a powerful platform for building web applications. This platform offers all the advantages of developing in Java plus a comprehensive suite of server-side technologies. This

More information

Kaazing Gateway: An Open Source

Kaazing Gateway: An Open Source Kaazing Gateway: An Open Source HTML 5 Websocket Server Speaker Jonas Jacobi Co-Founder: Kaazing Co-Author: Pro JSF and Ajax, Apress Agenda Real-Time Web? Why Do I Care? Scalability and Performance Concerns

More information

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java COURSE DETAILS: CORE AND ADVANCE JAVA Core Java 1. Object Oriented Concept Object Oriented Programming & its Concepts Classes and Objects Aggregation and Composition Static and Dynamic Binding Abstract

More information

WWW, REST, and Web Services

WWW, REST, and Web Services WWW, REST, and Web Services Instructor: Yongjie Zheng Aprile 18, 2017 CS 5553: Software Architecture and Design World Wide Web (WWW) What is the Web? What challenges does the Web have to address? 2 What

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411

More information

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 1, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457

More information

HttpServlet ( Class ) -- we will extend this class to handle GET / PUT HTTP requests

HttpServlet ( Class ) -- we will extend this class to handle GET / PUT HTTP requests What is the servlet? Servlet is a script, which resides and executes on server side, to create dynamic HTML. In servlet programming we will use java language. A servlet can handle multiple requests concurrently.

More information

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

Webservices In Java Tutorial For Beginners Using Netbeans Pdf Webservices In Java Tutorial For Beginners Using Netbeans Pdf Java (using Annotations, etc.). Part of way) (1/2). 1- Download Netbeans IDE for Java EE from here: 2- Follow the tutorial for creating a web

More information

Session 24. Spring Framework Introduction. Reading & Reference. dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p

Session 24. Spring Framework Introduction. Reading & Reference. dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p Session 24 Spring Framework Introduction 1 Reading & Reference Reading dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p http://engineering.pivotal.io/post/must-know-spring-boot-annotationscontrollers/

More information

(p t y) lt d. 1995/04149/07. Course List 2018

(p t y) lt d. 1995/04149/07. Course List 2018 JAVA Java Programming Java is one of the most popular programming languages in the world, and is used by thousands of companies. This course will teach you the fundamentals of the Java language, so that

More information

Tapestry. Code less, deliver more. Rayland Jeans

Tapestry. Code less, deliver more. Rayland Jeans Tapestry Code less, deliver more. Rayland Jeans What is Apache Tapestry? Apache Tapestry is an open-source framework designed to create scalable web applications in Java. Tapestry allows developers to

More information

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum ApacheCon NA 2015 How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum 1Tech, Ltd. 29 Harley Street, London, W1G 9QR, UK www.1tech.eu 1 Overview Common Getting Started Problems Common

More information

Programming the Web 06CS73 INTRODUCTION AND OVERVIEW. Dr. Kavi Mahesh, PESIT, Bangalore. Textbook: Programming the World Wide Web

Programming the Web 06CS73 INTRODUCTION AND OVERVIEW. Dr. Kavi Mahesh, PESIT, Bangalore. Textbook: Programming the World Wide Web Programming the Web 06CS73 INTRODUCTION AND OVERVIEW Dr. Kavi Mahesh, PESIT, Bangalore Textbook: Programming the World Wide Web Introduction: Internet and World-Wide Web Internet History Internet Protocols

More information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and

More information

1Z Java EE 6 Web Component Developer Certified Expert Exam Summary Syllabus Questions

1Z Java EE 6 Web Component Developer Certified Expert Exam Summary Syllabus Questions 1Z0-899 Java EE 6 Web Component Developer Certified Expert Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-899 Exam on Java EE 6 Web Component Developer Certified Expert... 2 Oracle

More information

1.1 A Brief Intro to the Internet

1.1 A Brief Intro to the Internet 1.1 A Brief Intro to the Internet - Origins - ARPAnet - late 1960s and early 1970s - Network reliability - For ARPA-funded research organizations - BITnet, CSnet - late 1970s & early 1980s - email and

More information

Adobe ColdFusion (2016 release)

Adobe ColdFusion (2016 release) Adobe (2016 release) Feature improvement history Features included in each edition of Adobe API Manager API monitoring API version and lifecycle management API access control API rate limiting and throttling

More information

Table of Contents WWW. WWW history (2) WWW history (1) WWW history. Basic concepts. World Wide Web Aka The Internet. Client side.

Table of Contents WWW. WWW history (2) WWW history (1) WWW history. Basic concepts. World Wide Web Aka The Internet. Client side. Table of Contents WWW World Wide Web Aka The Internet Karst Koymans Informatics Institute University of Amsterdam (version 44, 2014/10/06 11:35:56 UTC) Tuesday, October 7, 2014 WWW history Basic concepts

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer Networks. Wenzhong Li. Nanjing University Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content

More information

LTBP INDUSTRIAL TRAINING INSTITUTE

LTBP INDUSTRIAL TRAINING INSTITUTE Java SE Introduction to Java JDK JRE Discussion of Java features and OOPS Concepts Installation of Netbeans IDE Datatypes primitive data types non-primitive data types Variable declaration Operators Control

More information

Semantic Web Lecture Part 1. Prof. Do van Thanh

Semantic Web Lecture Part 1. Prof. Do van Thanh Semantic Web Lecture Part 1 Prof. Do van Thanh Overview of the lecture Part 1 Why Semantic Web? Part 2 Semantic Web components: XML - XML Schema Part 3 - Semantic Web components: RDF RDF Schema Part 4

More information

Information Network Systems The application layer. Stephan Sigg

Information Network Systems The application layer. Stephan Sigg Information Network Systems The application layer Stephan Sigg Tokyo, November 15, 2012 Introduction 04.10.2012 Introduction to the internet 11.10.2012 The link layer 18.10.2012 The network layer 25.10.2012

More information

Session 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers

Session 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers Session 9 Deployment Descriptor Http 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/http_status_codes

More information

Implementing a Numerical Data Access Service

Implementing a Numerical Data Access Service Implementing a Numerical Data Access Service Andrew Cooke October 2008 Abstract This paper describes the implementation of a J2EE Web Server that presents numerical data, stored in a database, in various

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...

More information

Setting up a Maven Project

Setting up a Maven Project Setting up a Maven Project This documentation describes how to set up a Maven project for CaptainCasa. Please use a CaptainCasa version higher than 20180102. There were quite some nice changes which were

More information

Application Protocols and HTTP

Application Protocols and HTTP Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due

More information