web engineering lec 1 2

Upload: fsoejoto

Post on 10-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Web Engineering Lec 1 2

    1/18

    Web EngineeringINTRODUCTION TO WEB

    ENGINEERING

  • 8/8/2019 Web Engineering Lec 1 2

    2/18

    y The World Wide Web has become a major delivery platform for avariety of complex and sophisticated enterprise applications inseveral domains. In addition to their inherent multifacetedfunctionality, these Web applications exhibit complex behaviorand place some unique demands on their usability, performance,security and ability to grow and evolve.

    y However, a vast majority of these applications continue to bedeveloped in an ad-hoc way, contributing to problems ofusability, maintainability, quality and reliability. While WebEngineering can benefit from established practices from otherrelated disciplines, it has certain distinguishing characteristicsthat demand special considerations.

  • 8/8/2019 Web Engineering Lec 1 2

    3/18

    Web Developmenty Web development is a broad term for any activity that can

    comprise of developing a web site for the World Wide Web or aninternet. This can include e-commerce business development,

    web design, web content development, client-side/server-sidescripting, and web server configuration.

    y However, among web professionals, "web development" usuallyrefers only to the non-design aspects of building web sites, e.g.

    writing markup and coding. Web development can range fromdeveloping the simplest static single page of plain text to the mostcomplex web-based internet applications, electronic businesses,or social network services

  • 8/8/2019 Web Engineering Lec 1 2

    4/18

    Web Engineeringy Web engineering actively promotes systematic, disciplined and

    quantifiable approaches towards successful development of high-

    quality, ubiquitously usable Web-based systems and applications.

    y In particular, Web engineering focuses on the methodologies,techniques and tools that are the foundation of Web applicationdevelopment and which support their design, development,evolution, and evaluation. Web application development has

    certain characteristics that make it different from traditionalsoftware, information system, or computer applicationdevelopment.

  • 8/8/2019 Web Engineering Lec 1 2

    5/18

    Web Engineeringy Web Engineering is concerned with establishment

    and use of sound scientific, engineering and

    management principles and disciplined andsystematic approaches to the successful development,deployment and maintenance of high quality Web-based systems and applications

  • 8/8/2019 Web Engineering Lec 1 2

    6/18

    CLIENT SIDE AND SERVER

    SIDE SCRIPTING

  • 8/8/2019 Web Engineering Lec 1 2

    7/18

    y What the following terms mean:

    y Web server:

    A system on the internet containing one or more websites

    y Web site:

    A collection of one or more web pages

    y Web pages:Single disk file with a single file name

    y Home page:

    First page of a website

  • 8/8/2019 Web Engineering Lec 1 2

    8/18

    y Thi k b ut the followi s before workiyour eb p es.

    y Thi a t the s rt f i f r ati (c te t)y a t t t the e .

    y et the g als f r the e site.

    y rga ize y r c te t i t ai t ics.

    y e ith a ge eral str ct re f r ages at ics.

  • 8/8/2019 Web Engineering Lec 1 2

    9/18

    y

    For the simplest web requests, a browser requests an HTMLdocument, and the web server finds the corresponding file andreturns it with the images if any. These requests are for static files.That is, they never change depending upon who requested them,

    when they were requested, or which (if any) additionalparameters were included with the request.

    y Much of the data delivered over the web today, however, isdynamic in nature. Up-to-the-minute stock prices and the latest

    weather reports can be viewed. A users personal email messagesand appointment calendar can be managed.

    y Dynamic web content, then, requires that the web server doessome additional processing of the corresponding request in orderto generate a customized response. In addition to the URL of therequest, response might be dependent upon additional

    arameter val es included with the request. Alternatively, itmight be based on the date and time, the location on the

    networ from which the request was made, or on somerepresentation of the identit of the ser making the request.

  • 8/8/2019 Web Engineering Lec 1 2

    10/18

    y Pages over the internet can be classified as :

    y Static (A static web page is a web page that always comprises of

    the same information in response to all download requestsfrom all users)

    y Dynamic (A dynamic web page is a hypertext documentrendered to a World Wide Web user presenting content thathas been customized or actualized for each individual viewingthe page or that continually updates information as the page isdisplayed to the user)

  • 8/8/2019 Web Engineering Lec 1 2

    11/18

    y Classical web page design using only HTML or XHTML, providesstatic content, meaning that a page retrieved by different users atdifferent times is always the same.

    y However, a web page can also provide a live user experience.Content (text, images, form fields, etc.) on a web page canchange, in response to different contexts or conditions. There aretwo ways to create this kind of effect:

    1- Using client-side scripting to change interface behaviors within aspecific web page, in response to mouse or keyboard actions or atspecified timing events. In this case the dynamic behavior occurs

    within the presentation.

  • 8/8/2019 Web Engineering Lec 1 2

    12/18

    2- Using server-side scripting to change the supplied page source betweenpages, adjusting the sequence or reload of the web pages or web contentsupplied to the browser. Server responses may be determined by suchconditions as data in a posted HTML form, parameters in the URL, thetype of browser being used, the passage of time, or a database or server

    state.

    y Web pages that use the first method must use presentation technologycalled, in a broader sense, rich interfaced pages. Client-side scriptinglanguages like JavaScript, used for Dynamic HTML (DHTML) and Flashtechnologies respectively, are frequently used to orchestrate media types(sound, animations, changing text, etc.) of the presentation. The scripting

    also allows use of remote scripting, a technique by which the DHTML pagerequests additional information from a server, using a hidden Frame,XMLHttpRequests, or a Web service.

    y Web pages that use to the second method are often created with the help ofserver-side languages such as PHP, Perl, ASP, ASP.NET, JSP, ColdFusion andother languages. These server-side languages typically use the CommonGateway Interface (CGI) to produce dynamic web pages.

  • 8/8/2019 Web Engineering Lec 1 2

    13/18

    y Client-side scripting generally refers to the classof computer programs on the web that

    are executed client-side, by the user's web browser,instead of server-side (on the web server).

  • 8/8/2019 Web Engineering Lec 1 2

    14/18

    y Client-side scripts are often embedded withinan HTML document (hence known as an "embedded script"), butthey may also be contained in a separate file, which is referenced

    by the document (or documents) that use it (hence known as an"external script"). Upon request, the necessary files are sent to theuser's computer by the web server (or servers) on which theyreside. The user's web browser executes the script, then displaysthe document, including any visible output from the script.

    Client-side scripts may also contain instructions for the browserto follow if the user interacts with the document in a certain way,e.g., clicks a certain button. These instructions can be followed

    without further communication with the server, though they mayrequire such communication.

  • 8/8/2019 Web Engineering Lec 1 2

    15/18

    y In contrast, server-side scripts, written in languages suchas Perl, PHP, and server-side VBScript, are executed by the webserver when the user requests a document. They produce output

    in a format understandable by web browsers (usually HTML),which is then sent to the user's computer. The user cannot see thescript's source code (unless the author publishes the codeseparately), and may not even be aware that a script was executed.

  • 8/8/2019 Web Engineering Lec 1 2

    16/18

    y To summarize Development of web based applicationscan be split into many areas and a typical and basic

    categorization might consist of:

  • 8/8/2019 Web Engineering Lec 1 2

    17/18

    Client Side Codingy AJAXProvides new methods of using JavaScript, and other

    languages to improve the user experience.

    y Flash Adobe Flash Player is a client-side platform ready for RIAs.

    y JavaScript Formally called ECMAScript, JavaScript is a ubiquitousclient side programming tool.

    y JavaFX is a software platform for creating and delivering rich Web

    applications that can also run across a wide variety of devices.

    y Microsoft Silverlight Microsoft's browser plugin that enablesanimation, vector graphics and high-definition video playback,programmed using XAML

  • 8/8/2019 Web Engineering Lec 1 2

    18/18

    Server SideC

    odingy ASP (Microsoft proprietary)y ColdFusion (Adobe proprietary, formerly Macromedia)y CGI and/or Perl (open source)

    y C Server Scripts (TrustLeap G-WAN, freeware)y Java, e.g. J2EE or WebObjectsy Lotus Dominoy PHP (open source)y Python, e.g. Django (web framework) (open source)y

    Smalltalk e.g. Seaside, AIDA/Weby SSJS Server-Side JavaScript, e.g. Aptana Jaxer, Mozilla Rhinoy Websphere (IBM proprietary)y .NET (Microsoft proprietary)