Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Master’s Project Proposal CSDepot: A J2EE-based Computer Science Portal Rebecca Twigg 1. Committee Members and Signatures Approved by Date __________________________________ Advisor: Dr. Edward Chow _____________ __________________________________ Committee member: Dr. Charlie Shub _____________ __________________________________ Committee member: Dr. Tim Chamillard _____________ 2. Introduction Java in Administration Special Interest Group (JA-SIG) in collaboration with several member universities, has developed uPortal, an open source framework for creating customizable portals for the higher education community. A J2EE-based tool, uPortal incorporates a number of standard technologies including JSP, Java Servlets, JDBC, JNDI, XML and XSLT. It is targeted toward institutions of higher learning, whose return contributions help extend the framework’s functionality. A list of institutions currently implementing uPortal can be found at www.uportal.org. The Sakai project, another open-source effort based on the uPortal framework, differentiates itself from uPortal’s offering of general campus services by focusing on course management and research collaboration. The CSDepot project, an acronym for Computer Science Department Portal, will extend uPortal’s core functionality in the prototyping of a computer science department portal by implementing channel usage statistics tracking and by creating a number of custom channels. The new channels will implement both channel and role-based security, where different groups will interact with the channels with different roles and privileges. CSDepot will incorporate the two newly-emergent standard portlet technologies, the XML and SOAP-based WSRP portlet, and the Java-based JSR-168 portlets. 3. Architecture Figure 1 shows the major steps between an end user and the CSDepot components during initial portal interaction. An explanation of the steps follows: 1. User enters CSDepot address in browser, suffixed with “/CSDepot”. The request is directed to the default welcome file index.jsp in the CSDepot web application directory. 2. The JSP issues a redirect. The new address is included in the Location field of the HTTP header. 3. A new redirect HTTP request is issued, suffixed by “render.userLayoutRootNode.uP”. 4. The “.uP” suffix causes the request to be directed to the CSDepot servlet, and processed in its entry class PortalSessionManager.class 5. CSDepot creates a default guest user instance profile, and retrieves the guest layout ID, structure and theme stylesheets. 6. With the user ID, layout ID, and the ID of the root node, the user layout is retrieved. 1 Tomcat Java Server 1. http request http://<hostname:portnumber>/CSDepot 2. http response - redirect CSDepot Web Application index.jsp 3, 13. http request http://<hostname:portnumber>/render.userLayoutRootNode.uP web.xml 9. http request http://<hostname:portnumber>/Login 4, 14. *.uP 10. /Login 12. http response – redirect security. properties Login servlet LoginServlet.class stylesheets .xsl stylesheets portal. properties 11a. user name Portal Database UP_PERSON_DIR 11b. MD5 password 5a. user ID, profile ID UP_USER_PROFILE 5b. layout ID, structure & theme stylesheet IDs CSDepot servlet PortalSessionManager.class 6a. user ID, layout ID, initial struct ID UP_LAYOUT_STRUCT 6b. user layout nodes 7a. channel ID UP_CHANNEL 7b .channel class, channel name 8. http response – rendered portal page Figure 1 – CSDepot component interactions 7. With the channel IDs from the user layout, the channel class and other channel information is retrieved. 8. The XML transformations occur, and the channels are rendered into a complete portal page which is returned to the end user in an HTTP response. One of the rendered channels is a Login channel. 9. The end user enters in a username and password in the Login channel form, issuing another HTTP request. 10. The HTTP request is directed via a channel stylesheet parameter to the Login servlet, and processed by its entry class LoginServlet.class. 2 11. The Login servlet checks the username and password values against those in the database, marks the request as authenticated (or not) 12. The Login servlet redirects the request back to the CSDepot servlet. 13. The redirected request is again sent to the CSDepot servlet. 14. Again because of the “.uP” suffix, processing continues in PortalSessionManager. This time the portal database accesses will retrieve layout and channel data specific to the end user, and the user’s individualized portal page will be rendered. 4. Project Plan The deliverables of this project are the prototyped portal, CSDepot, and the project report. CSDepot will implement a number of new custom channels, will include a more extensive interface for adding users, will include the ability to track statistics of channel usage by user, and will implement channel-level security. Time-permitting, the CSDepot prototype will also be enhanced with a UCCS skin and “filler channels” such as XML-based weather. CSDepot will also demonstrate the use of WSRP and JSR-168 portlets and study how different portals interact through WSRP. We will examine how UCCS portal can interact with CSDepot. We will propose efficient enhancements for tracking channel usage by users. This includes the API to be included in the tracking channel, the database design for containing the tracking data, and the related GUI components for monitoring statistics and contacting specific users. The proposed tracking enhancement will be tested and refined in the course channels and the graduate school application processing channel. The course channels will also provide faculty with the ability to monitor when pages are accessed by specific users, set triggers such as sending reminders, and retrieve channel usage summary statistics. The graduate school application processing channel design focus will be the specification of the work flow, the monitoring of the student application status by the department administrator, the timely reminder and secure delivery of student application data for committee members, and the summary of the evaluation results. 4.1 Tasks 4.1.1. Already completed - Spring’05 4.1.1.1 4.1.1.2 4.1.1.3 4.1.1.4 4.1.1.5 4.1.1.6 4.1.1.7 4.1.1.8 4.1.1.9 4.1.1.10 Review Java Review SQL Review HTML Learn JSP & Java Servlet technology Learn XML Learn XSLT Understand Ant build tool Understand Tomcat server Set up CSDepot development environment Change default portal skin 4.1.2. In Progress - should finish Summer or Fall ‘05 4.1.2.1 Design and implement new channels 4.1.2.1.1 Information Channel: Describe/show degrees offered, class schedule, etc. Target completion: 7/8/05 Department News Channel: Editable message from Department chair, etc. Target completion: 7/11/05 Course channel: Course-specific information, accessed deferentially by role, implementing inter-channel communication (ICC) for student viewing of course material 4.1.2.1.2 4.1.2.1.3 3 4.1.2.1.4 Target completion: 8/1/05 Graduate School Application Channel: Process Graduate school requests from prospective students, sending to department administrator and graduate committee members to process, incorporating email and notification functionality Target completion: 8/1/05 4.1.2.2 Design and implement additional functionality 4.1.2.2.1 4.1.2.2.4 User Creation (may alternatively be implemented as an Ant target): Add new users to the portal database, including specification of group membership, channel membership, layout, etc. Currently, there is only the ability to add a new username and their MD5 password to the UP_PERSON_DIR table, and only as an Ant target. Target completion: 7/15/05 Channel Usage Statistics: Design new channel usage statistics files and reporting of statistics Target completion: 7/18/05 Channel-level Security: Design channel-level access, incorporating current role-based security. Currently channels are restricted by group, but there are no provisions for rolebased deferential access to a channel, e.g. ability for one group to edit and another to read channel material Target completion: 7/25/05 4.1.2.3 Measure performance 4.1.2.3.1 Upload files, install in lab, configure installation, perform measurement tests Target completion: 8/5/05 4.1.2.4 Install in Production 4.1.2.4.1 Upload files, install, configure environment, set up security profiles, test functionality Target completion: 8/12/05 4.1.2.5 Write report 4.1.2.5.1 Finish report (currently in progress) Target completion: 8/1705 4.1.2.6 Present project 4.1.2.6.1 Present CSDepot implementation and project report Target date: 8/19/05 4.1.2.2.2 4.1.2.2.3 4.2 Deliverables 4.2.1 The Computer Science Department Portal prototype. 4.2.2 A project report documenting the architecture, design, implementation of the portal prototype, performance results and the lessons learned in this project. 5.0 Acronyms CSDepot GUI HTML HTTP ICC J2EE JA-SIG Computer Science Department Portal Graphical User Interface Hyper Text Markup Language Hypertext Transfer Protocol Inter-Channel Communication Java 2 Enterprise Edition Java in Administration Special Interest Group 4 JNDI JSP JSR SOAP SQL WSRP XML XSLT, XSL-T Java Naming and Directory Interface JavaServer Pages Java Specification Request Simple Object Access Protocol Structured Query Language Web Services for Remote Portlets Extensible Markup Language Extensible Stylesheet Language Transformation 6.0 References 1. McLaughlin, Brett, Java and XML, O’Reilly & Associates, 2000 2. Annunziato, Jose, and Kaminaris, Stephanie Fesler, Sams Teach Yourself JavaServer Pages, Sams Publishing, 2001 3. Cadenshead, Roger, and Lemay, Laura, Sams Teach Yourself Java 2 in 21 Days, Professional Reference Edition, Sams Publishing, 2003 4. Hall, Marty, Core Servlets and JavaServer Pages, Sun Microsystems Press, A Prentice Hall Title 5. Kay, Michael, XSLT 2.0 Programmer’s Reference, Third Edition, Wiley Publishing, Inc., 2004 6. Lemay, Laura, Teach Yourself Web Publishing with HTML 3.2, Sams Publishing, 1996 7. Lee, Austin, Narayan, Sujeeth, Viswanathan, Arun “Web Portal Project: CS 526 Class Project”, April 28, 2005 http://cs.uccs.edu/%7Ecs526/studentproj/projS2005/snarayan/doc/WebPortal.ppt 8. uPortal by JA-SIG http://www.uportal.org/ 9. Sakai Project www.sakaiproject.org 10. Java 1.4.2 API http://java.sun.com/j2se/1.4.2/docs/api/ 11. Sun ONE Portal Server Developer's Guide http://docs.sun.com/source/816-6362-10/index.html 12. Extensible Markup Language (XML) http://www.w3.org/XML/ 13. XSL Transformations (XSLT) http://www.w3.org/TR/xslt 14. SOAP Specifications http://www.w3.org/TR/soap/ 15. OASIS Web Services for Remote Portlets (WSRP) TC http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp 16. Tilton, Justin, “Changing the Portal Look and Feel”, JA-SIG Conference, Destin, Florida, December 4, 2001 http://www.uportal.org/developers/looknfeel.pdf 17. Lee Chamberlain, Margaret Nah Juahkah, and Robert Sherratt, “Beginners Guide to uPortal, Version 1.0”, July 4, 2003 18. Using uPortal (Chapter 1) http://mis105.mis.udel.edu/ja-sig/docs/uPortal_Documentation_Chapter_1.pdf 19. Working in uPortal v2.2 (Chapter 2) http://www.immagic.com/uPortalDocumentation/uPortal_Documentation_Chapter_2.pdf 20. uPortal architecture overview, uPortal_rel-2-4-2-quick-start/uPortal_rel-2-4-2/docs/uPortal_architecture_overview.pdf 21. uPortal Tools, uPortal_rel-2-4-2-quick-start/uPortal_rel-2-4-2/docs/uPortal_tools_overview.txt 5