the sherlock project purdue university, department of computer sciences sponsored by tellabs, inc....

36
The Sherlock Project Purdue University, Department of Computer Sciences Sponsored by Tellabs, Inc. Doug Clark - Group Leader Tobey Pasheilich Raj Talwar Shahman Baluch Cengiz Bayazit

Post on 19-Dec-2015

214 views

Category:

Documents


1 download

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 19

Modify Data Component

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

2/15/99 Sherlock Project 36That’s all, folks...

Questions?

Comments?