130 likes | 271 Views
4742: Interconnectivity and Colleague. David Lane – Oakland CC Jeff Butera – Hampshire College. 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
4742: Interconnectivity and Colleague David Lane – Oakland CC Jeff Butera – Hampshire College
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.
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.
Interconnectivity and Colleague – Realtime! (RTFM) • ODBC - requires normalization of data, performance poor • UCI - C (somewhat ODBC, somewhat not) • InterCall- C/C++ • UnibasicSockets – anything! • Uniobjectsfor Java – Java • UniOLEDB- MS OLEDB • Uniobjectsfor .NET - .NET
Interconnectivity and Colleague – Hampshire Examples • Most Hampshire connections are via web pages/sites. • Some command line. • Used a homegrown web service for two years.
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 Unidatasubroutine. • 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!