Web Application Architecture: Principles, Protocols and Practices

Total Page:16

File Type:pdf, Size:1020Kb

Web Application Architecture: Principles, Protocols and Practices Web Application Architecture Principles, protocols and practices Leon Shklar Richard Rosen Dow Jones and Company Web Application Architecture Web Application Architecture Principles, protocols and practices Leon Shklar Richard Rosen Dow Jones and Company Copyright 2003 by John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England Telephone (+44) 1243 779777 Email (for orders and customer service enquiries): [email protected] Visit our Home Page on www.wileyeurope.com or www.wiley.com All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except under the terms of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP, UK, without the permission in writing of the Publisher with the exception of any material supplied specifically for the purpose of being entered and executed on a computer system for exclusive use by the purchase of the publication. Requests to the Publisher should be addressed to the Permissions Department, John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, or emailed to [email protected], or faxed to (+44) 1243 770620. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold on the understanding that the Publisher is not engaged in rendering professional services. If professional advice or other expert assistance is required, the services of a competent professional should be sought. Other Wiley Editorial Offices John Wiley & Sons Inc., 111 River Street, Hoboken, NJ 07030, USA Jossey-Bass, 989 Market Street, San Francisco, CA 94103-1741, USA Wiley-VCH Verlag GmbH, Boschstr. 12, D-69469 Weinheim, Germany John Wiley & Sons Australia Ltd, 33 Park Road, Milton, Queensland 4064, Australia John Wiley & Sons (Asia) Pte Ltd, 2 Clementi Loop #02-01, Jin Xing Distripark, Singapore 129809 John Wiley & Sons Canada Ltd, 22 Worcester Road, Etobicoke, Ontario, Canada M9W 1L1 Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books. Library of Congress Cataloging-in-Publication Data Shklar, Leon. Web application architecture : principles, protocols, and practices / Leon Shklar, Richard Rosen. p. cm. Includes bibliographical references and index. ISBN 0-471-48656-6 (Paper : alk. paper) 1. Web sites—Design. 2. Application software—Development. I. Rosen, Richard. II. Title. TK5105.888.S492 2003 005.72—dc21 2003011759 British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library ISBN 0-471-48656-6 Typeset in 10/12.5pt Times by Laserwords Private Limited, Chennai, India Printed and bound in Great Britain by Antony Rowe Ltd, Chippenham, Wiltshire This book is printed on acid-free paper responsibly manufactured from sustainable forestry in which at least two trees are planted for each one used for paper production. Contents Acknowledgements xiii 1. Introduction 1 1.1 The Web in Perspective 1 1.2 The Origins of the Web 2 1.3 From Web Pages to Web Sites 3 1.4 From Web Sites to Web Applications 4 1.5 How to Build Web Applications in One Easy Lesson 5 1.5.1 Web page design resources 5 1.5.2 Web site design resources 5 1.5.3 Web application design resources 6 1.5.4 Principles of web application design 7 1.6 What is Covered in this Book 8 Bibliography 9 2. Before the Web: TCP/IP 11 2.1 Historical Perspective 11 2.2 TCP/IP 13 2.2.1 Layers 13 2.2.2 The client/server paradigm 14 2.3 TCP/IP Application Services 16 2.3.1 Telnet 16 2.3.2 Electronic mail 16 2.3.3 Message forums 24 2.3.4 Live messaging 25 2.3.5 File servers 25 2.4 And Then Came the Web... 27 2.5 Questions and Exercises 27 Bibliography 28 vi Contents 3. Birth of the World Wide Web: HTTP 29 3.1 Historical Perspective 29 3.2 Building Blocks of the Web 30 3.3 The Uniform Resource Locator 30 3.4 Fundamentals of HTTP 32 3.4.1 HTTP servers, browsers, and proxies 33 3.4.2 Request/response paradigm 33 3.4.3 Stateless protocol 34 3.4.4 The structure of HTTP messages 35 3.4.5 Request methods 37 3.4.6 Status codes 42 3.5 Better Information Through Headers 46 3.5.1 Type support through content-type 48 3.5.2 Caching control through Pragma and Cache-Control headers 51 3.5.3 Security through WWW-Authenticate and Authorization headers 53 3.5.4 Session support through Cookie and Set-Cookie headers 56 3.6 Evolution 59 3.6.1 Virtual hosting 60 3.6.2 Caching support 61 3.6.3 Persistent connections 62 3.7 Summary 63 3.8 Questions and Exercises 63 Bibliography 64 4. Web Servers 65 4.1 Basic Operation 66 4.1.1 HTTP request processing 67 4.1.2 Delivery of static content 69 4.1.3 Delivery of dynamic content 71 4.2 Advanced Mechanisms for Dynamic Content Delivery 81 4.2.1 Beyond CGI and SSI 81 4.2.2 Native APIs (ISAPI and NSAPI) 81 4.2.3 FastCGI 81 4.2.4 Template processing 82 4.2.5 Servlets 84 4.2.6 Java server pages 85 4.2.7 Future directions 87 Contents vii 4.3 Advanced Features 88 4.3.1 Virtual hosting 88 4.3.2 Chunked transfers 89 4.3.3 Caching support 90 4.3.4 Extensibility 91 4.4 Server Configuration 91 4.4.1 Directory structure 92 4.4.2 Execution 92 4.4.3 Address resolution 93 4.4.4 MIME support 94 4.4.5 Server extensions 95 4.5 Server Security 96 4.5.1 Securing the installation 96 4.5.2 Dangerous practices 97 4.5.3 Secure HTTP 98 4.5.4 Firewalls and proxies 98 4.6 Summary 100 4.7 Questions and Exercises 100 Bibliography 102 5. Web Browsers 103 5.1 Architectural Considerations 105 5.2 Processing Flow 107 5.3 Processing HTTP Requests and Responses 112 5.3.1 HTTP requests 113 5.3.2 HTTP responses 120 5.4 Complex HTTP Interactions 125 5.4.1 Caching 125 5.4.2 Cookie coordination 128 5.4.3 Authorization: challenge and response 129 5.4.4 Re-factoring: common mechanisms for storing persistent data 131 5.4.5 Requesting supporting data items 133 5.4.6 Multimedia support: helpers and plug-ins 134 5.5 Review of Browser Architecture 136 5.6 Summary 139 5.7 Questions and Exercises 139 Bibliography 140 viii Contents 6. HTML and its Roots 141 6.1 Standard Generalized Markup Language 141 6.1.1 The SGML declaration 143 6.1.2 Document type definition 146 6.2 HTML 150 6.2.1 HTML evolution 151 6.2.2 Structure and syntax 152 6.3 HTML Rendering 157 6.3.1 Cascading style sheets 158 6.3.2 Associating styles with HTML documents 159 6.4 JavaScript 161 6.5 DHTML 164 6.5.1 ‘Mouse-Over’ behaviors 164 6.5.2 Form validation 165 6.5.3 Layering techniques 167 6.6 Summary 168 6.7 Questions and Exercises 169 Bibliography 169 7. XML Languages and Applications 171 7.1 Core XML 172 7.1.1 XML documents 172 7.1.2 XML DTD 175 7.1.3 XML schema 177 7.2 XHTML 182 7.3 WML 183 7.4 XSL 186 7.4.1 XSLT 186 7.4.2 XSL formatting objects 189 7.4.3 What is so important about XSL? 195 7.5 Summary 197 7.6 Questions and Exercises 198 Bibliography 199 8. Dynamic Web Applications 201 8.1 Historical Perspective 201 8.1.1 Client-server applications 201 8.1.2 Web applications 202 8.1.3 Multi-tier web applications 203 Contents ix 8.2 Application Architecture 203 8.2.1 Interpreting and routing client requests 205 8.2.2 Controlling user access to the application 208 8.2.3 Enabling data access 216 8.2.4 Accessing and modifying content 223 8.2.5 Customizing content for presentation 231 8.2.6 Transmitting the formatted response 235 8.2.7 Logging and recording application activity 235 8.3 Database Processing Issues 237 8.3.1 Configuration 238 8.3.2 Transactions 239 8.3.3 Best practices 241 8.4 Summary 242 8.5 Questions and Exercises 242 Bibliography 243 9. Approaches to Web Application Development 245 9.1 Programmatic Approaches 246 9.1.1 CGI 246 9.1.2 Java Servlet API 247 9.2 Template Approaches 247 9.2.1 Server-Side Includes (SSI) 249 9.2.2 Cold Fusion 250 9.2.3 WebMacro/Velocity 252 9.3 Hybrid Approaches 254 9.3.1 PHP 254 9.3.2 Active Server Pages (ASP) 255 9.3.3 Java Server Pages 256 9.4 Separation of Content from Presentation 259 9.4.1 Application flexibility 259 9.4.2 Division of responsibility for processing modules 261 9.5 Frameworks: MVC Approaches 262 9.5.1 JSP ‘Model 2’ 262 9.5.2 Struts 264 9.6 Frameworks: XML-Based Approaches 266 9.7 Summary 267 9.8 Questions and Exercises 269 Bibliography 270 x Contents 10. Application Primer: Virtual Realty Listing Services 271 10.1 Application Requirements 273 10.2 Application Development Environment 274 10.3 Anatomy of a Struts Application 276 10.4 The Structure of the VRLS Application 278 10.4.1 Controller: ActionServlet and custom actions 282 10.4.2 View: JSP Pages and ActionForms 288 10.4.3 Model: JavaBeans and auxiliary service classes 295 10.5 Design Decisions 297 10.5.1 Abstracting functionality into service classes 297 10.5.2 Using embedded page inclusion to support co-branding 298 10.5.3 A single task for creation and modification of customer profiles 300 10.6 Enhancements 301 10.6.1 Administrative interface 301 10.6.2 Enhancing the signup process through e-mail authentication 304 10.6.3 Improving partner recognition through a persistent cookie 305 10.6.4 Adding caching functionality to the DomainService Class 306 10.6.5 Paging through cached search results using the value list handler pattern 307 10.6.6 Using XML and XSLT for view presentation 308 10.6.7 Tracking user behavior 310 10.7 Summary 311 10.8 Questions and Exercises 311 Bibliography 312 11.
Recommended publications
  • Design Principles for the Information Architecture of a SMET Education Digital Library
    DOCUMENT RESUME ED 459 837 IR 058 373 AUTHOR Dong, Andy; Agogino, Alice M. TITLE Design Principles for the Information Architecture of a SMET Education Digital Library. SPONS AGENCY National Science Foundation, Arlington, VA. PUB DATE 2001-06-00 NOTE 10p.; In: Proceedings of the ACM/IEEE-CS Joint Conference on Digital Libraries (1st, Roanoke, Virginia, June 24-28, 2001). For entire proceedings, see IR 058 348. Figures may not reproduce well. Also funded by National SMETE Digital Library Program. CONTRACT DUE-0085878 AVAILABLE FROM Association for Computing Machinery, 1515 Broadway, New York NY 10036. Tel: 800-342-6626 (Toll Free); Tel: 212-626-0500; e-mail: [email protected]. For full text: http://wwwl.acm.org/pubs/contents/proceedings/d1/379437/. PUB TYPE Reports - Research (143) Speeches/Meeting Papers (150) EDRS PRICE MF01/PC01 Plus Postage. DESCRIPTORS *Computer System Design; *Design Requirements; Education; Educational Media; Educational Resources; Educational Technology; *Electronic Libraries; Information Systems; *Instructional Design; Instructional Materials ABSTRACT This implementation paper introduces principles for the information architecture of an educational digital library, principles that address the distinction between designing digital libraries for education and designing digital libraries for information retrieval in general. Design is a key element of any successful product. Good designers and their designs put technology into the hands of the user, making the product's focus comprehensible and tangible through design. As straightforward as this may appear, the design of learning technologies is often masked by the enabling technology. In fact, they often lack an explicitly stated instructional design methodology. While the technologies are important hurdles to overcome, the report advocates learning systems that empower education-driven experiences rather than technology-driven experiences.
    [Show full text]
  • Studying Social Tagging and Folksonomy: a Review and Framework
    Studying Social Tagging and Folksonomy: A Review and Framework Item Type Journal Article (On-line/Unpaginated) Authors Trant, Jennifer Citation Studying Social Tagging and Folksonomy: A Review and Framework 2009-01, 10(1) Journal of Digital Information Journal Journal of Digital Information Download date 02/10/2021 03:25:18 Link to Item http://hdl.handle.net/10150/105375 Trant, Jennifer (2009) Studying Social Tagging and Folksonomy: A Review and Framework. Journal of Digital Information 10(1). Studying Social Tagging and Folksonomy: A Review and Framework J. Trant, University of Toronto / Archives & Museum Informatics 158 Lee Ave, Toronto, ON Canada M4E 2P3 jtrant [at] archimuse.com Abstract This paper reviews research into social tagging and folksonomy (as reflected in about 180 sources published through December 2007). Methods of researching the contribution of social tagging and folksonomy are described, and outstanding research questions are presented. This is a new area of research, where theoretical perspectives and relevant research methods are only now being defined. This paper provides a framework for the study of folksonomy, tagging and social tagging systems. Three broad approaches are identified, focusing first, on the folksonomy itself (and the role of tags in indexing and retrieval); secondly, on tagging (and the behaviour of users); and thirdly, on the nature of social tagging systems (as socio-technical frameworks). Keywords: Social tagging, folksonomy, tagging, literature review, research review 1. Introduction User-generated keywords – tags – have been suggested as a lightweight way of enhancing descriptions of on-line information resources, and improving their access through broader indexing. “Social Tagging” refers to the practice of publicly labeling or categorizing resources in a shared, on-line environment.
    [Show full text]
  • The Role of Information Architecture in Designing a Third-Generation Library Web Site
    The Role of Information Architecture in Designing a Third-Generation Library Web Site Jennifer Duncan and Wendy Holliday Library Web sites have evolved over the past decade, from simple pages with a few links to complex sites that provide direct access to hundreds of different resources. In many cases, this evolution occurs with little overall planning, often resulting in Web sites that are hard to manage and difficult for users to navigate.This article outlines the process of using Information Architecture (IA) to redesign a third-generation library Web site from the ground up.The result was a much more usable and cohesive library Web site that meets the needs of a broad range of users. n 2003, the Utah State Univer- had graphically redesigned the Web site sity (USU) Library anticipated a few times, the underlying structure the third major redesign of remained intact. The first and second their Web site. The original levels received a graphic makeover but re- design of the site simply provided basic mained mapped to years of accumulated information about library resources and pages that were not organized coherently. services. Like many library Web sites, it As Louis Rosenfeld, a pioneer in the field had grown over the years in both size and of Information Architecture, suggests, scope. By 2003, the site included several this is a common problem in the current hundred pages and provided access to electronic information environment: hundreds of electronic resources. It had grown without overall planning and it Increased scope, volume, and for- included several different graphic looks, mat types result in great content with “legacy” pages from previous de- ambiguity, muddier information signs existing alongside newer content.
    [Show full text]
  • Using Information Architecture to Evaluate Digital Libraries, the Reference Librarian, 51, 124-134
    FAU Institutional Repository http://purl.fcla.edu/fau/fauir This paper was submitted by the faculty of FAU Libraries. Notice: ©2010 Taylor & Francis Group, LLC. This is an electronic version of an article which is published and may be cited as: Parandjuk, J. C. (2010). Using Information Architecture to Evaluate Digital Libraries, The Reference Librarian, 51, 124-134. doi:10.1080/027638709 The Reference Librarian is available online at: http://www.tandfonline.com/doi/full/10.1080/02763870903579737 The Reference Librarian, 51:124–134, 2010 Copyright © Taylor & Francis Group, LLC ISSN: 0276-3877 print/1541-1117 online DOI: 10.1080/02763870903579737 WREF0276-38771541-1117The Reference Librarian,Librarian Vol. 51, No. 2, Feb 2009: pp. 0–0 Using Information Architecture to Evaluate Digital Libraries UsingJ. C. Parandjuk Information Architecture to Evaluate Digital Libraries JOANNE C. PARANDJUK Florida Atlantic University Libraries, Boca Raton, FL Information users face increasing amounts of digital content, some of which is held in digital library collections. Academic librarians have the dual challenge of organizing online library content and instructing users in how to find, evaluate, and use digital information. Information architecture supports evolving library services by bringing best practice principles to digital collection development. Information architects organize content with a user-centered, customer oriented approach that benefits library users in resource discovery. The Publication of Archival, Library & Museum Materials (PALMM),
    [Show full text]
  • Chapter 1 Web Basics and Overview
    Chapter 1 Web Basics and Overview The Web is an Internet-based distributed information system. Anyone with a computer connected to the Internet can easily retrieve information by giving a Web address or by simply clicking a mouse button. The Web is a great way to disseminate information and making it available 24/7. Information can also be collected from Web users and customers through online forms. Maintainers and administrators can control and update Web content from anywhere on the Web. All these make the Web a powerful tool for mass communication, e-business and e-commerce. Compared with TV, radio, news papers, and magazines, putting the word out on the Web is relatively simple and inexpensive. But a website is much more than such one-way communication media. It can be a virtual o±ce or store that is always open and supported by workers from anywhere. Web service companies o®er free Web space and tools to generate simple personal or even business Web pages. But, well-designed and professionally implemented websites are much more involved. Even then, expertly produced websites are still much more cost-e®ective than other means of mass communication. For business and commerce, the cost of a website is negligible when compared to building and operating a brick-and-mortar o±ce or store. Once in-place, a website is a store that never closes and that is very attractive. People take great pains in building an o±ce or store to project the right image and to serve the needs 7 8 CHAPTER 1.
    [Show full text]
  • Javaedge Setup and Installation
    APPENDIX A ■ ■ ■ JavaEdge Setup and Installation Throughout the book, we have used the example application, JavaEdge, to provide a practical demonstration of all the features discussed. In this appendix, we will walk you through setting up the tools and applications required to build and run JavaEdge, as well as take you through the steps needed to get the JavaEdge application running on your platform. Environment Setup Before you can get started with the JavaEdge application, you need to configure your platform to be able to build and run JavaEdge. Specifically, you need to configure Apache Ant in order to build the JavaEdge application and package it up for deployment. In addition, the JavaEdge application is designed to run on a J2EE application server and to use MySQL as the back-end database. You also need to have a current JDK installed; the JavaEdge application relies on JVM version 1.5 or higher, so make sure your JDK is compatible. We haven’t included instruc- tions for this here, since we are certain that you will already have a JDK installed if you are reading this book. However, if you do need to download one, you can find it at http://java. sun.com/j2se/1.5.0/download.jsp. Installing MySQL The JavaEdge application uses MySQL as the data store for all user, story, and comment data. If you don’t already have the MySQL database server, then you need to obtain the version applicable to your platform. You can obtain the latest production binary release of MySQL for your platform at http://www.mysql.com.
    [Show full text]
  • Annual Report
    Top Ranking Report Annual Report Architectural Record ENR VMSD Top 300 Architecture Top 150 Global Top Retail Design Firms: Design Firms: Firms of 2014: # #1 Firm Overall #1 Architecture Firm #1 Firm Overall Building Design ENR Interior Design Message from the Board of Directors 2014 World Top 500 Design Firms: Top 100 Giants: Architecture 100 Most #1 Architecture Firm #1 Architecture Firm Admired Firms: Gensler is1 a leader among the #1 in Corporate Office As we celebrate our 50th anniversary, we world’s architecture and design #1 US Firm #1 in Retail #4 Global Firm #1 in Transportation firms. Here’s how we ranked in #1 in Government look forward to more record-setting years, our industry in 2014. #1 in Cultural thanks to our great client relationships and extraordinary people around the world. Financial Report Our financial performance and recognition throughout the We’re entering our 50th year stronger than ever. Financially strong and debt-free, we contributed industry are indications of the breadth of our practice, our global In 2014, our global growth continued apace $38.5 million in deferred compensation to our reach, and the long-standing trust of our clients. with our clients as they entrusted us with new employees through our ESOP, profit-sharing, and challenges and led us to new locations. Our international retirement plans. We made strategic expanded Gensler team of 4,700+ professionals investments in our research and professional We’ve broadened our services to 27 now work from 46 different offices. With their development programs, along with upgrades to practice areas, with total revenues help, we completed projects in 72 countries and our design-and-delivery platform and the tools for the year setting a new record $ increased our revenues to $915 million—a record and technology to support it.
    [Show full text]
  • Using Ontologies for Enterprise Architecture Model Alignment
    Using Ontologies for Enterprise Architecture Model Alignment Gon¸caloAntunes1, Artur Caetano1;2, Marzieh Bakhshandeh1, Rudolf Mayer3, and Jos´eBorbinha1;2 1 Instituto Superior T´ecnico, University of Lisbon, Av. Rovisco Pais 1, 1049-001 Lisboa, Portugal, 2 Information Systems Group, INESC-ID, Rua Alves Redol 9, 1000-029 Lisboa, Portugal, 3 SBA Research, Favoritenstraße 16, 1040 Wien, Austria {goncalo.antunes,artur.caetano}@ist.utl.pt Abstract. One of the primary goals of enterprise architecture aligning the business with the underlying support systems. An architecture de- scription encompasses an heterogeneous spectrum of domains, such as business processes, application components, metrics, people and tech- nological infrastructure. Views express the domain elements and their relationships from the perspective of specific concerns relevant to the system stakeholders. Thus, each view needs to be expressed in the de- scription language that best suits its concerns. However, enterprise ar- chitecture languages often specify meta-models that cross-cut distinct architectural domains. This hinders extensibility and adds complexity to the language. Ob the other hand, describing each domain through a specialized language and then integrating the multiple languages raises challenges at the level of traceability and consistency. This paper pro- poses using ontologies to integrate different enterprise architecture do- mains and to analyse the resulting models. This goal is realized through a core domain-independent language that is extended by several domain- specific languages, each focussing on a set of specific concerns. The ap- proach contributes to the alignment of the different domains while en- suring traceability and model consistency. The proposal is demonstrated through an evaluation scenario that employs ArchiMate as the domain- independent language extended with a set of domain-specific languages.
    [Show full text]
  • D-3.1 (D-B.1) the Network of Information: Architecture and Applications
    Objective FP7-ICT-2009-5-257448/D-3.1 Future Networks Project 257448 “SAIL – Scalable and Adaptable Internet Solutions” D-3.1 (D-B.1) The Network of Information: Architecture and Applications Date of preparation: 11-07-31 Revision: 1.0 Start date of Project: 10-08-01 Duration: 13-01-31 Project Coordinator: Thomas Edwall Ericsson AB Document: FP7-ICT-2009-5-257448-SAIL/D-3.1 Date: July 31, 2011 Security: Public Status: Final version Version: 1.0 Document Properties Document Number: D-3.1 Document Title: The Network of Information: Architecture and Applications Document Responsible: Dirk Kutscher (NEC) Document Editor: Petteri P¨oyh¨onen (NSN), Ove Strandberg (NSN) Bengt Ahlgren (SICS), Matteo D. Ambrosio (TI), Erik Axelsson (KTH), Lars Brown (KTH), Christian Dannewitz (UPB), Zoran Despotovic (DoCoMo), Anders E. Eriksson (EAB), Stephen Farrell (TCD), Jelena Frtunikj (DoCoMo), Massimo Gallo (FT), Bj¨orn Gr¨onvall (SICS), Claudio Imbrenda (NEC), Bruno Kauffmann (FT), Dirk Kutscher (NEC), Authors: Anders Lindgren (SICS), Henrik Lundqvist (DoCoMo), Aidan Lynch (TCD), Luca Muscariello (FT), B¨orje Ohlman (EAB), Jean Francois Peltier (FT), Karl-Ake Persson (EAB), Petteri P¨oyh¨onen (NSN), Ove Strandberg (NSN), Patrick Truong (FT), Janne Tuononen (NSN), Vinicio Vercellone (TI), Stefan Weber (TCD) Target Dissemination Level: PU Status of the Document: Final version Version: 1.0 Production Properties: Reviewers: Pedro Aranda (TID), Bj¨orn Levin (SICS) Document History: Revision Date Issued by Description 1.0 2011-07-31 Petteri P¨oyh¨onen Final version Disclaimer: This document has been produced in the context of the SAIL Project. The research leading to these results has received funding from the European Community’s Seventh Framework Programme (FP7/2010–2013) under grant agreement n◦ 257448.
    [Show full text]
  • Information Architecture: a Brief Introduction
    Information Architecture: A brief introduction Samantha Bailey http://baileysorts.com 12/03/03 For the record I’m a librarian who works in digital information spaces. Currently: Vice President, Information Architecture for Wachovia.com (Wachovia Bank) Pioneer in IA: First employee of Argus Associates, spent 5 years there developing their operation & methodology MILS from University of Michigan, 1996 with Amazing push-button Shushing Action! http://www.mcphee.com/amusements/current/11247.html Topics Defining Information Architecture Understanding Information Environments Components of an information architecture Methodology & Deliverables Question: How do you define Information Architecture? What is IA? A trick question or a tricky question? Information Architecture (IA) Interaction Design (ID) Information Design (ID too) User-centered Design (UCD) User-interface Design (UI) Usability/Usability Engineering (UE) What is IA? This is an emerging discipline in an evolving medium. Experts & Gurus disagree on the “right” answer. IMHO: The ongoing discussion is legitimate and healthy—as long as we’re getting work done. What is IA? Christina Wodtke’s SIG-IA survey: content architecture (Polar Bear style) interaction design (Cooper’s About Face) information design (Wurman's Information Architects) What is IA? The art and science of structuring and organizing information systems to help people achieve their goals. Information architects organize content and design navigation systems to help people find and manage information. A Visual
    [Show full text]
  • (CGPA) Examination May/June 2017 Programming in C (Revised) [Time: Three Hours] [Max.Marks:80]
    Total No. of Printed Pages:2 SUBJECT CODE NO:- P-11 FACULTY OF ENGINEERING AND TECHNOLOGY First Year MCA (CGPA) Examination May/June 2017 Programming in C (Revised) [Time: Three Hours] [Max.Marks:80] Please check whether you have got the right question paper. N.B i) Q.No.1 from section A and Q.No.8 from section B are compulsory. ii) Attempt any two questions from the remaining questions in each section SECTION A Q.1 Find the output of the following and also specify the reason. 08 a. #include<stdio.h> Void main() { Char C*2+= “A”; Printf(“\n %c”,C[0]); Printf(“\n %s”,C); } b. #include<stdio.h> void main() { Int x=4, y=0, z; While (x>=0) { If(x= =y) break; else Printf(“\n%d%d”,x,y); x- -; y++; } } Q.2 A What is constant & variables? Explain the rules for constructing integer & real point (float) constant 08 B Write a program to calculate overtime pay of 10 employees. Overtime is paid at the rate of rs.12.00 per hour 08 for overtime hour worked above 40 hours. Assume that employee do not work for fractional part of an hour. Q.3 A Explain all loop control statements in detail with proper example 08 B Write a program in C to accept a number & check whether it is Armstrong number or not. 08 Q.4 A What is an algorithm? Explain with example. 08 B Write a program to enter a number from user and calculate the sum of its digit. 08 SECTION B Q.5 A What is an array? Explain with its types.
    [Show full text]
  • WILEY Advantage Dear Valued Customer
    Y L F M A E T Team-Fly® The WILEY advantage Dear Valued Customer, We realize you’re a busy professional with deadlines to hit. Whether your goal is to learn a new technology or solve a critical problem, we want to be there to lend you a hand. Our primary objective is to provide you with the insight and knowledge you need to stay atop the highly competitive and ever- changing technology industry. Wiley Publishing, Inc. offers books on a wide variety of technical categories, including security, data warehousing, software development tools, and networking - everything you need to reach your peak. Regardless of your level of expertise, the Wiley family of books has you covered. • For Dummies – The fun and easy way to learn • The Weekend Crash Course –The fastest way to learn a new tool or technology • Visual – For those who prefer to learn a new topic visually • The Bible – The 100% comprehensive tutorial and reference • The Wiley Professional list – Practical and reliable resources for IT professionals In the book that you now hold in your hands, Darren Broemmer shares best practices and lessons learned for J2EE development. As you design and build a banking application with J2EE and design patterns, you'll also utilize metadata-driven configurable foundation components to help automate much of the development for Web-based business applications. And of course, the tools and technologies used to construct the sample application are not from any one vendor, but best of breed—Jakarta Struts, Servlets, JSP, XML, EJB, UML, WebLogic, WebSphere, and many more.
    [Show full text]