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.

drawing on the intermodule API that you defined as part of your workon the <strong>Software</strong> Modularity chapter exercises.14.7 Exercise 6: What's New Web ServiceExpose your procedure to the wider world so that other applicationscan take advantage via remote method invocation. Install a SOAPhandler that accomplishes the following:• handles HTTP requests to /services/new-content andchecks <strong>for</strong> correct SOAP syntax• pulls the n_items parameter out of the request, if present• executes the procedure call and fetches the results• delivers the results as a valid SOAP response containingzero or more "item" records, with the fields listed in Exercise5 <strong>for</strong> each item.Your development plat<strong>for</strong>m may provide tools that, once you'vemapped the external Web service to the internal procedure call,handle the HTTP and SOAP mechanics transparently. If not, you willneed to skim the examples in the SOAP specification and read theintroductory articles linked below.14.8 Exercise 7: Self-descriptionWrite a WSDL contract that describes the inputs and outputs <strong>for</strong> yournew-content service. Note that if you are using Microsoft .NET,these WSDL contracts will be automatically generated in most cases.You need only expose them.Your WSDL should be available either by adding a ?WSDL to the URLof the service itself (convenient <strong>for</strong> Microsoft .NET users) or availableby adding a .wsdl extension to the URL of the service itself.Validate your WSDL contract and SOAP methods by inviting anotherteam to test your service. Do the same <strong>for</strong> them. Alternatively, look<strong>for</strong> and employ validation tools out on the Web.14.9 The March of ProgressThe initial Web standards, circa 1990, were simple. HTTP is simpleenough that any competent programmer can write a basic server in aFigure ****: Page flow documentation <strong>for</strong> a standalone birthdayreminder service. Email reminders are sent out either the day of, theday be<strong>for</strong>e, or one week be<strong>for</strong>e the date each year. For more info onthis application, see Chapter 15 of Philip and Alex's Guide to WebPublishing at http://philip.greenspun.com/panda/. Drawing by MinaReimer.26089

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

Saved successfully!

Ooh no, something went wrong!