13.07.2015 Views

Software Engineering for Internet Applications - Student Community

Software Engineering for Internet Applications - Student Community

Software Engineering for Internet Applications - Student Community

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

221. Develop a data model. What in<strong>for</strong>mation are you going tostore and how will you represent it?2. Develop a collection of legal transactions on that model,e.g., inserts and updates.3. Design the page flow. How will the user interact with thesystem? What steps will lead up to one of those legaltransactions? (Note that "page flow" embraces interactiondesign on Web, mobile browsers, and also via hierarchicalvoice menus in VoiceXML but not conversational speechsystems.)4. Implement the individual pages. You'll be writing scripts thatquery in<strong>for</strong>mation from the data model, wrap thatin<strong>for</strong>mation in a template (in HTML <strong>for</strong> a Web application),and return the combined result to the user.It is very unlikely that you'll have a choice of tools <strong>for</strong> persistentstorage. You will be using an RDBMS and won't be making anyfundamental technology decisions at Steps 1 or 2. Designing thepage flow is a purely abstract exercise. There are some technologyimposedlimits on the interface but those are generally derived frompublic standards such as HTML, XHTML Mobile Profile, andVoiceXML. So you need not make any technology choices <strong>for</strong> Step 3.Step 4 is intellectually uninteresting and also uninteresting from anengineering point of view. An <strong>Internet</strong> service lives or dies by Steps 1through 3. What can the service do <strong>for</strong> the user? Is the page flowcomprehensible and usable? The answers to these questions aredetermined at Steps 1 through 3. However, Step 4 is where you havea huge range of technology choices and there<strong>for</strong>e it seems togenerate a lot of discussion. This course and this book are neutral onthe subject of how you go about Step 4 but we provide someguidance on how to make choices.First, though, let's step back and make sure that everyone knowsHTML.2.7 HTMLHere is some legal HTML:My Samoyed is really hairy.That is a perfectly acceptable HTML document. Type it up in a texteditor, save it as index.html, and put it on your Web server. A Webserver can serve it. A user with Netscape Navigator can view it. Asearch engine can index it.version control system is CVS, Concurrent VersionsSystem: www.cvshome.org.VoiceXMLA markup language used <strong>for</strong> the development of voiceapplications. Using only a traditional Web infrastructure, youcan create applications that are accessible over thetelephone. With VoiceXML, you can specify call flow,speech recognition, and text-to-speech. See the Voicechapter <strong>for</strong> more.W3CThe World Wide Web Consortium. The W3C is an vendorneutralindustry consortium that promotes standards <strong>for</strong> theWorld Wide Web. Popular W3C standards include HTML,HTTP, URL, XML, SOAP, VoiceXML, and many more:www.w3.org.WAPWireless Application Protocol. A set of standardcommunication protocols <strong>for</strong> wireless devices. See theMobile chapter <strong>for</strong> more.Web ServiceThese days, the term Web service typically refers to amodular application that can be invoked through the<strong>Internet</strong>. The consumers of Web services are othercomputer applications that communicate, usually overHTTP, using XML standards including SOAP, WSDL, andUDDI. Sometimes Web service will still be used in the oldersense of the word, as a user-facing application likeamazon.com or photo.net.WeblogSee Blog.Windows NT/2000/XPA real operating system that can run the same programswith more or less the same user interface as the popularWindows 95/98 system. Windows NT was developed fromscratch by a programming team at Microsoft that was mostlyuntainted by the people who brought misery to the world inthe <strong>for</strong>m of Windows 3.1/95. The latest versions of Windowswork surprisingly well.WMLWireless Markup Language. An out-of-date markuplanguage <strong>for</strong> the development of mobile browserapplications. Replaced by XHTML-MP.WorkflowThe management of steps in a business processes. Aworkflow specifies what tasks need to be done, in whatorder (sometimes linearly, sometimes in parallel), and who327

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!