IMu Technology

Download Report

Transcript IMu Technology

IMu Technology
IMu Technology
12 October 2011
EMu Global Users’ Group
Andrew Brown
12 October 2011
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
It’s 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 4.0.03 (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
Basic IMu Architecture
Client application
Client machine
PHP
Java
.Net
Perl
JSON
IMu Server
texapi
Database Engine
EMu Host Machine
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
Web Client
HTTP
Web service client
HTML/JSON/binary
Web Server (Apache, IIS, Jetty etc.)
IMu Web Services Framework (PHP/Java)
Web Server Machine
IMu PHP/Java API
JSON
IMu Server
texapi
Database Engine
EMu Host Machine
Web Publication
• Internet/Intranet interface to EMu collection
• Web 2.0 based components (e.g. autocomplete)
• Theme-able client pages
• MVC setup (XML -> XSLT -> HTML)
• Collection List Management
• Displays results from multiple modules
• Customisable interface via XSLT
Web Publication Technology
• Internet/Intranet interface to EMu collection
• Uses conventional web servers such as
Apache and IIS
• Uses IMu’s PHP API to fetch data from EMu
• Marks up data as XML
• Processes XML using XSLT to generate HTML
(Theming)
• Includes Javascript for Web 2.0 features
• Auto-completion
• Page transition effects
• My Collection updates
Web Publication Architecture
Web Browser
Client PC/Mobile
HTML/JSON
HTTP
Web Server (Apache, IIS etc.)
HTML
HTTP
Theming Engine
(XSLT Processor)
Web Server Machine
XML
IMu Web Framework (PHP)
IMu PHP API
JSON
IMu Server
texapi
Database Engine
EMu Host Machine
The future
IMu is powerful framework for accessing information in EMu
We are just starting to exploit what it can do
• New themes for web framework
• More dynamic (Javascript)
• Mobile themes for tablets and phones
• Google site maps
• Web components
• Pluggable components into other pages
• Based on JQuery
• Web apps
• Simple data capture interfaces
• More web services
• Communication Layer
• Mobile apps
In the longer term it will be driven by you