Why Web Engineering Is Needed For Web Applications and ServicesMy Basic PremisesThe Web Started Simple1st Generation2nd GenerationSome Definitions are in OrderProblems with Large Web-based ProjectsWeb Application DevelopmentWeb Application Development Current PracticesWeb Systems: ProblemsWeb Development Issues (1/2)Web Development Issues (2/2)Consideration to Quality?Web Development – Political ChallengeWeb System Development: Summary (1/2)Web System Development: Summary (2/2)3rd Generation (Multi-Tier)4th Generation?Technology DriversRange of ComplexityCharacteristicsRisks to Web-Based BusinessDesires from Web-Based BusinessNeed for ProcessOr Simply Software Engineering?Web Development vs. Software DevelopmentWeb-based Systems vs Software (1/3)Web-based Systems vs Software (2/3)Web-based Systems vs. Software (3/3)Why Engineering?Web EngineeringKey Knowledge AreasCategories of Web-based SystemsPowerPoint PresentationSlide 35Web Engineering (1/2)Web Engineering (2/2)Goals of Web EngineeringWeb Engineering Activities (1/2)Web Engineering Activities (2/2)Web Engineering is MultidisciplinaryYesterday’s Webmaster has become tomorrow’s Web EngineerSome Further ResourcesThank You Questions?Why Web Engineering Is Needed For Web Applications and ServicesBebo WhiteSLACApril 17, 2007My Basic PremisesDeveloping a Web-based system is no longer an event, it is a processWeb-based systems are growing systemsWeb-based applications are adding a whole new dimension to software developmentThe Web Started Simple“Even simple rules lead to complex behavior” – Wolfram, New Science, 2002“It is now technically possible and feasible to put the entire creative works of man online” – Kahle, The Internet ArchivesE-commerce (Web/Internet) accounted for 2% of US retail sales in 4Q, 2004 - $18.4 billion – US Census Bureau1st GenerationWeb SystemApplication protocol: HTTPBrowser / User AgentWeb ApplicationRequestResponseResourceWeb ServerWeb ApplicationClient-Side Server-SideBrowserMosaicHTMLImages (GIF)HTML-FormsHelperAudio, Video etc.Web SystemHTTPWeb ServerHTTPCGIDatabaseInformation Systems2nd GenerationWeb SystemApplication protocol: HTTPBrowser / User AgentWeb ApplicationRequestResponseResourceWeb ServerWeb ApplicationClient-Side Server-SideBrowserMosaic, NetscapeHTML, FramesImagesHTML-FormsHelperAudio, Video etc.Web SystemHTTPCookiesWeb ServerHTTPServer-API & CGIDatabaseInformation SystemsMedia ServerSome Definitions are in OrderWeb System – an infrastructure or system enabling the operation of a Web ApplicationWeb Application – a distributed application that accomplishes a certain business need based on technologies of the World Wide Web and that consists of a set of Web-specific resourcesProblems with Large Web-based Projects16-8447-5321-7937-63Satisfy Business NeedHave Required FunctionalityDelivered In TimeWithin Budget(Source: Epner, M., Cutter Consortium)Web Application DevelopmentStill Ad-hoc instead of a disciplined procedureCopy-Cut-Paste ParadigmLack between design-model and implementation-modelDesign-concepts get lost in the underlying modelMany short lifecycle of a Web Application: Maintenance and Evolution problems Reuse Problems Web Crisis(X)HTML(X)HTML(X)HTMLImplementation-ModelDesign-ModelScriptsGraphicsWeb Application DevelopmentCurrent PracticesLacks rigor, systematic approachThe completed system is not what the user wantsSystem not developed on time, cost overrunsLacks scalability and maintainability, hence a limited useful lifeDoes not meet performance requirementsResources are wastedWeb Systems: ProblemsProblemsInability to maintainUnable to meet evolving needs and grow at the rate needed – scalabilityUnreliable – crashesWeb-dependent organizations cannot afford to haveFaulty systems – reliability, security issuesFrequent downtime – dependabilityWrong, inconsistent, or stale content/informationWeb systems problems are not easy to hideWeb Development Issues (1/2)Many developers think that Web application development is just Web page creation using HTML, FrontPage, Dreamweaver, etc. with graphics design and/or simple hyperlinkingThey have been taught to think this way!Certain classes of applications do fit this simple generalization – e.g., personal Web pages, event brochures, etc.Many other Web applications go beyond simple content presentation/navigationWeb Development Issues (2/2)“There is more to Web application development than visual design and user interface”Planning, system design, testing, continual maintenance, quality assurance, performance evaluation, scalability,…Consideration to Quality?Lack of consideration to:NavigationAccessibilityScalabilityReliabilityMaintainabilityUsabilityCompatibility and interoperabilitySecurityReadabilityWeb Development – Political ChallengeAnyone can be a Web content creator and maintainer!Web SystemBusiness UnitIT DepartmentWeb Development TeamMarketingFinance/AccountingPersonnelEtc, etc(Adapted from Susan Dart, 2002)Web System Development: Summary (1/2)Less attention is given to development methodologies, testing and evaluation, quality assessment and controlLargely relies on individuals’ own development practicesLack of realization of its lifecycleAnalysis of needs, redesign, development (including coding), management, metrics, maintenanceCalls for significant system-level and design decisionsIt is an exercise – not an eventLegitimate concern about the manner in which they are created and their long-term quality and integrityWeb System Development: Summary (2/2)In many cases, Web Development is:ChaoticFailure-proneUnsatisfactory3rd Generation (Multi-Tier)Web SystemApplication protocol: HTTP, SOAP, WebDAV, otherBrowser / User AgentWeb ApplicationRequestResponseResourceWeb ServerWeb ApplicationClient-Side Server-SideUser AgentNetscape, IE, and PDA-Browser etc.Other Types of User AgentPlug-Ins, Applets, ActiveXScript-CodeDHTML, More...Web SystemHTTP, WebDAV, SOAP, otherCookiesUDDIOther relevant protocols FTP, SMTPMore...Web ServerHTTP, moreServer-API & CGIXML-SupportComponent-SupportServletsWeb-Services4th Generation?SOA FunctionalityComposition EngineFederation, SecurityTransaction, etc.SOA FunctionalityComposition EngineFederation, SecurityTransaction, etc.Configuration/ContextComponents, End
View Full Document