CDM Developer Workshop. TDWG 2009 - Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy Purpose What do you want from this workshop?

Slides:



Advertisements
Similar presentations
Cognos Web Services Business Intelligence. SOA SOA (Service Oriented Architecture) The SOA approach involves seven key principles: -- Coarse -grained.
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Google Chrome & Search C Chapter 18. Objectives 1.Use Google Chrome to navigate the Word Wide Web. 2.Manage bookmarks for web pages. 3.Perform basic keyword.
Depositing e-material to The National Library of Sweden.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
EDIT needs biodiversity information standards The BGBM Berlin-Dahlem EDIT Team.
Application architectures
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
High Performance Faceted Interfaces Using S2S Eric Rozell, Tetherless World Constellation.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
UNIT4 BUSINESS ANALYTICS. page WHAT IS THE PRODUCT? 2 A business intelligence tool kit, specializing in Coporate Performance Management An application.
© Internna Technologies 1 IWebMvc Features, Possibilities & Goals.
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
The EDIT Platform for Cybertaxonomy as an information broker in name infrastructures Andreas Kohlbecker 1, Yde de Jong 2, Cherian Mathew 1, Lorna Morris.
UNIT-V The MVC architecture and Struts Framework.
Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing.
Hibernatification! Roadmap for Migrating from Plain Old SQL on JDBC to JPA on Hibernate Duke Banerjee Senior Developer, DrillingInfo.com.
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
Semantic Sensor/Device Description System EEEM042-Mobile Applications and Web Services Assignment- Spring Semester 2015 Prof. Klaus Moessner, Dr Payam.
Spring Overview, Application demo -Midhila Paineni 09/23/2011 Spring Overview, Application demo9/8/20151.
Maven & Bamboo CONTINUOUS INTEGRATION. QA in a large organization In a large organization that manages over 100 applications and over 20 developers, implementing.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
10 Adding Interactivity to a Web Site Section 10.1 Define scripting Summarize interactivity design guidelines Identify scripting languages Compare common.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
Presentation on SubmissionTrackingTool: by Anjan Sharma.
Tech Terminology for non-technical people Tim Bornholtz 2006 Annual Conference.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
TDWG EDIT Platform for Cybertaxonomy – An Overview Andreas Müller, Andreas Kohlbecker, Pepe Ciardelli, Julius Welby, Pere Roca, Niels Hoffmann, Patricia.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Ocean Observatories Initiative Data Management (DM) Subsystem Overview Michael Meisinger September 29, 2009.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
Team S07. Agenda Scope of project Global use case diagram Analysis use cases High Level design (Software Architecture) Prototype challenges faced and.
Struts 2 introduction. Struts 2 framework Struts 2 A full-featured web application framework for the Java EE platform The Java Servlet API exposes the.
1 Copyright 2010 NexJ Systems Inc. Confidential and Proprietary - Not for Distribution. OHT Application Integration Platform.
GBIF Data Access and Database Interoperability 2003 Work Programme Overview Donald Hobern, GBIF Programme Officer for Data Access and Database Interoperability.
An introduction to data exchange protocols in TDWG Renato De Giovanni TDWG 2008.
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
Sakai WebApp Structure
Katari Globant 2008 (update to 2010). Katari  Katari is a framework to use as a starting point to develop new web applications.  Incorporates architecture,
CharMeck.org Contributer Training SharePoint 2013 Orientation and Basic Training.
Acronym Soup GBIF, TDWG & GUIDs Jerry Cooper. Global Biodiversity Information Facility (GBIF) Established in 2000 through non-binding MOU (25 countries.
Taxonomic Workflow in the EDIT Platform for Cybertaxonomy Andreas Kohlbecker, Pepe Ciardelli, Niels Hoffmann, Katja Luther, Andreas Müller Botanic Garden.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Steven Perry Dave Vieglais. W a s a b i Web Applications for the Semantic Architecture of Biodiversity Informatics Overview WASABI is a framework for.
Applications in the EDIT Platform for Cybertaxonomy Andreas Müller 1, Andreas Kohlbecker 1, Cherian Mathew 1, Alexander Oppermann 1, Patrick Plitzner 1,
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
Kuali Enterprise Notification Tell Me What I Want And Need To Know Aaron Godert (Sr. Software Architect, Cornell University) John Fereira (Programmer/Analyst,
Labs: Create, deploy and test a simple web service
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
 Corpus Formation [CFT]  Web Pages Annotation [Web Annotator]  Web sites detection [NEACrawler]  Web pages collection [NEAC]  IE Remote.
Introduction to Advanced Java Programming
Tracking and Booking Taxi
Unit 6-Chapter 2 Struts.
Template library tool and Kestrel training
Sakai WebApp Structure
Distributed System Using Java 2 Enterprise Edition (J2EE)
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Developing and testing enterprise Java applications
CS4961 Software Design Laboratory Understand Aquila Backend
SDMX IT Tools SDMX Registry
Presentation transcript:

CDM Developer Workshop

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy Purpose What do you want from this workshop? General Introduction to the CDM Library i.e. programming language, platform, domain model AND / OR Show a simple example of how applications build on the CDM Library AND / OR Q & A

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy Common Data Model (CDM) New development covering all domains of information Leans on existing standards / models like TDWG Ontology Exchange format Expandable

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy IO CDM Library

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy Fundamentals An application using the CDM is concerned with data that falls within the scope of the CDM i.e. primarily Taxonomy, Nomenclature, Descriptive or Specimen data (with some secondary data like literature, molecular or geographical data but primarily "Taxonomy"). Exactly what the application does, or what it looks like is not defined by the CDM Java Library - this is presumed to be specified by the developer. Instead the CDM Library provides the rather dull, but essential generic services that 95% of applications need. The advantage is that, as an application developer, you do not need to do the boring stuff yourself, but instead you can focus on delivering real value to your users.

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy Generic features of CDM Objects UUID - surrogate key Audit info (created, created by, updated, updated by) Annotations ("comments") & Markers ("flags" or "tags") Rights (think dc:rights) & Sources (provenance) TitleCache, LSID

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy What you get for free Persistence: Generic CRUD operations Search: free-text query or criteria query Versioning: track changes in data objects Audit: record who did what & when Validation: check "is this object ok?“ Web service components (JSON, XML, RDF, LSID Resolution) Import-Export (TCS, SDD, ABCD, EndNote, CSV, Excel, CDM XML)

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy What you need to provide Business Logic User Interface Look & Feel Packaging (as webapp, eclipse RCP, java swing etc)

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy A quick word about Maven Maven is the build tool used to manage the CDM Library For those of you who have used unix, it's a bit like make For those of you who have used java, it's a bit like ant It is more than a tool for compiling and packaging applications as it is based on the idea of managing dependencies (i.e. jar files), and of deploying such files to a (local or web-based) repository.

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy A quick word about Spring Spring is an application development framework that began as a lightweight alternative to J2EE (Java Enterprise Edition). It is based on the idea of services being pojo's (Plain Old Java Objects), which have their dependencies injected into them (dependency injection is also called the "don't call us, we'll call you" principle - the idea of the container managing the dependencies of objects). This application design pattern essentially results in a very loose coupling of dependencies between layers of the application. Loose coupling is a good thing.

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy A quick word about Spring As an applicaton developer, it is sufficient to create an (XML) file that describes your "application context" - the services that are available as dependencies of your application. E.g. lines like will scan your classpath for objects in the eu.etaxonomy.cdm.api package (i.e. the cdm services), and make them available as dependencies.

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy Taxon Hot OR Not When a user visits taxon hot or not, they are presented with a taxonomic description. It includes a picture of the taxon. It also includes a form. Within that form is a UUID that identifies that taxon description, and also a field called markerType that can take one of five values that correspond to -Best -Better -Ok -Bad -Worst

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy Rank this taxon! By selecting a value for markerType, and clicking on the button, the browser sends the UUID of the descripion and one MarkerType to the controller. Provided that the POST request is well formed, the controller will add a new "Marker" of the specified type to the description, persisting that updated description. It calculates a heuristic "score" for the description, based on the ranks that it has been given, returns this data, and gets a new description to rank as well.

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy MVC Architecture Model: In this case, the Common Data Model - java objects View: In this case a single Java Server Page index.jsp, using springs's tag libraries Controller: In this case a single java class, annotated with annotation, responding to two types of HTTP Request  HTTP GET to / which returns a description of a taxon (including an image)  HTTP POST to / which includes: A UUID for the description A UUID for the marker type

TDWG Andreas Kohlbecker Taxonomic Workflow in the EDIT Platform for Cybertaxonomy Where to ask for help Development wiki, bugtrac, subversion, documentation Mailing list CDM UML Documentation and diagrams Dependencies, Javadocs,changelog etc for cdmlib releases