1 Web-Centric Projects in Computer Science Courses Kwok-Bun Yue University of Houston - Clear Lake 2002 April 12, 2002
April 7, 2002http//dcm.cl.uh.edu/yue; 2 Introduction n Web-Centric applications development is becoming critical. n Challenges exist for offering Web-Centric Projects. n This talk presents: u Our experience, and u Some recommendations.
April 7, 2002http//dcm.cl.uh.edu/yue; 3 Contents Web-Centric Software Architecture n Web-Centric Projects n Teaching Experience n Recommendations n Conclusions
April 7, 2002http//dcm.cl.uh.edu/yue; 4 Web-Centric Software Architecture n Software architectures have changed through the years. n A very coarse evolution: u Phase 1: Mainframe. u Phase 2: Traditional 2-tiered Client- Server. u Phase 3: Web-Based N-tiered Client- Server u Phase 4: Web-Centric.
April 7, 2002http//dcm.cl.uh.edu/yue; 5 Phase 1: Mainframe u Highly centralized. u Very thin clients: dumb terminals. u Largely disconnected to outside of the organization.
April 7, 2002http//dcm.cl.uh.edu/yue; 6 Phase 2: Traditional 2-tiered Client-Server n Fat clients: PC. n Proprietary protocols. n Many dedicated servers. n Still largely within the organization. clientsservers services
April 7, 2002http//dcm.cl.uh.edu/yue; 7 Phase 3: Web-Based N-tiered Client-Server (1) clients servers services Application Server Web Server intranet clients Internet Major flow of services
April 7, 2002http//dcm.cl.uh.edu/yue; 8 Phase 3: Web-Based N-tiered Client-Server (2) u Open Web protocols. u Middle layer for definition of business logic: better software development. u Serving clients outside of the organization: Internet. u The browser has become the universal client. u Thinner clients.
April 7, 2002http//dcm.cl.uh.edu/yue; 9 Phase 4: Web-Centric (1) clients servers services Application Server Web Server intranet clients Internet Major flow of services Organization XML Servers XML servers
April 7, 2002http//dcm.cl.uh.edu/yue; 10 Phase 4: Web-Centric (2) n Potentially thin clients. n Clients and servers can be blurred n Data/services in and out of the organization. n Data/services from many servers, inside and outside of the organization. n No single organization can provide 'everything.'
April 7, 2002http//dcm.cl.uh.edu/yue; 11 Contents n Web-Centric Software Architecture Web-Centric Projects n Teaching Experience n Recommendations n Conclusions
April 7, 2002http//dcm.cl.uh.edu/yue; 12 Web-Centric Projects n In our university, web-centric projects are assigned in: u CSCI 4230 Internet Application Development u CSCI 5733 XML Application Development n Some examples follow.
April 7, 2002http//dcm.cl.uh.edu/yue; 13 Weather Report (1)
April 7, 2002http//dcm.cl.uh.edu/yue; 14 Weather Report (2)
April 7, 2002http//dcm.cl.uh.edu/yue; 15 Weather Report (3) n Assigned in Spring n Wrote ASP program to retrieve weather information in 'XML' format. External source: ‑ bin/oleg/get ‑ obs. n Use MS XML parser.
April 7, 2002http//dcm.cl.uh.edu/yue; 16 Language Interest (1)
April 7, 2002http//dcm.cl.uh.edu/yue; 17 Language Interest (2)
April 7, 2002http//dcm.cl.uh.edu/yue; 18 Language Interest (3) n Assigned in Fall n Wrote CGI-Perl programs to retrieve various indexed page numbers by Google of different languages. External source: n Use CGI-Perl, LWP and regular expressions.
April 7, 2002http//dcm.cl.uh.edu/yue; 19 WML Newsfeed (1)
April 7, 2002http//dcm.cl.uh.edu/yue; 20 WML Newsfeed (2)
April 7, 2002http//dcm.cl.uh.edu/yue; 21 WML Newsfeed (3) n Assigned in Spring 2002: ng2002/h3.asp ng2002/h3.asp n Wrote programs to fetch newsfeed and deliver it to mobile phones. n External source: n Use JSP, WML (Wirelss Markup Language) and SAX (an API).
April 7, 2002http//dcm.cl.uh.edu/yue; 22 Contents n Web-Centric Software Architecture n Web-Centric Projects Teaching Experience n Recommendations n Conclusions
April 7, 2002http//dcm.cl.uh.edu/yue; 23 Teaching Experience n Highly relevant project assignments. n Students excited about the projects. n Posted many technical questions. n Found good jobs because of the course. n Rated consistently as one of the best computer courses.
April 7, 2002http//dcm.cl.uh.edu/yue; 24 Challenges n No control on the the external sites on: u Availability u Quality of services u Format consistence. n Beginner students will make many programming mistakes.
April 7, 2002http//dcm.cl.uh.edu/yue; 25 Challenge Example n "Denial of Services" attack to Google: “Someone at UH has been spamming Google with repetitive queries this weekend, from (ip and dsn omitted), in violation of our terms of service: We saw over 60,000 such queries yesterday (Saturday), and over 45,000 in the first two hours today (Pacific time). These queries (over six per second) are consuming a significant amount of our bandwidth, and constitute a borderline denial-of- service attack, since it is adversely affecting response times for our users. Most of the queries have been one of the following: PERL, PERL Rules, PERL Sucks, HTML, HTML sucks, HTML rules We obviously do not want to have to shut off Google access to UH, but if this attack continues, we may have no choice. Can you please investigate this immediately and update us on the situation? Thank you.”
April 7, 2002http//dcm.cl.uh.edu/yue; 26 Contents n Web-Centric Software Architecture n Web-Centric Projects n Teaching Experience Recommendations n Conclusions
April 7, 2002http//dcm.cl.uh.edu/yue; 27 Recommendations (1) n Select the external Web site sources carefully: u Study the responsiveness, availability and format stability of the sources. u Read the terms of usage and privacy policy carefully.
April 7, 2002http//dcm.cl.uh.edu/yue; 28 Recommendations (2) n Select the external Web sites carefully: u XML sources much better than HTML sources. u XML DTD (Document Type Definition) with industry-wise support is usually more stable.
April 7, 2002http//dcm.cl.uh.edu/yue; 29 Recommendations (3) n Consider using local caching of external resources. n Examples: u Local caching of Google's search language interest pages. u Local caching for the newsfeed: s/general/news.pl?topic=China s/general/news.pl?topic=China
April 7, 2002http//dcm.cl.uh.edu/yue; 30 Advantages of Local Caching n Instructors have full control on the cached pages. u Reduced risks. u Improved availability and quality of services. u May change cache contents for testing and grading. Examples: F Freeze contents for grading. F Add "$" for WML testing.
April 7, 2002http//dcm.cl.uh.edu/yue; 31 Problems of Local Caching n Local caching requires programming. n Examples: approximately 2 hours of programming for each of u the Google's language interest cache u the newsfeed cache u the stock quote cache
April 7, 2002http//dcm.cl.uh.edu/yue; 32 A Caching Tool for Web-Centric Projects n A Web-based tool for caching instructor selected pages: using JSP/MySQL. n Allow definitions of u external site URL and HTTP parameters u Cache refresh method u Snapshot taking u Password Protection u Statistics n In progress!
April 7, 2002http//dcm.cl.uh.edu/yue; 33 Contents n Web-Centric Software Architecture n Web-Centric Projects n Teaching Experience n Recommendations Conclusions
April 7, 2002http//dcm.cl.uh.edu/yue; 34 Conclusions n More difficult to set up Web-Centric Project Assignments. n Efforts are worthy. n Challenges are mostly solvable. n Working on a cache tool for Web-centric projects. n Further research: Web services will provide challenges to the cache tool!
April 7, 2002http//dcm.cl.uh.edu/yue; 35 Questions? n Thank you!!