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.

3.12 Domain Name SystemThe Domain Name System (DNS) translates human-readablehostnames, e.g., www.google.com, into machine-readable andnetwork-routable IP addresses, e.g., 216.239.57.100. DNS is adistributed application in that there is no single computer that holdstranslations <strong>for</strong> all possible hostnames. A domain registrar, e.g.,register.com, records that the domain servers <strong>for</strong> the google.comdomain are at particular IP addresses. A user's local name server willquery the name servers <strong>for</strong> google.com to find the translation <strong>for</strong> thehostname www.google.com. Note that there is nothing magic about"www"; it is merely a conventional name <strong>for</strong> a computer that runs aWeb server. The procedure <strong>for</strong> translating a hostname such asfroogle.google.com is the same as that applied <strong>for</strong> www..3.13 Exercise 5: Settle on a hostnameWorking with your client, pick a hostname <strong>for</strong> the application thatyou'll be building this semester. If you're building something withinMIT, <strong>for</strong> example, you'll probably want to pick something.mit.edu. Youand your client will need to navigate the IT bureaucracy to registerthat hostname and map it to the IP address of your server. If you'rebuilding a service <strong>for</strong> a client who does not have an <strong>Internet</strong> domain,encourage them to visit a come up with a good name and register it.The authors have had good experience with register.com, a servicethat includes bundled use of their DNS servers; the domain ownercan edit the hostname-to-IP-address translations with a Web browserinterface.3.14 Exercise 6: Negotiate Intellectual PropertyRightsOne of the thing that distinguishes a professional software engineeris success in negotiating intellectual property rights. If you give awayall rights to everything that you produce as a "work <strong>for</strong> hire" you won'thave a personal toolkit of software that you can reuse on newprojects. If you don't give away any rights nobody will be able to runyour software, which probably means that you won't be able to solvesocial or organizational problems. A good negotiator gives awaythings that are valuable to the other side but that aren't valuable tohis or her side.user". For many services an intermediate granularity of "one session"will be appropriate.With a "one session" granularity and appropriate dimensions it ispossible to ask questions such as "What percentage of the sessionswere initiated in response to an ad at Google.com?" (source fieldadded to the fact table), "Compare the likelihood that a purchase wasmade by users on their 4th versus 5th sessions with the service?"(nth-session field added to the fact table), "Compare the value ofpurchases made in sessions by <strong>for</strong>eign versus domestic customers"(purchase amount field added to the fact table plus a customerdimension).16.10 More• www.analog.cx -- download the analog Web server loganalyzer• http://www.microsoft.com/technet/treeview/default.asp?url=/technet/ScriptCenter/logs/logparser/default.asp -- MicrosoftLog Parser• www.cygwin.com -- standard Unix tools <strong>for</strong> Windows16.11 Time and MotionGenerating the first access log report might take anywhere from afew minutes to an hour depending on the quality of the log analysistool. As a whole the first exercise shouldn't take more than two hours.Tracking errors should take 2 to 4 hours. Talking to the client willprobably take about one hour. Designing the data warehouse shouldtake about one to two hours depending on the student's familiaritywith data warehousing.During this course, <strong>for</strong> example, you will ideally want to retainownership of all software that you produce. You will there<strong>for</strong>e be freeto reuse the code in any way shape or <strong>for</strong>m. The client, however, isgoing to be putting in a lot of time and ef<strong>for</strong>t working with you over aperiod of months and is thus entitled to some benefit. Your university56293

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

Saved successfully!

Ooh no, something went wrong!