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
2/15/99Sherlock Project2 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/99Sherlock Project3 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/99Sherlock Project4 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/99Sherlock Project5 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/99Sherlock Project6 Sherlock Use Case Diagram
2/15/99Sherlock Project7 Sherlock Design
2/15/99Sherlock Project8 Sherlock Design
2/15/99Sherlock Project9 LDAP Directory Directory vs. Database Hierarchical Data Store User Authentication Access Control Lists Netscape SuiteSpot
2/15/99Sherlock Project10 Sherlock Design
2/15/99Sherlock Project11 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/99Sherlock Project12 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/99Sherlock Project13 Search/Browse
2/15/99Sherlock Project14 Sherlock Design
2/15/99Sherlock Project15 Map Component Design Macromedia Flash Flash Generator Map Behavior Other Possibilities –Fly / Gd –Java Applets –Static Image Maps
2/15/99Sherlock Project16 Map Navigate
2/15/99Sherlock Project17 Sherlock Design
2/15/99Sherlock Project18 Administration Component Design High-level: Netscape Suitespot Low-level CGI: –Simple Interface –Security Features –LDAP Controls Security –Advanced Functionality –Cookies
2/15/99Sherlock Project19 Modify Data Component
2/15/99Sherlock Project20 Web BrowserAdmin CGI Directory Server Requests Admin page Presents Login screen Sends name & password Error: not using SSL Authenticate 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/99Sherlock Project21 Web BrowserAdmin CGIDirectory 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 code Show results Show modification form
2/15/99Sherlock Project22 Software Engineering Process: Stage 1 Requirements Analysis Use Case Generation Design Design Testing Prototyping and Demonstration
2/15/99Sherlock Project23 Software Engineering Process: Stage 2 Design Review Redesign Implementation System Testing Deployment
2/15/99Sherlock Project24 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/99Sherlock Project25 CS 406 Group B Experience: Initial Use Cases
2/15/99Sherlock Project26 Components of Sherlock
2/15/99Sherlock Project27 Revised Use Cases
2/15/99Sherlock Project28 Revised Architecture
2/15/99Sherlock Project29 How it Worked Client Applet LdapSSLObject TCP/IP LDAP SERVER LDAP SERVER LJDK-3.0 Referral Bind Connect Create Use
2/15/99Sherlock Project30 Final Use Cases
2/15/99Sherlock Project31 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/99Sherlock Project32 Sherlock Project Plan
2/15/99Sherlock Project33 Team Organization
2/15/99Sherlock Project34 Features not in Current Design Search/Browse: Scheduling and Calendars Search/Browse: Interface with Pagers
2/15/99Sherlock Project35 Other Tasks to be Completed Obtain Server Licenses –Netscape SuiteSpot –Macromedia Flash and Generator LDAP and PerLDAP Research
2/15/99Sherlock Project36 That’s all, folks... Questions? Comments?