nishen naidoo, senior systems analyst macquarie university library alma apis using java, maven, jaxb...

12
Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

Upload: posy-benson

Post on 18-Jan-2018

216 views

Category:

Documents


0 download

DESCRIPTION

Java Development Language/Platform 1.Popular 2.Broad toolset support 3.Dependencies at App level (excluding JRE/App Server) 4.Common IDEs

TRANSCRIPT

Page 1: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

Nishen Naidoo, Senior Systems AnalystMacquarie University Library

Alma APIs using Java, Maven, JAXB and Jersey

IGeLU 2015 Developers Day

Page 2: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

Introduction

Java

Maven

JAXB

Jersey

Demo

Alma Toolkit

Questions

Page 3: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

JavaDevelopment Language/Platform

1. Popular2. Broad toolset support3. Dependencies at App level

(excluding JRE/App Server)

4. Common IDEs

Page 4: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

MavenSoftware Build and Comprehension Tool

Builds Projects

Generates code

Compiles

Tests

PackagesManages Project

Lifecycle

Performs artefact

deployment

Performs release

management

Documents Projects• Generates Javadoc• Generates Web Sites• Changelog reports• More…

Page 5: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

MavenSoftware Build and Comprehension Tool

The Metadata!!1. Allows support for other dependency tools

Ivy Gradle Grape

2. Similar Technologies PHP: Composer + Phing NodeJS: npm/bower + Grunt/Gulp

Page 6: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

Maven General Information

Declarative

Convention over configuration

Highly customisable

Plugin based

Makes life easier

Verbose, but just copy/paste

Page 7: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

JAXBJava API for XML Binding

XSD

xjc

Java Classes

schemagen

Page 8: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

JAXBInstance Conversion

Java Object XML

Marshal

XML Java Object

Unmarshal

Page 9: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

JerseyJAX-RS (Java API for RESTful Web Services)

Framework for producing REST APIs (server)

Framework for consuming REST APIs (client)

Leverages JAXB

Demo will focus on client usage…

Page 10: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

DemoLive demo… Nothing can go wrong!

Demo code on GitHub:https://github.com/nishen/igelu-2015-demo

Page 11: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

Alma Toolkit InitiativeWho wants to help!?

Code on GitHub:https://github.com/nishen/alma-toolkit

Page 12: Nishen Naidoo, Senior Systems Analyst Macquarie University Library Alma APIs using Java, Maven, JAXB and Jersey IGeLU 2015 Developers Day

The End

Questions?