Download - TotalETL:infoServer
![Page 1: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/1.jpg)
TotalETL:infoServer
Chris FournierNathan ClarkScott LongleyCyril Shilnikov
MQP Project 2005Sponsored by TotalETL inc.
![Page 2: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/2.jpg)
TotalETL
• Small ETL Company
• ETL (Extract Transform Load)– Used in large companies– Multimillion dollar business
• Existing Product is infoSight-- desktop solution
![Page 3: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/3.jpg)
infoSight
![Page 4: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/4.jpg)
infoSight Current Features
• GUI Project creation
• Library of Transformers
• Works with multiple input types
• Single machine
• Single user
• One project at a time
![Page 5: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/5.jpg)
MQP Project goals
• Prototype the client-server version of infoSight– Distributed– Multi-user– Database-centric– Extensible– Alpha-level code– Focus on back-end design
![Page 6: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/6.jpg)
Project Methodology
• Met with TotalETL team on-site
• Design requirements
• Refine and discuss requirements as needed
• Build core modules, demo end first term
• Build additional modules, final demo.
![Page 7: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/7.jpg)
General design overview
Thin Clients
Thick Clients
Repository
Distributed Server System
Distributed Server System
![Page 8: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/8.jpg)
Actual design overview
Security Manager
Session Manager
Repository Manager
Event & Log Manager
Project Manager
Scheduling Manager
Job Manager
DB
Client
Version Manager
![Page 9: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/9.jpg)
Repository Manager
• System core
• Store all information about– System operation– Security– Projects
• XML Parser to store Projects
• JDBC to connect to DB’s
![Page 10: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/10.jpg)
Repository Table Design
![Page 11: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/11.jpg)
Project Manager & Version Control
• Storage and Retrieval of Projects– In-memory Object -> XML File -> Repository
• Version Control– Per user locking– Version tracking
![Page 12: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/12.jpg)
Job Manager
• Combine Projects into Jobs
• Set interdependencies
• Running Jobs
![Page 13: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/13.jpg)
Schedule Manager
• Schedule Jobs– On request– Per schedule
• Multiple scheduling strategies
![Page 14: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/14.jpg)
Session Manager
• Establish and maintain client connections
• RMI– Simple, robust, built-in to Java
• Front end for all functions in server
• Security checking– Authentication of users– Authorization of commands
![Page 15: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/15.jpg)
Security Manager
• Determine user’s privileges
• Control access to Projects, Jobs, etc.
• Custom Security Model– Role-based ACLs– Read, Write, Execute (Projects and Jobs)– Read, Create, Modify (System Configuration)
![Page 16: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/16.jpg)
Event Manager & Logger
• Useful for future expansion
• Complex Hierarchy of Events
• All Events Logged– Log4J format
![Page 17: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/17.jpg)
Event Hierarchy
InfoserverEvent UserEvent
UserLoginFailedEvent
UserLoginEvent
UserLogoutEvent
ProjectEvent
(Otherlevel-2events) (Other
level-3events)
Listeners
![Page 18: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/18.jpg)
Saving and Loading Projects
Security Manager
Session Manager
Repository Manager
Event & Log Manager
Project Manager
DB
Client
Version Manager
![Page 19: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/19.jpg)
Creating Jobs from Projects
Security Manager
Session Manager
Repository Manager
Event & Log Manager
Project Manager Job Manager
DB
Client
![Page 20: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/20.jpg)
Scheduling Jobs to Run
Security Manager
Session Manager
Repository Manager
Event & Log Manager
Scheduling Manager
Job Manager
DB
Client
![Page 21: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/21.jpg)
Project Summary
• Relational Database storage– Projects– Operational Information
• Job Scheduling
• Tailored Security Model
• Version control
• Logging
![Page 22: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/22.jpg)
Future work
• Distributed servers
• Clients, thick and thin
• Support for more databases
• More advanced scheduling algorithms
![Page 23: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/23.jpg)
Thanks
• Professor E. A. Rundensteiner
• Arun Shastry
• Greg Goldberg
• Rest of the TotalETL Team
![Page 24: TotalETL:infoServer](https://reader035.vdocuments.us/reader035/viewer/2022070405/56813e35550346895da81acd/html5/thumbnails/24.jpg)
Questions?