130 likes | 279 Views
TapirLink: Enabling the transition to TAPIR Renato De Giovanni TDWG 2007. What is TAPIR?. “Computer protocol designed for discovery, search and retrieval of distributed data over the Internet” (TAPIR Exec. Summary).
E N D
TapirLink: Enabling the transition to TAPIR • Renato De Giovanni • TDWG 2007
What is TAPIR? • “Computer protocol designed for discovery, search and retrieval of distributed data over the Internet” (TAPIR Exec. Summary). • “TAPIR consists of a specification that determines how client applications seeking information should communicate with server applications hosting data” (TAPIR Exec. Summary). • Based on DiGIR and BioCASe.
What is TapirLink? • Free, open source and generic TAPIR provider software. • Based on the well-known DiGIR PHP provider (but not compatible with DiGIR). • Current version (0.5) is considered stable and ready to be used in production environment.
Why TapirLink was developed? • We needed a second reference implementation, this time from the “DiGIR side”. • More than a 100 million records (specimen / observation) are being provided through the DiGIR PHP provider, so we wanted to offer an easy way for them to migrate to TAPIR.
What is a TAPIR provider software? • Program that understands TAPIR requests, extracts data from an underlying data source, and sends back a TAPIR response. TAPIR request TAPIR response TAPIR provider translates request to local query language retrieves data and puts the result into a TAPIR message
Who might want to use a TAPIR provider software? • Any data provider that wants to participate in TAPIR networks, or simply wants to provide his/her data through a Web Service. • TAPIR is not only about specimen/observation data – you define the type of data that you want to exchange.
TapirLink - Software requirements • Web Server (e.g. Apache, IIS). • PHP (version >= 4.2.3). • Relational database (accessible through PHP ADOdb). • Corresponding PHP extension to access the database. Note: if you are running an instance of the PHP DiGIR provider, you already have everything you need to run TapirLink.
TapirLink – Main TAPIR features • All TAPIR operations (metadata, capabilities, search, inventory, ping). • XML or KVP requests. • Any output models (search operation). • Any concepts (inventory operation). • Query templates with aliases. • Complex filters. • Log only requests. • Maximum number of element repetitions and nesting levels.
TapirLink – Additional features • Multiple resources (different endpoints connected to different databases) can be exposed from a single instance. • Each resource can map one or more conceptual schemas based on the new DarwinCore pattern or CNS configuration file format. • Web configuration interface. • LSID resolver. • Skins (stylesheets). • UDDI registration form. • Simple client for testing. • Import PHP DiGIR provider configuration.
TapirLink – Known limitations • Providers must have tabular data (single table, single view, or multiple tables/views that produce the desired set of records after being joined). • There is support to many XML Schema constructs beyond the TAPIR “basicSchemaLanguage”, but this is still unofficial. • Concept aliases are still not supported.
Installation instructions • Download software from: • http://sourceforge.net/projects/digir • (alternative: use Subversion) • Uncompress • Read INSTALL.txt • Set correct permissions in specific directories • Configure your Web Server to expose two specific directories: one for the service and the other for the configuration interface.
Special Thanks TDWG & GBIF Craig Wieczorek Dave Vieglais Giorgos Ksouris John Wieczorek Kevin Richards Kohsuke Kawaguchi Markus Döring Roger Hyam