130 likes | 225 Views
Interconnectivity and Colleague 9/24/2009 1:45pm Room 7. Jeff Butera – Hampshire College jbutera@hampshire.edu. Interconnectivity and Colleague. Main Entry: in·ter·con·nect Pronunciation: in- tər - kə - nekt Function: verb Date: 1865 transitive verb : to connect with one another
E N D
Interconnectivity and Colleague9/24/2009 1:45pm Room 7 Jeff Butera – Hampshire College jbutera@hampshire.edu
Interconnectivity and Colleague Main Entry: in·ter·con·nect Pronunciation: \in-tər-kə-nekt\ Function: verb Date: 1865 transitive verb: to connect with one another intransitive verb: to be or become mutually connected
Interconnectivity and Colleague • We all have Colleague. • We all have other stuff. • How does other stuff interface with Colleague? • Quite nicely, thank you.
Interconnectivity and Colleague – NOT Realtime • Flat file transfer using scheduled batch jobs to import/export date • Works well for low-need applications • Bookstore charges • Public Safety charges • Anything where periodic batch process is OK • Daily, weekly, etc. • ELF similar, but not automated
Interconnectivity and Colleague – Almost Realtime • Flat file transfer, just as previous. • Use ssh/rsh to execute batch process remotely. • Works well with things you want relatively quickly, but don’t truly need to be realtime. • Overhead of ssh connection, starting udt won’t fly with realtime (not good for web app).
Interconnectivity and Colleague – Realtime! (RTFM) • ODBC - requires normalization of data, performance not great • UCI - C (somewhat ODBC, somewhat not) • InterCall - C/C++ • Unibasic Sockets – anything! • Uniobjects for Java – Java • UniOLEDB - MS OLEDB • Uniobjects for .NET - .NET
Interconnectivity and Colleague – Hampshire Examples • Most Hampshire connections are via web pages/sites. • Some command line. • Used a homegrown web service since 2002.
Interconnectivity and Colleague – InterCall Example • InterCall has commands to do various tasks: • Select records • Read records • Write records • Call subroutines • Call programs (batch processes) • KISS • Wrote one subroutine which does all of above!
Interconnectivity and Colleague – InterCall Example • C program/InterCall • Unidata connection (unirpc) • Master subroutine invoked • Master subroutine calls other subrs for work • Master subroutine returns data • C program passes data back
Interconnectivity and Colleague – InterCall Example Open a session: session_id=ic_opensession(server, username, password, account, &code, NULL); Call a subroutine: ic_subcall(subname,&subname_len, &code, &numargs, &arg[0], &arg[1], ...); Close the session: ic_quitall(&code);
Interconnectivity and Colleague – Hampshire Websites Wrote Perl API using a lightweight C program with InterCall. • Perl calls C program. • C program connects to Unidata subroutine. • Unidata subroutine does work. • Returns data to C program. • C program passes back to Perl.
Interconnectivity and Colleague – Hampshire Examples • NERDug (www.NERDug.org) • HR Job Application (in progress) • Student Application • IT Helpdesk (Ticket/Bug) Tracking • Course Evaluations • Survey for Environmental Committee • Admin Portal (adsys.hampshire.edu) • Employment Check (command line)
Interconnectivity and Colleague – Summary • You CAN interconnect other stuff! • You CAN interface with Unidata! • If the shoe fits – wear it! • Find the tool(s) that match your talent. • Newton's First Law of Motion • I’ve been riding InterCall for 7+ years!