Download - TotalETL:infoServer

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?


Top Related