the sherlock project purdue university, department of computer sciences sponsored by tellabs, inc....
Post on 19-Dec-2015
214 views
TRANSCRIPT
The Sherlock ProjectPurdue University, Department of
Computer Sciences Sponsored by Tellabs, Inc.
Doug Clark - Group Leader
Tobey PasheilichRaj Talwar
Shahman BaluchCengiz Bayazit
2/15/99 Sherlock Project 2
Overview• The CS 406/407 class objectives
• The Sherlock Project
• Use-Cases and Sherlock
• The Sherlock Design
• System Behavior
• Work done last fall in CS 406
• Work done to date in CS 407
• Project Plan
• Q & A
2/15/99 Sherlock Project 3
The CS 406/407 Courses
• Fundamentals of Software Engineering
• Engineering a real software project
• Team-based environment
• Real-world problems and solutions
• Teleconferencing with the client
• Resume juice
• Grading policy
2/15/99 Sherlock Project 4
Project Sherlock
• System and Human Resource Locator
• General Description– Graphical, Client/Server-based, Platform-
independent Online Query Tool
• What is it Used For?– Locating People, Resources, and Facilities
2/15/99 Sherlock Project 5
Use Cases
• What is a Use Case Diagram?– Actors– Use Cases
• Primary Purposes– Decide/Describe Functional Requirements– Give Clear View of What System Does– Provide a Basis for System Tests
2/15/99 Sherlock Project 6
Sherlock Use Case Diagram
Search / Browse
Map Navigate
Notify
User: Kiosk
Modify Access
Modify View
Modify Data
User: Employee
User: Admin
Login
2/15/99 Sherlock Project 7
Web Browser
Search/BrowseCGI
Admin CGI
Map CGI
DirectoryServer
Flash Plug-In SuiteSpot
Map Generator
Sherlock Design
2/15/99 Sherlock Project 8
Web Browser
Search/BrowseCGI
Admin CGI
Map CGI
DirectoryServer
Flash Plug-In SuiteSpot
Map Generator
Sherlock Design
2/15/99 Sherlock Project 9
LDAP Directory
• Directory vs. Database
• Hierarchical Data Store
• User Authentication
• Access Control Lists
• Netscape SuiteSpot
2/15/99 Sherlock Project 10
Web Browser
Search/BrowseCGI
Admin CGI
Map CGI
DirectoryServer
Flash Plug-In SuiteSpot
Map Generator
Sherlock Design
2/15/99 Sherlock Project 11
Search/Browse Component
• Provides user with web interface • Does not require users to login• Will be accessible to every user • Allows users to request a view of Tellabs resources• Allows specific queries on various criteria
2/15/99 Sherlock Project 12
Workings of Search/Browse
• Client will interact with CGI component• CGI forwards request to LDAP directory service• Upon retrieval of results from LDAP, results are formatted for HTML display • Error messages are generated if no results are retrieved
2/15/99 Sherlock Project 13
Search/Browse
Display Result(s)
Web Browser
Search/BrowseCGI
DirectoryServer
Search Request
Send Request
Error: Invalid Format
Query Result
Format Result
Error: No Such Resource
2/15/99 Sherlock Project 14
Web Browser
Search/BrowseCGI
Admin CGI
Map CGI
DirectoryServer
Flash Plug-In SuiteSpot
Map Generator
Sherlock Design
2/15/99 Sherlock Project 15
Map Component Design
• Macromedia Flash
• Flash Generator
• Map Behavior
• Other Possibilities– Fly / Gd– Java Applets– Static Image Maps
2/15/99 Sherlock Project 16
Map NavigateWeb
BrowserMap CGI Directory
ServerMap
Generator
Request(level-n)
Call to Server()
Return(Map level-n)
Return(Map_data level-n)
Generate_map(Map_data level-n)
Pull(template)
Insert(Map_data level-n)
2/15/99 Sherlock Project 17
Web Browser
Search/BrowseCGI
Admin CGI
Map CGI
DirectoryServer
Flash Plug-In SuiteSpot
Map Generator
Sherlock Design
2/15/99 Sherlock Project 18
Administration Component Design
• High-level: Netscape Suitespot
• Low-level CGI:– Simple Interface– Security Features– LDAP Controls Security– Advanced Functionality– Cookies
2/15/99 Sherlock Project 20
Web Browser Admin CGI DirectoryServer
Requests Admin page
Presents Login screen
Sends name & password
Error: not using SSLAuthenticate user
Results of authentication
Error: Authentication failed
Search for user's object
Return object attributes
Determine user permissions on object
Format page based on attributes and permissions
Success, return cookie
2/15/99 Sherlock Project 21
Web Browser Admin CGI Directory Server
Choose attribute to modify
Success: attribute modify form
Send proposed changes
Verify permission to modify attribute
Error: no permission
Generate LDIF request
Send LDIF request
Return success codeShow results
Show modification form
2/15/99 Sherlock Project 22
Software Engineering Process:Stage 1
• Requirements Analysis
• Use Case Generation
• Design
• Design Testing
• Prototyping and Demonstration
2/15/99 Sherlock Project 23
Software Engineering Process:Stage 2
• Design Review
• Redesign
• Implementation
• System Testing
• Deployment
2/15/99 Sherlock Project 24
CS 406 Group A Experience• Confusion
– UML, Rational Rose, LDAP, SSL, Apache, Cookies, CGI, Java
• Design Development– Difficulties/Growth
• The Design– CGI– Sherlock Server– Problems
• Prototype
2/15/99 Sherlock Project 25
CS 406 Group B Experience: Initial Use Cases
ResourceQuery
ResourceReservation
User accountmaintenance
ScheduleAccess
DataMaintenance
MapAccess
Messaging
Admin.
Client
UsersEmployee
2/15/99 Sherlock Project 26
Components of Sherlock
Client
Comm.Gateway GUI
QueryParser
MapGenerator
LDAPOtherApplication
2/15/99 Sherlock Project 27
Revised Use Cases
User
Guest User
Form Search
Map Search
Resource Scheduling
Set User Preferences
Authorized User
Add Resource
Modify Resource Information
Remove Resource
User Account Maintenance
SysAdmin
2/15/99 Sherlock Project 28
Revised ArchitectureForm Query Display
Scheduling
LDAP Server
LDAP Directory
Sherlock Data Structures
Map Display
2/15/99 Sherlock Project 29
How it Worked
Client Applet
LdapSSLObject
TCP/IP
LDAPSERVER
LDAPSERVER
LJDK-3.0
ReferralBind
Connect
Create
Use
2/15/99 Sherlock Project 30
Final Use Cases
Resource Scheduling
Set User Preferences
Authorized User
Logoff
Form Search
Map Search
Logon
UserUser Account Maintenance
Remove Resource
Modify Resource Information
Add Resource
Sherlock Administr
2/15/99 Sherlock Project 31
CS 406 Group B: The Prototype• Demo on Thursday December 10, 1998• Features Demonstrated
– LDAP Functionality– Login,Add, Remove, Search
• Features Not Demonstrated– Map, SSL, Resource Data Types
• Language used in coding– Java (1.1)
• Other software packages used by the prototype :– Netscape LDAP JDK– Suitespot Server (3.xx)
2/15/99 Sherlock Project 32
Sherlock Project Plan
When WhatFebruary, March Coding, Development
March, April Clean-up and Testing
April 15th Product Preview
April 27th Final Demo!
May Tellabs Deployment
2/15/99 Sherlock Project 33
Team OrganizationComponent Responsible MembersAdministrate CGI Doug ClarkSearch / Browse CGI Shahman BaluchMap generation Cengiz Bayazit & Tobey PasheilichDirectory Server Cengiz Bayazit & Tobey Pasheilich
Tasks Responsible MembersGroup Leader Doug ClarkLDAP research and information Cengiz Bayazit & Tobey PasheilichUser Interface and Formatting Shahman BaluchMaps Cengiz Bayazit & Tobey PasheilichDocumentation maintenance and web page Raj Talwar
2/15/99 Sherlock Project 34
Features not in Current Design
• Search/Browse: Scheduling and Calendars
• Search/Browse: Interface with Pagers
2/15/99 Sherlock Project 35
Other Tasks to be Completed
• Obtain Server Licenses– Netscape SuiteSpot– Macromedia Flash and Generator
• LDAP and PerLDAP Research