Download mp_prop2

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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