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.

has permission to per<strong>for</strong>m each task. Most task per<strong>for</strong>mersare humans but they can also be automated processes.WSDLWeb Services Description Language. A way <strong>for</strong> a Webserver to answer, in a machine-readable <strong>for</strong>m, the question"what services do you provide?" with said services ultimatelyto be provided by SOAP. See http://www.w3.org/TR/wsdl.WYSIWYGWhat You See Is What You Get. A WYSIWYG wordprocessor, <strong>for</strong> example, lets a user work view an on-screendocument as it will appear on the printed page, e.g., withtext in italics appearing on-screen in italics. This approach tosoftware was pioneered by Xerox Palo Alto ResearchCenter in the 1970s and widely copied since then, notablyby the Apple Macintosh. WYSIWYG is extremely effective<strong>for</strong> structurally simple documents that are printed once andnever worked on again. WYSIWYG is extremely ineffective<strong>for</strong> the production of complex documents and documentsthat must be maintained and kept up-to-date over manyyears. Thus Quark Xpress and Adobe Frame facilitated atremendous boom in desktop publishing while MicrosoftFrontPage and similar WYSIWYG tools <strong>for</strong> Web pageconstruction have probably hindered development ofinteresting Web applications.XHTMLThe next generation of HTML, compliant with XMLstandards. Although it is very similar to the current HTML, itfollows a stricter set of rules, thus allowing <strong>for</strong> betterautomatic code validation. This structure also makes itpossible to embed other XML-based languages such asMathML (<strong>for</strong> equations) and SMIL (<strong>for</strong> multimedia) inside ofXHTML pages. More:www.wdvl.com/Authoring/Languages/XML/XHTML/XHTML-MPXHTML Mobile Profile. A strict subset of XHTML, used as amarkup language <strong>for</strong> wireless application development. Seethe Mobile chapter <strong>for</strong> more.XMLExtensible Markup Language, a simplified version of SGMLwith enhanced features <strong>for</strong> defining hyperlinks. As withSGML, it solves the trivial problem of defining a syntax <strong>for</strong>exchanging structured in<strong>for</strong>mation but doesn't do any of thehard work of getting users to agree on semantic structure.328program in what order to per<strong>for</strong>m the computation, merely thedesired result.The declarative language of the spreadsheet created an explosion inthe number of people who were able to develop working computerprograms. Through the mid-1970s organizations that worked withdata kept a staff of programmers. If you wanted some analysisper<strong>for</strong>med you'd call one into your office, explain the assumptionsand <strong>for</strong>mulae to be used, then wait a few days <strong>for</strong> a report. In 1979Dan Bricklin (MIT EECS '73) and Bob Frankston (MIT EECS '70)developed Visicalc and suddenly most of the people who'd beenhollering <strong>for</strong> programming services were able to build their ownmodels.With an RDBMS the metaphoric little strips of paper pushed underthe door are declarative programs in the SQL language. (See SQL<strong>for</strong> Web Nerds at http://philip.greenspun.com/sql/ <strong>for</strong> the languageitself.)The second pillar of RDBMS popularity is isolation of important datafrom programmers' mistakes. With other kinds of databasemanagement systems it is possible <strong>for</strong> a computer program to makearbitrary changes to the data set. This can be convenient <strong>for</strong>applications such as computer-aided design systems with verycomplex data structures. However if your goal is to preserve a dataset over a 25-year period, letting arbitrarily buggy imperativeprograms make arbitrary changes isn't a good idea. The RDBMSlimits programmers to uttering very simple statements of the <strong>for</strong>mINSERT, DELETE, and UPDATE. Furthermore, if you're unhappywith the contents of your database you can simply review all thestrips of paper that were pushed under the door. Each strip willcontain an SQL statement and the name of the program orprogrammer that authored the strip. This makes it easy to correctmistakes and re<strong>for</strong>m offenders.The third and final pillar of RDBMS popularity is good per<strong>for</strong>mancewith many thousands of simultaneous users. This is more a reflectionon the refined state of commercial development of systems such asIBM DB2, Oracle, Microsoft SQL Server, and the open-sourcePostgreSQL, than an inherent feature of the RDBMS itself.2.6 The StepsWhen building any <strong>Internet</strong> application you're going to go through thefollowing steps:21

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

Saved successfully!

Ooh no, something went wrong!