Presentation on theme: "12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology."— Presentation transcript:
12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology
What is IMu? KE's strategy and toolset for distributing data held within EMu via the Internet.
Why IMu? EMu is the electronic museum IMu is putting this on the Internet By Internet we mean any connected devices in the broadest sense: Conventional Web Pages for Desktops Web Publication for Mobile Devices Web Services for Many Different Apps Tools for Remote Data Capture Its more than web pages for EMu (but it definitely is part of EMu)
So what actually is IMu? A set of tools for accessing data within EMu At its core are two components Server Application Programming Interfaces (APIs) These provide the building blocks for the rest of what we call IMu Web services Web publication Others
Server Runs within EMu environment Comes with (many of you have it already) Independently upgradeable (mostly) Uses one or more EMu licences Like texxmlserver Understands EMu High-level Schema Multimedia Lookup lists etc.
Server (cont.) Easily extended Plugin architecture via Perl modules Increased flexibility General or client-specific plugins Increased efficiency Operations performed on server (where appropriate) Increased security No generic query language statements Only expose controlled sets of operations
APIs Provide low-level programmer access to EMu Available: PHP, Java,.Net, Perl In Development: Objective C, Ruby, Python Client/Server Effectively RPC interface Uses JSON as communications protocol Stateless or stateful Anonymous or authenticated access Understands EMu environment High-level access to modules, lookup lists etc. Open Source
What can you do with IMu? Use the APIs directly Build client/server apps Build highly customised web pages PHP/JSP/ASP CMS plugins Build Web Services Use IMu web framework
Web Services No user-interface component HTTP-based (web server) Requests use HTTP GET/POST Responses are XML, JSON or binary data (e.g. multimedia) Uses stateless API (typically PHP/Java)
Kinds of web services Three kinds of services: Standards-based OAI Generic Multimedia Communications Layer Bespoke - Application/Site-specific Manchester Museum iPhone app Bristol Museum touch screen kiosks
Web Services Architecture Database Engine IMu Server texapi JSON EMu Host Machine IMu PHP/Java API IMu Web Services Framework (PHP/Java) Web Server Machine Web Client Web service client Web Server (Apache, IIS, Jetty etc.) HTML/JSON/binary HTTP
Web Publication Internet/Intranet interface to EMu collection Web 2.0 based components (e.g. auto- complete) Theme-able client pages MVC setup (XML -> XSLT -> HTML) Collection List Management Displays results from multiple modules Customisable interface via XSLT
Web Publication Architecture Database Engine IMu Server texapi JSON EMu Host Machine IMu PHP API IMu Web Framework (PHP) Web Server Machine Web BrowserClient PC/Mobile Web Server (Apache, IIS etc.) HTTP HTML/JSON HTTP Theming Engine (XSLT Processor) HTML XML