totaletl:infoserver

24
TotalETL:infoServer Chris Fournier Nathan Clark Scott Longley Cyril Shilnikov MQP Project 2005 Sponsored by TotalETL inc.

Upload: darin

Post on 07-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

TotalETL:infoServer. Chris Fournier Nathan Clark Scott Longley Cyril Shilnikov. MQP Project 2005 Sponsored by TotalETL inc. TotalETL. Small ETL Company ETL (Extract Transform Load) Used in large companies Multimillion dollar business Existing Product is infoSight-- desktop solution. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TotalETL:infoServer

TotalETL:infoServer

Chris FournierNathan ClarkScott LongleyCyril Shilnikov

MQP Project 2005Sponsored by TotalETL inc.

Page 2: TotalETL:infoServer

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

infoSight

Page 4: TotalETL:infoServer

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

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

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

General design overview

Thin Clients

Thick Clients

Repository

Distributed Server System

Distributed Server System

Page 8: TotalETL:infoServer

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

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

Repository Table Design

Page 11: TotalETL:infoServer

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

Job Manager

• Combine Projects into Jobs

• Set interdependencies

• Running Jobs

Page 13: TotalETL:infoServer

Schedule Manager

• Schedule Jobs– On request– Per schedule

• Multiple scheduling strategies

Page 14: TotalETL:infoServer

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

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

Event Manager & Logger

• Useful for future expansion

• Complex Hierarchy of Events

• All Events Logged– Log4J format

Page 17: TotalETL:infoServer

Event Hierarchy

InfoserverEvent UserEvent

UserLoginFailedEvent

UserLoginEvent

UserLogoutEvent

ProjectEvent

(Otherlevel-2events) (Other

level-3events)

Listeners

Page 18: TotalETL:infoServer

Saving and Loading Projects

Security Manager

Session Manager

Repository Manager

Event & Log Manager

Project Manager

DB

Client

Version Manager

Page 19: TotalETL:infoServer

Creating Jobs from Projects

Security Manager

Session Manager

Repository Manager

Event & Log Manager

Project Manager Job Manager

DB

Client

Page 20: TotalETL:infoServer

Scheduling Jobs to Run

Security Manager

Session Manager

Repository Manager

Event & Log Manager

Scheduling Manager

Job Manager

DB

Client

Page 21: TotalETL:infoServer

Project Summary

• Relational Database storage– Projects– Operational Information

• Job Scheduling

• Tailored Security Model

• Version control

• Logging

Page 22: TotalETL:infoServer

Future work

• Distributed servers

• Clients, thick and thin

• Support for more databases

• More advanced scheduling algorithms

Page 23: TotalETL:infoServer

Thanks

• Professor E. A. Rundensteiner

• Arun Shastry

• Greg Goldberg

• Rest of the TotalETL Team

Page 24: TotalETL:infoServer

Questions?