Web Engineering Introduction
Web Engineering Introduction
The World Wide Web has become a major delivery platform for a variety of complex and sophisticated enterprise applications in several domains. In addition to their inherent multifaceted functionality, these web applications exhibit complex behavior and place some unique demands on their usability, performance, security and ability to grow and evolve. However, a vast majority of these applications continue to be developed in an ad-hoc way, contributing to problems of usability, maintainability, quality and reliability. While web development can benefit from established practices from other related disciplines, it has certain distinguishing characteristics that demand special considerations. In the recent years, there have been some developments towards addressing these problems and requirements. As an emerging discipline, web engineering actively promotes systematic, disciplined and quantifiable approaches towards successful development of high-quality, ubiquitously usable web-based systems and applications.
Administration is typically done through browser-based interfaces, but some systems require the use of a fat client.
A WCMS allows non-technical users to make changes to a website with little training. A WCMS typically requires a systems administrator and/or a web developer to set up and add features, but it is primarily a website maintenance tool for non-technical staff.
Web Engineering makes it possible to plan and iterate development processes and thus also facilitates the continuous evolution of Web applications. This permits not only cost reduction and risk minimization during development and maintenance, but also an increase in quality, as well as measurement of the quality of the results of each phase.
from University of Western Sydney, Australia formally promoted web engineering a new discipline in the first ICSE workshop on Web Engineering in 1999. Since then they published a serial of papers in a number of journals, conferences and magazines to promote their view and got wide support. Major arguments for web engineering as a new discipline are:
Web-based Information Systems (WIS) development process is different and unique. Web engineering is multi-disciplinary; no single discipline (such as software engineering) can provide complete theory basis, body of knowledge and practices to guide WIS development. Issues of evolution and lifecycle management when compared to more 'traditional' applications. Web based information systems and applications are pervasive and non-trivial. The prospect of web as a platform will continue to grow and it is worth being treated specifically.
Software Engineering Multimedia Hypertext
Web Engineering
Figure 2. Web Engineering A multidisciplinary field However, it has been controversial, especially for people in other traditional disciplines such as software engineering, to recognize web engineering as a new field. The issue is how different and independent web engineering is, compared with other disciplines. Main topics of Web engineering include, but are not limited to, the following areas: Web Requirements Modeling Disciplines
Business Processes for Applications on the Web Process Modeling of Web applications Requirements Engineering for Web applications UML and the Web Conceptual Modeling of Web Applications (aka. Web modeling) Prototyping Methods and Tools Web design methods CASE Tools for Web Applications Web Interface Design Data Models for Web Information Systems Integrated Web Application Development Environments Code Generation for Web Applications Software Factories for/on the Web Web 2.0, AJAX, E4X, ASP.NET, PHP and Other New Developments Web Services Development and Deployment
Empirical Web Engineering Testing and Evaluation of Web systems and Applications Testing Automation, Methods and Tools Semantic Web applications Ubiquitous and Mobile Web Applications Mobile Web Application Development Device Independent Web Delivery Localization and Internationalization Of Web Applications Web Metrics, Cost Estimation, and Measurement Personalization and Adaptation of Web applications Web Quality Usability of Web Applications Web accessibility Performance of Web-based applications Web Content Management Multimedia Authoring Tools and Software Authoring of adaptive hypermedia
Content-related Disciplines
Web Engineering is not a single activity or task. It deals with all aspects of Web-based system development, starting from conception and development to implementation, performance evaluation, and continual maintenance. Major Web engineering include: Requirements specification and analysis Web-based system development methodologies and techniques Integration with legacy systems Migration of legacy system to Web environments Web-based real-time applications development Testing, verification and validation Quality assessment, control and assurance Configuration and project management "Web metrics" - metrics for estimation of development efforts Performance specification and evaluation Update and maintenance Development models, teams, staffing Human and cultural aspects User-centric development, user modeling and user involvement and feedback End-user application development Education and training
Web Applications
A Web application is defined as any application program that runs on the Internet or corporate intranets and extranets. The user of a Web application uses a Web browser on a client computer to run the program residing on the server. The entire processing is done on the server as if it were done at the users local machine. In this chapter we use the term in a broader context to include any application that is Web browser based.
upgrade to the server-side code of the application would typically also require an upgrade to the client-side code installed on each user workstation, adding to the support cost and decreasing productivity. In contrast, web applications use web documents written in a standard format such as HTML and JavaScript, which are supported by a variety of web browsers. Web applications can be considered as a specific variant of client-server software where the client software is downloaded to the client machine when visiting the relevant web page, using standard procedures such as Http. Client web software update may happen each time the web page is visited. During the session, the web browser interprets and displays the pages, and acts as the universal client
[2]
In the early days of the Web each individual web page was delivered to the client as a static document, but the sequence of pages could provide an interactive experience, as user input is returned through web form elements embedded in the page markup. In 1995 Netscape introduced a client-side scripting language called JavaScript allowing programmers to add some dynamic elements to the user interface that ran on the client side. So instead of sending data to the server in order to generate an entire web page, the embedded scripts of the downloaded page can perform various tasks such as input validation or showing/hiding parts of the page. In 1996, Macromedia introduced Flash, a vector animation player that could be added to browsers as a plugin to embed animations on the web pages. It allowed the use of a scripting language to program interactions on the client side with no need to communicate with the server. In 1999, the "web application" concept was introduced in the Java language in the Servlet Specification version 2.2. [2.1?].[3][4] At that time both JavaScript and XML had already been developed, butAjax had still not yet been coined and the XMLHttpRequest object had only been recently introduced on Internet Explorer 5 as an ActiveX object.[5] In 2005, the term Ajax was coined, and applications like Gmail started to make their client sides more and more interactive. A web page script is able to contact the server for storing/retrieving data without downloading an entire web page. In 2011, HTML5 was created, which provides graphic and multimedia capabilities without the need of client side plugins. HTML5 also enriched the semantic content of documents. The APIs anddocument object model (DOM) are no longer afterthoughts, but are fundamental parts of the HTML5 specification. WebGL API paved the way for advanced 3D graphics based on HTML5 canvas and JavaScript language. These have significant importance in creating truly platform and browser independent rich web applications.
c)
d)
e)
f)
g)
h)
forms, radio buttons and selection menus. Web pages and links to other pages are generated dynamically according to user input. Examples for this category are virtual exhibitions, news sites, or timetable information. Transactional Web applications: Transactional Web applications were created to provide more interactivity, giving the user the possibility of not only interacting with the application in a read-only manner, but also by performing updates on the underlying content. Online banking, online shopping, and booking systems belong in this category. Workow-based : Workow-based Web applications allow the handling of workows within or between different companies, public authorities, and private users. A driving force for this is the availability of appropriate Web services to guarantee interoperability (Weerawarana et al. 2005). The complexity of the services in question, the autonomy of the participating companies and the necessity for the workows to be robust and exible are the main challenges. Examples for this category are Business-to-Business solutions (B2B solutions) in e-commerce, e-government applications in the area of public administration, or Web-based support of patient workows in the health sector. Collaborative Web applications: Collaborative Web applications are employed especially for cooperation purpose in unstructured operations (groupware). There the need for communication between the cooperating users is particularly high. Collaborative Web applications support shared information and workspaces (e.g. Wikipedia) in order to generate, edit, and manage shared information. They are also used to keep logs of many small entries and edits (as in Weblogs), to mediate meetings or make decisions or simple chat rooms), as scheduling systems, or as e-learning platforms. Portal-oriented Web applications: Portal-oriented Web applications provide a single point of access to separate, potentially heterogeneous sources of information and services (Wege 2002). Makers of browsers, such as Microsoft and Netscape, search engines such as Yahoo, online services such as AOL, media conglomerates, and other companies have become aware of the demand for this and now offer central hubs, so-called portals, as a point of access to the Web. In addition to these general portals, there are various specialized portals such as business portals, marketplace portals in the form of online shopping malls, and community portals. Ubiquitous Web applications: Ubiquitous Web applications provides customized services anytime anywhere and for any device, thus facilitating ubiquitous access. An example of this would be displaying the menu of the day on the mobile devices of all users entering a restaurant between 11 am and 2 pm. For this type of system it is important to take into account the limitations of mobile devices (bandwidth, screen size, memory, immaturity of software, etc.) and the context in which the Web application is currently being used. Semantic Web: The goal of the Semantic Web is to present information on the Web not merely for humans, but also in a machine-readable form. This would facilitate knowledge management on the Web, in particular the linking and reuse of knowledge (content syndication), as well as locating new relevant knowledge, e.g. by means of recommender systems.
A) Product-related Characteristics Product-related characteristics constitute the major building blocks of a Web application, consisting of content, the hypertextual structure (navigational structure), and presentation (the user interface). Following the object-oriented paradigm, each of these parts has not only a structural or static aspect, but also a behavioral or dynamic aspect. Content Generating content, making it available, integrating, and updating it is equally important as the development and provision of the actual software of a Web application. Web applications are used expressly because of the content Web application developers must therefore not only act as programmers but also as authors. Important aspects are the varying degree of structure of the content and the quality demands users make on the content. Hypertext Amongst the specic characteristics of Web applications is the non-linear nature of hypertextual documents. The hypertext paradigm as a basis for the structuring and presentation of information was rst mentioned by Vannevar Bush (Bush 1945). Basic elements of hypertext models are nodes, links and anchors. A node is a self-contained uniquely identiable information unit. On the Web this might be an HTML document which can be reached via a URL (Uniform Resource Locator). A link is the path from one node to another. On the Web, these paths are always unidirectional and their meaning is not clearly dened. Possible meanings include next node according to recommended reading order or diagram for mathematical formula. An anchor is the area within the content of a node that is the source or destination of a link, e.g. a sequence of words in a text or a graphical object in a drawing. On the Web, anchors are only possible in HTML documents. Presentation Two special features of Web applications at the presentation level, i.e. the user interface, are aesthetics and self-explanation. o Aesthetics: In contrast to traditional applications, the aesthetics of the presentation level of a Web application, the look and feel of the user interface, is a central factor not least because of the high competitive pressure on the Web. The visual presentation of Web pages is subject to fashion trends and often determines success or failure, in particular for e-commerce applications. o Self-explanation: Besides aesthetics, it is essential that Web applications are selfexplanatory, i.e. it should be possible to use a Web application without documentation. The navigation system or interaction behavior must be consistent within the whole application, so that users can quickly become familiar with the usage of the Web application.
B) Usage-related Characteristics Compared with traditional applications, the usage of Web applications is extremely heterogeneous. Users vary in numbers and cultural background, devices have differing hardware and software characteristics, and the time and location from where the application is accessed cannot be predicted. The usage of Web applications is therefore characterized by the necessity to continuously adapt to specic usage situations, so-
called contexts. Adjustment to these contexts can be equally necessary for all parts of the Web application, i.e. content, hypertext, and presentation. Because of the fundamental signicance of adjustment to contexts, usage-related characteristics are divided into three groups: social context, technical context, and natural context. Social Context: Users The social context refers to user-specic aspects; spontaneity and multiculturality in particular create a high degree of heterogeneity. Technical Context: Network and Devices The technical context comprises properties relating to the network connection concerning quality of service, and the hardware and software of the devices used to access the Web application, for multiplatform delivery. Natural Context: Location and Time The natural context includes aspects of the location and time of access. Globality and availability create a high degree of heterogeneity.
Development-related Characteristics The development of Web applications is characterized by the necessary resources, such as the development team and the technical infrastructure, the development process itself, and the necessary integration of already existing solutions. The Development Team The development of Web applications is strongly inuenced by the fact that development teams are multidisciplinary and generally rather young. These factors and the methods of the so-called community development contribute to a completely new way of organizing collaboration of different groups of developers. Technical Infrastructure The inhomogeneity and immaturity of the used components are important characteristics of the technical infrastructure of Web applications. Process The development process is the framework for all development-related characteristics, and is in turn inuenced by exibility and parallelism. Integration A special characteristic of many Web applications is the need for internal and external integration. Integration in this context refers not only to technical aspects, but also to content, and organizational aspects.
Advantages
Web based applications promise a number of advantages over traditional non-Web based applications.
1.
Web applications do not require any complex "roll out" procedure to deploy in large organizations. A compatible web browser is all that is needed;
2. Browser applications typically require little or no disk space on the client; 3. They require no upgrade procedure since all new features are implemented on the server and
automatically delivered to the users;
4. Web applications integrate easily into other server-side web procedures, such as email and searching. 5. They also provide cross-platform compatibility in most cases (i.e., Windows, Mac, Linux, etc.) because
they operate within a web browser window.
6. With the advent of HTML5, programmers can create richly interactive environments natively within
browsers. Included in the list of new features are native audio, video and animations, as well as improved error handling.
Disadvantages
Web applications are not the silver bullet that everyone has been dreaming about for so long. Depending on how a Web application is built and what technologies are chosen, some things must be given up.
1. Speed Loss: Web applications do not run as fast as those running on local machine because of the
downloading time and network traffic. This may become less a problem as computer hardware and software improve.
2. Data Presentation Limit: If you choose to go with server-side Javascripting or a total HTML solution,
such as is available via a tool like Intrabuilder, you may be limited to the interface defined by HTML. In other words, you may be unable to provide the users with the latest in the widgets and gadgets that the modern user interface can provide. For example, tools such as datagrids and their capabilities are currently not available. This may limit your ability to layout clearly an application and present data to the user. However, coming advances in HTML technology will reduce this limitation, as the HTML interface becomes more sophisticated.
3. Security Vulnerability: Web applications are inherently vulnerable to malicious Internet attacks. These
attacks can be classified as vandalism and sabotage, breach of privacy, theft and fraud, violations of data integrity, and denial of service. As the e-commerce technologies become more sophisticated, these threats will be minimized.
3. Testing of Web-Based Systems Testing, and verification and validation (V & V) of Web-based systems is an important and challenging task in the Web engineering process. And, yet very little attention is given by Web developers to testing and
evaluation. Web-based system testing differs from conventional software testing and poses new challenges. Web-based systems need to be tested not only to check and verify whether it does what it is designed to do but also to evaluate how well it appears on (different) Web browsers. Importantly, they need to be tested for security and also for usability, from the ultimate users perspective. However, the unpredictability of the Internet and Web medium makes testing Web based systems difficulty. Currently, not much attention is given to Webbased system testing by developers. Also we need to develop new approaches and techniques for testing and evaluation of complex Web-based systems. 4. Management of Large Web Sites Management of large Web sites is a difficult task, especially in the midst of change which is a fact of life in the Web environment. Requirements for management of large Web sites and the tools and a mechanism for organizing and manipulating large Web sites.. Web Configuration Management. Web-based systems undergo changes, perhaps more often and quite extensively, in their development and operational period. The changes called for may include trivial to large-scale change of information/data and major modification to requirements, and also may vary in their significance. These changes need to be handled in a rational, controlled manner. Web configuration management (WCM) encompasses a set of activities for controlling and facilitating change: identification, version control, change control, auditing and reporting. It also provides a framework for handling change in a rational, controlled manner. It could adopt commonly practiced software configuration management (SCM) concepts, principles and approaches to the Web environment.
5. Skills Hierarchy Large Web-based system development requires a team of people with different skills, knowledge and capabilities. A categorization of skills and knowledge-base hierarchy for participants in Web-based system development is provided. 6. Barriers to Web Technology Adoption Three levels of adoption of Web technology: (Level 1) information access, (level 2) work collaboration, and (Level 3) core business transaction. They also identify three key of potential knowledge barriers to Web technology adoption: technology-related knowledge barriers, project related knowledge barriers, application related knowledge barriers.
Functional testing involves making sure that the features that most affect user interactions work properly. In this the following should be tested: Forms i. Field validation ii. Error message for wrong input iii. Optional and Mandatory fields Database * Testing will be done on the database integrity. Cookies * Testing will be done on the client system side, on the temporary Internet files. Pop-up windows Shopping Carts Online Payments 2. Navigation Testing
Links within a hypertext navigation structure that point to a non-existing node (pages, images, etc.) or anchor are called broken links and represent well-known and frequently occurring errors in Web applications. To test for correct linking of pages (link checking), all links are systematically followed beginning on a start page, and then grouped in a link graph (site map). When running a link checking routine, one usually nds not only links that point to non-existing pages, but also pages which are not interlinked with others or so-called orphan pages. An orphan page can be reached via a link, but doesnt have a link back to the hypertext structure. 3. Browser Testing
A large number of different Web browsers can be used as the client for Web applications. Depending on the manufacturer (e.g., Microsoft, Mozilla, Netscape, Opera), or the version (e.g., Internet Explorer 5.0, 5.01, 5.5, 6.0), or the operating system (e.g., Internet Explorer for Windows XP/2000, Windows 98/ME/NT, or Macintosh), or the hardware equipment (e.g., screen resolution and color depth), or the conguration (e.g., activation of cookies, script languages, stylesheets), each Web browser shows a different behavior. Browser testing tries to discover errors in Web applications caused by incompatibilities between different Web browsers. To this end, one normally denes a Web applications core functions, designs suitable test cases, and runs the tests on different target systems with different browser versions. 4. Usability Testing
Usability testing evaluates the ease-of-use issues of different Web designs, overall layout, and navigations of a Web application by a set of representative users. The focus is on the appearance and usability. A formal usability test is usually conducted in a laboratory setting, using workrooms tted with one-way glass, video cameras, and a recording station. Both quantitative and qualitative data are gathered. Usability testing involves following main steps: 5. Identify the websites purpose. Identify the indented users. Define tests and conduct the usability testing Analyze the acquired information Load Testing
A load test veries whether or not the system meets the required response times and the required throughput. To this end, we rst determine load proles (what access types, how many visits per day, at what
peak times, how many visits per session, how many transactions per session, etc.). Next, we determine the target values for response times and throughput. Subsequently, we run the tests, generating the workload with the transaction mix dened in the load prole, and measure the response times and the throughput. The results are evaluated, and potential bottlenecks are identied. 6. Stress Testing
Stress testing consists of subjecting the system to varying and maximum loads to evaluate the resulting performance. We use authorization tests tools to simulate loads on a website and execute the tests continuously for several hours or days, 7. Form testing
Website that uses forms need tests to ensure that each field works properly and that the forms post all data as intended by the designer. 8. Page Content Testing
Each web page must be tested for correct content from the user perspective. These tests fall into two categories: ensuring that each components function correctly and ensuring that the content of each is correct. 9. Configuration and Compatibility Testing
A key challenge for the web application is ensuring that the user sees a web page as a designer intended. The user can select different browser software and browser options, use different network software, and on-line service, and run other concurrent application. We execute the application under every browser/platform combination to ensure the website work properly under various environments. 10. Reliability and Availability Testing
A key requirement for a website is that it would be available whenever the users request it, after 24 hours, a day. The number of user accessing website simultaneously may also affect the site availability. 11. Performance Testing
Performance Testing, which evaluates system performance under normal and heavy usage is crucial to the success of any web application. A system that takes for longto respond may frustrate the user who can then quickly move to a competitors site. Given enough time, every page request will eventually be delivered. Performance testing seeks to ensure that the websites server responds to browser request with in defined parameters. 12. Security Testing
Security is a primary concern when communication and conducting business specially sensitive and business critical transaction over the internet. Then user wants assurance that personal and financial information is secure. Finding the vulnerabilities in an application that would grant an unauthorized user access to the system is important.
Web characteristics The essential feature that led to the explosive growth of the web - decentralized content publishing with essentially no central control of authorship - turned out to be the biggest challenge for web search engines in their quest to index and retrieve this content. Web page authors created content in dozens of (natural) languages and thousands of dialects, thus demanding many different forms of stemming and other linguistic operations. Because publishing was now open to tens of millions, web pages exhibited heterogeneity at a daunting scale, in many crucial aspects. First, content-creation was no longer the privy of editorially-trained writers; while this represented a tremendous democratization of content creation, it also resulted in a tremendous variation in grammar and style (and in many cases, no recognizable grammar or style). Indeed, web publishing in a sense unleashed the best and worst of desktop publishing on a planetary scale, so that pages quickly became riddled with wild variations in colors, fonts and structure. Some web pages, including
the professionally created home pages of some large corporations, consisted entirely of images (which, when clicked, led to richer textual content) - and therefore, no indexable text. What about the substance of the text in web pages? The democratization of content creation on the web meant a new level of granularity in opinion on virtually any subject. This meant that the web contained truth, lies, contradictions and suppositions on a grand scale. This gives rise to the question: which web pages does one trust? In a simplistic approach, one might argue that some publishers are trustworthy and others not begging the question of how a search engine is to assign such a measure of trust to each website or web page. In Chapter 21 we will examine approaches to understanding this question. More subtly, there may be no universal, user-independent notion of trust; a web page whose contents are trustworthy to one user may not be so to another. In traditional (non-web) publishing this is not an issue: users self-select sources they find trustworthy. Thus one reader may find the reporting of The New York Times to be reliable, while another may prefer The Wall Street Journal. But when a search engine is the only viable means for a user to become aware of (let alone select) most content, this challenge becomes significant. While the question ``how big is the Web?'' has no easy answer, the question ``how many web pages are in a search engine's index'' is more precise, although, even this question has issues. By the end of 1995, Altavista reported that it had crawled and indexed approximately 30 million static web pages . Static web pages are those whose content does not vary from one request for that page to the next. For this purpose, a professor who manually updates his home page every week is considered to have a static web page, but an airport's flight status page is considered to be dynamic. Dynamic pages are typically mechanically generated by an application server in response to a query to a database, as show in Figure . One sign of such a page is that the URL has the character "?" in it. Since the number of static web pages was believed to be doubling every few months in 1995, early web search engines such as Altavista had to constantly add hardware and bandwidth for crawling and indexing web pages.
A dynamically generated web page.The browser sends a request for flight information on flight AA129 to the web application, that fetches the information from back-end databases then creates a dynamic web page that it returns to the browser.
Web Engineering, is an emerging new discipline, advocates a process and a systematic approach to development of high quality Internet- and Web-based systems.
Web engineering is the establishment and use of sound scientific, engineering and management principles and disciplined and systematic approaches to the successful development, deployment and maintenance of high quality Web-based systems and applications.
Web engineering principles and approaches can bring the potential chaos in Web-based system development under control, minimize risks, and enhance maintainability and quality. Highlights: Provides insights into current concepts, methods, techniques, tools, and experiences for an engineering approach to Web application development Complements existing technology-oriented books with an engineering approach Identifies potential risks in Web application development Identifies similarities and differences between the development of traditional, not Web-based applications and the development of Web applications Analyses concepts, methods, techniques, and tools of traditional software engineering to see how suited they are for Web application development Defines an important new vocational discipline, popular with students Offers teachers a viable alternative to teaching software engineering Reports on future developments in Web Engineering
7. Most Web-based systems need to be developed within a short time, making it difficult to apply the same level of formal planning and testing as used in software development. 8. Also Web is different from software as related to the delivery medium. 9. Further, the type of individuals who build/develop Web-based systems are vastly varied in their background, skills, knowledge and system understanding, and as well as their perception of Web and quality Web-based system.
1. The first group, prerequisite skills, is required for any student entering the field of Web engineering.
The skills must be acquired at an early stage, because the learning of Web engineering depends on.
2. The second group is concerned with specific Web engineering skills. It provides the ability to perform
key tasks of the Web engineering development process.
3. The third group, generic skills, is concerned with writing, reading, communication, dialogue,
teamwork, and project planning. These skills are essential for Web engineers in a work situation. Prerequisite skills:
1. 2. 3. 4.
Object-oriented modeling and programming with UML and Java, or similar languages. Database development with the JDBC, MySQL and Java Servlets, or similar languages. Web programming with HTML, JavaScript, CGI Script, and PHP, or similar languages. Deployment of specialized authoring tools and Web editors, such as FrontPage and Macromedia Dreamweaver for the design and implementation of Web-based applications.
Specific skills:
2. Understanding the Web engineering development philosophy. 3. Understanding the context and system scope of Web engineering applications.
4. Analysis modeling: understanding the problem requirements; specifying users requirements using use
cases and scenarios; specifying data requirements using classes and other analysis modeling techniques; and general quality attributes for Web-based applications.
5. Design modeling: architecture design; component, logical, and deployment design; cohesion and
coupling issues; elaboration of requirements and design criteria.
6. Web design: site design using linear, grid, hierarchical, and network Web structures; page design;
interface design; navigation design, visual design; design of typography, editorial style, screen, colors, graphics, and multimedia.
7. Prototyping, incremental, evolutionary, and iterative development; program coding, unit and
integration testing, evaluating and debugging of the evolving code solution, and consistency checking.
8. Usability testing and engineering; human-computer interaction; usability criteria in terms of user
satisfaction, ease-of-use; ease-of-learn, and consistency.
1. Project planning and management. 2. Reuse of design principles, frameworks, architectures, and toolkits (class libraries); modifying and
reusing existing analysis, design and program code solutions and patterns; comparing, contrasting, recognizing similarities and differences between new problems and previous solutions.
3. Writing and reading skills: writing and formatting technical documentation and reports, reading texts
and documents.
4. Dialogue and communication with stakeholders. Working in teams with developers, system designers,
programmers, end-users, and clients.
Summary
1. The operation of the web relies mainly on hypertext as its means of interacting with users. Hypertext
is basically the same as regular text it can be stored, read, search or edited with an important exception: hypertext contains connections within the text to other documents.
2. Hypermedia is hypertext with a difference hypermedia documents contain links not only to other
pieces of text, but also to other forms of media sounds, images, and movies. Images themselves can be selected to link to sounds or documents.
3. Hypermedia simply combines hypertext and multimedia. 4. The internet is the catch-all world used to describe the massive worldwide network of computers. The
word internet literally means network of network.
5. The World Wide Web is mostly used on the internet; they do not mean the same thing. The web refers
to a body of information an abstract space of knowledge, while the internet refers to the physical side of the global network, a giant mass of cables and computers.
6. The World Wide Web is mostly used part of the internet by far. Once you spend time on the web youll
feel that there is no limit to what you can discover.
7. In June 1993, Mathew Gray at MIT ran a small program which automatically travels links within the
Web network to try to determine just how many sites there are that offer information over the World Wide Web.
8. The World Wide Web exists virtually there is no standard way of viewing it or navigating around it.
However, many software interfaces to the Web have similar functions and generally work the same way no matter what computer or type of display is used.
9. The HTTP protocol used by web browser to talk to web server, the file extension of the URL is not
used to determine the type of information that the server will return.
10. HTML, an acronym for Hyper Text Markup Language, is the predominant markup language for web
pages. It provides a means to describe the structure of the text-based information in a documentby denoting certain text as links, headings, paragraphs, lists, etc.
Web Page The basic unit of a Web interaction is the Web page itself. A Web page is a text file that is marked up using HTML. It is sent to a browser from a Web server based on a request from that browser. The browser parses the information in the HTML file, and the resulting user interface is displayed within the browser itself. The role of the Web server is to listen for a request from the client, parse the request to determine the page that the client requested, retrieve that file from the server's storage area, then transmit that file to the client. At this point, the server forgets everything about sending that file to the client, except for maybe placing an entry into a log file. It is this "connection-less" nature that gives a Web server its scalability, but in turn makes it a challenge to create meaningful applications without some additional support. Web Site A Web site consists of a set of related Web pages grouped together by some means. Generally, a Web site is all of the pages that exist on a server, or within a folder on that server. For example, all of the pages that are on the http://www.wrox.com server are considered part of that Web site. The correlation between the pages on a site is maintained by the links within each page on the site. The links on each page in the site will take users to other pages within the site. In this way, the pages that make up the site internally maintain the hierarchy of the site. These pages are still subject to the restriction of the Web server architecture, in that the server does not maintain information about the series of requests from a particular client. So while this related set of Web pages that make up a Web site are beginning to look more like an application, there are still some missing components. Web Applications
Windows DNA applications are applications in the traditional sense, in that they provide a service to the user of the application. They are different in the way that they are created as well as in the components that make them up. A traditional application requires a special set of files during development, but distributes different outputs. For example, a Visual Basic application has a .vbp project file, multiple .frm, .cls, and .bas files, as well as a set of OCX components that make up the application project. Prior to the application being distributed, these files are compiled into a set of executable files for distribution and execution. The resulting executable does not require the presence of the source code files that were used to develop it. Script-based Web applications, on the other hand, are composed of the same set of files used during development and after deployment. There is no compiled executable file produced that becomes the Web application. For example, the .htm, .asp, and .dll files in your Web project are the same files you deliver to your production Web server. The source code, or script, in these Web files is executed on the client or server only when a browser requests the Web page. Creating these applications builds upon the architecture of the World Wide Web, but there is some added complexity and functionality in order to have these files function as an application. Web Application Design In building a Web application, there are a number of new aspects of application design and development that the developer must take into consideration. While the flexibility of Windows DNA allows for a wide variety of clients accessing a wide variety of services, we will be focusing on a Web application. In a Web application, we will look at using a browser as the primary user interface. The information in our Web application will flow from server to client using the HTTP protocol. Our Application server will be Microsoft's Internet Information Server functioning as both a Web and Application server. Finally, our business and data access logic will be encapsulated within COM+ components and serve as the plumbing that links our application together. The Browser as the User Interface For a Web application, the user interface is presented within a Web browser. This means that the client presentation can either be Browser-Enhanced or Browser-Reliant. The type that you choose for your application should be based on the installed browser base of your target audience. If you can guarantee that most of your users will be using a particular browser level, then you should consider leveraging the features of that browser level. If there are a wide variety of browsers in use, then you may only be able to support a Browser-Reliant client presentation type. One of the advantages of using Active Server Pages to deliver the application is that it has the capability to determine with what browser the current user is accessing the application. This was covered in Chapter 6 with the Browser Capabilities component. By knowing the browser type of the current user, you can dynamically change your client presentation to support the enhanced characteristics of that browser. HTTP as the Transport The communication layer between the client and the server is critical to the design and implementation of the application. The HyperText Transport Protocol (HTTP) defines how the request made by the client is received and handled by the server, and then how the information is sent back to the client. Depending on the type of client presentation being supported, there can be different types of information that flow using this protocol. For the basic support of a Browser-Reliant client, the information that flows over HTTP is limited to the HTML that makes up the page, graphical images to enrich the interface presentation, information-bearing cookies, and possibly some client-side scripting to provide interactivity on the client. With an Enhanced client, special features such as Remote Data Services or COM over HTTP may also be communicated over the transport protocol. But support of these is reliant on the capabilities of the browser at the client. In either case, the HTTP protocol does not understand the concept of a persistent connection between client and server. IIS and ASP as the Application Server The combination of Microsoft's Internet Information Server as the Web server and Active Server Pages as the Application server provides the application component of our Web application. For Web pages and Web sites that serve up static Web pages for display, IIS can function by itself to provide the information. But when a Web application demands a dynamic display of information, we need to link the Web serving capabilities of IIS with the dynamic page generation and object integration capabilities of ASP to deliver a more robust and dynamic Web application. The scripting capabilities of ASP allow us to support business logic inside of our scripts, link with business logic components, directly access databases via ADO, and make use of data components to retrieve information. Q.4. What is firewall? Explain its importance. Ans.: The hardware, software, and procedures that provide access control make up a firewall. A firewall can limit Internet access to e-mail only, so that no other types of information can pass between the intranet and the Internet. Firewall systems fall into two categories, network-level application-level.
Network-Level Firewalls: These firewalls examine only the headers of each packet of information passing to or from the Internet. The firewall accepts or rejects packets based on the packets sender, receiver, and port. Application-Level Firewalls: These firewalls handle packets for each Internet service separately, usually by running a program called a proxy server, which accepts e-mail, Web, chat, newsgroup, and other packets from computers on the intranet, strips off the information that identifies the source of the packet, and passes it along to the Internet. When the replies return, the proxy server passes the replies back to the computer that sent the original message. A proxy server can also log all the packets that pass by, so that you have a record of who has access to your intranet from the Internet, and vice versa. Q.5. Write short note on: (i) E-mail (ii) E-Commerce (iii) Plug ins and Active X Ans. E-mail:- email is also called Electronic mail. It is a method of exchanging digital messages across the Internet or other computer networks. Today's email systems are based on a store-and-forward model. Email servers accept, forward, deliver and store messages. Users no longer need be online simultaneously and need only connect to an email server, for as long as it takes to send or receive messages. An email message consists of two components, the message header, and the message body. The message header contains control information, including, generally, a sender's email address and one or more recipient addresses. Usually additional information is added, such as a subject header field. Email is carried by the Simple Mail Transfer Protocol (SMTP), first published as Internet standard E-Commerce: Electronic commerce, commonly known as e-commerce, consists of the buying and selling of products or services over electronic systems such as the Internet and other computer networks. The amount of trade conducted electronically has grown with widespread Internet usage. A large percentage of electronic commerce is conducted entirely electronically for virtual items such as access to premium content on a website, but most electronic commerce involves the transportation of physical items in some way. Online retailers are sometimes known as e-tailors and online retail is sometimes known as e-tail. Plug-ins and Active X: Sometimes, a player cant handle the information on a Web page. Players work only if information is stored in a separate file and you want it to appear in a separate window, not in your browser window. Hence two other types of programs: plug-ins and ActiveX controls are used to handle audio, video, and other information right in your browser A plug-in is a program that can plug in to your browser, to give the browser a new capability. Most plug-ins works with Internet Explorer, NN and some work with Opera too. Plug-ins works with browser seamlessly, so that after you install them, you can forget that they are not part of your browser. Netscape originally invented the idea of plug-ins, but Microsoft makes sure that Internet Explorer can use most of them, too. Q.6. What is cookies? Explain its importance. Ans.: A cookie is a small file that a Web server can store on your machine. Its purpose is to allow a Web server to personalize a Web page, depending on whether you have been to that Web site before, and what you may have told it during previous sessions. When you return to that Web site in the future the Web server can read its cookie, recall this information, and structure its Web pages accordingly. However, cookies do make it easier for advertising companies to gather information about your browsing habits. Q.7. Describe the process of Web Publishing phases of website development. Answer: Web publishing, or "online publishing," is the process of publishing content on the Internet. It
includes creating and uploading websites, updating web pages, and posting blogs online. The published content may include text, images, videos, and other types of media. Publishing Process: The three essential steps to publish your website onto the web are: 1. Creating your website: First you have to create a website. Depending on your level on knowledge in web development you have the following options. Either you can create the site yourself through manual programming in an editor program like DreamWeaver, EditPlus or Notepad. 2. Get a hosting plan: Next step is to find somewhere online to put your website files and assign an address to that somewhere. Any given hosting plan include storage space on a web server and a domain name registration. 3. Upload your files/Publish your website: Upload your files to the root directory of your purchased web hosting server space. You can do this either by using your hosting account's inhouse file manager, but those are often slow and manage large file volume poorly. Our recommendation is to get your hands on a FTP client. Q.8. What do you understand by uploading of a webpage? How can it be done?
Ans.: Uploading web pages to the Internet makes them accessible to Internet users. You normally create the Website in a folder located on your local computer. Uploading or Publishing a web page/pages simply copies the page from your local computer to the Internet. Normally you upload web pages using the FTP protocol, however most of the HTML editors have their own in built publishing mechanism. Uploading Web Pages - When we upload (publish) a Web page we simply copy the file from a folder on our local computer to a folder on a computer on the Internet. Our Website is simply a folder containing files. Normally when you first create a website, all of the files in the local folder are uploaded to the Internet server. Subsequent updates are done by uploading individual files/pages to either replace existing ones or to add to the site content.
FTP (File transfer Protocol) is the most common method used to upload web pages to the Internet server. The process is simply a file copy from your PC to the web server. The general procedure is as follows: 1. Connect to server 2. Login by entering username and password. 3. Upload files to server. 4. Verify that files have been transferred. 5. Logout. Q.9. write all the steps of hosting a website using FTP. Ans.: To transfer the file across the Internet, you have several choices: Transfer the file using one of the Internet services: e-mail or the Web. Use software specially designed to transfer any file, software that uses a special protocol called File Transfer Protocol (FTP).
Connecting to the FTP Server To connect to an FTP server, you give the host name of the server to your FTP client software and then you log in. You can log in to an FTP server in one of two ways: If you have an account on the FTP server, you log in with a user name and password. You can access all the files that your user name gives you permission to use. If you dont have an account on the FTP server, you can log on anonymously. Once you have logged in to an FTP server, the server may display welcoming and instructional text about using the server. FTP servers transmit messages to let you know whats going on. Once you are Connected to an FTP server, you select a particular folder, called the current working directory, from which you will download, or to which you will upload, files. If you have permission to do so, you may be able to create additional folders, rename folders, or delete them. To upload a single file, use the put command. To upload a group of files, use the mput command. Q.10. What is Markup ? The concept of markup originates from the publishing industry and generally means typographic instructions for document formatting. These instructions are specied inside a document in the form of additional characters. For example, we could write *Hello* to output Hello or /Hello/ to output Hello. Semantic markup lets us write comments within text without showing them in the document. ISO denes the following markup classes: 1. Markup: This is text inserted in a document to add information as to how characters and contents should be represented in the document. 2. Descriptive markup: This is markup that describes the structure and other attributes of a document, regardless of how this document is processed for representation (e.g., comments). 3. Processing instructions: This is markup consisting of system-specic data; it controls the way a document is processed.
Q.11.
Explain the following in brief ? (ii) FTP (iii) XML (iv) ASP (v) Applets (vi) HTTP
(i) Telnet
Ans.: Telnet : TELNET (TErminaL NETwork) is a network protocol used on the Internet or local area networks to provide a bi-directional interactive text-oriented communications facility via a virtual terminal connection. Historically, telnet provided access to a command-line interface on a remote host. Most network equipment and operating systems with a TCP/IP stack support a Telnet service for remote configuration. The term telnet may also refer to the software that implements the client part of the protocol. Telnet client applications are available for virtually all computer platforms. Telnet means to establish a connection with the Telnet protocol, either with command line client or with a programmatic interface. FTP: File Transfer Protocol (FTP) is a standard network protocol used to copy a file from one host to another over a TCP/IP-based network, such as the Internet. FTP is built on a clientserver architecture and utilizes separate control and data connections between the client and server applications which solves the problem of different end host configurations. FTP is used with user-based password authentication or with anonymous user access. XML: The Extensible Markup Language (XML) is a W3C recommendation for creating special-purpose markup languages. It is a simplified subset of SGML, capable of describing many different kinds of data. Its primary purpose is to facilitate the sharing of structured text and information across the Internet. XML (Extensible Markup Language) is a set of rules for encoding documents electronically. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications. XMLs design goals emphasize simplicity, generality, and usability over the Internet. It is a textual data format, with strong support via Unicode for the languages of the world. Although XMLs design focuses on documents, it is widely used for the representation of arbitrary data structures in web services. There are many programming interfaces that software developers may use to access XML data, and several schema systems designed to aid in the definition of XML-based languages. ASP: An Active Server Page (ASP) is an HTML page that includes one or more scripts (small embedded programs) that are processed on a Microsoft Web server before the page is sent to the user. An ASP is somewhat similar to a server-side include or a common gateway interface (CGI) application in that all involve programs that run on the server. Typically, the script in the Web page at the server uses input received as the result of the user's request for the page to access data from a database and then builds or customizes the page before sending it to the requestor. Applets: Some applets are able to function as any other normal software application, but are small in size and perform only a small set of tasks. Applets are not full-featured application programs. In some cases, an applet does not run independently. Such applets must run in a container, which is provided by a host program, through a plug in, or a variety of other applications including mobile devices that support the applet programming model. Java programmers usually include applets by using the statement import java.applet.Applet HTTP: The Hypertext Transfer Protocol (HTTP) is an application-level protocol necessary for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods. A feature of HTTP is the typing of data representation, allowing systems to be built independently of the data being transferred.
Multiple Choice Questions 1. In which year the internet is founded: a. 1969 b. 1990 c. 1972 d. 1995 2. In which year the concept of web are begin: a. 1968 b. 1980 c. 1989 d. 1890 3. Website is a collection of: a. Web server b. Web pages c. Web browser d. Www 4. A homepage is also called: a. Web browser b. Website c. Web pages d. Index pages 5. Web publishing means: a. Collecting the web pages b. Publishing the web pages c. Storing the web pages d. None of these 6. Which of these searches new terms on internet and stores the searched terms in a database? a. Crawler b. Indexer c. Search algorithm d. None of these 7. ________ facilitates the access of hypertext document : a. TCP/IP b. FTP c. NNTP d. HTTP 8. DNS stand for : a. Domain Name Source b. Domain Name System c. Description Name System d. None of these 9. The unique address of each web page is called as: a. URL b. FTP c. HTML d. FIIT 10. URL is stand for: a. Uniform research location b. Uniform resource locator c. Universal research locator d. None of these 11. IP address is written as a string of _____ numbers separated by dots(.) a. Four b. Three
c. d.
Two One
12. The relationship b/w the ip addresses and the domain names is maintained by an internet service called the: a. IP b. DNS c. URL d. None 13. Scripting languages can be used to provide: a. Simple features to the web page b. Main features to theweb page c. Dynamic features to the web page d. None of these Key to Objective Questions 1.a 8.b 2.c 9.a 3.b 10.b 4.d 11.a 5.c 12.b 6.a 13.c 7.d
Questions Bank
Q-1: Define Web Engineering. Draw a diagram to categorize web applications. Q-2: Explain evolution and need of Web Engineering. Q-3: Explain what are different Web Engineering Activities and Web Engineering Skills ? Q-4: Explain Web-based System Development . Q-5: What are different Web Testing strategies ? Q-6: What are the characteristics of Web Applications? Q-7: Differential Software Engineering with Web Engineering? Q-8: What are main organizational challenges to develop a web site. Q-9: Write the steps to show how Search Engine works. Q-10: Explain Web Engineering Discipline in details. Q-11: Explain the structure of the web in detail. Q-12: What do you understand by uploading of a webpage? How can it be done? Q-13: Describe the process of Web Publishing phases of website development.