Tom Marrs

Lead Architect at LivingSocial

Tom Marrs is a Technical Architect at Perficient, where he specializes in RESTful Web Services and Service-Oriented Architecture (SOA). He designs and implements mission-critical web and business applications using the latest SOA, Ruby on Rails, JSON, HTML5, JavaScript, Java/EE, and Open Source technologies.

Tom is the author of the JSON Refcard for DZone, and the upcoming book, JSON at Work for O’Reilly. Tom is also a speaker at the Great Indian Developer Summit (GIDS) conference.

An active participant in the local technical community, Tom helps emcee at the HTML5 Denver User Group, helped found the Denver Open Source User Group (DOSUG), has served as President of the Denver Java Users Group (DJUG), and speaks at other local user groups.

Presentations

JSON is more than just a simple replacement for XML when you make an AJAX call. JSON is becoming the backbone of any serious data interchange over the Internet. All modern languages have excellent JSON API support. There are emerging standards and best practices that can be used to harness the energy and enthusiasm around JSON to build truly elegant, useful, and efficient applications. You’re already using JSON, and you may be thinking:

  • What else is there to talk about?
  • What additional tools and standards are available, and why do they matter?
  • Everything is great, so how would these tools and standards help?*
  • What is JSON Schema and when/how do I use it?

In this presentation, we’ll cover:

JSON Overview


  • JSON Beginnings - language review, best practices
  • JSON Tooling
  • JSON in Java

The JSON Ecosystem


  • Structuring JSON (JSON Schema)
  • RESTing with JSON
    Modeling - JSONPad
    Browser Plugins
    ** Prototyping and testing – JSON Generator, Firebase
  • Text Search with JSON
  • Transforming JSON

Attendees will learn the basics of JSON and how to leverage this exciting technology in new ways to enhance their RESTful architecture and development efforts.

looking to improve your design. Maybe you're new to REST on your project. In any case, you have questions:

  • Are there any guidelines and best practices for RESTful API design?
  • How can I tell if a Web Service is truly RESTful?
  • How do I design a quality Service?
  • Where can I find well-designed RESTful APIs?
  • Are there any design patterns and best practices for designing my RESTful Web Service?
  • What REST Frameworks are available?

In this presentation, we’ll cover:

RESTful API Design Best Practices


  • Of Nouns and Verbs
  • When to use Parameters
  • Pagination
  • Searching
  • Versioning
  • Content Negotiation
  • Error Handling
  • JSON Object Design
  • How to spot a Hybrid Service

Documenting Your RESTful API


  • Swagger
  • IODocs
  • Restdoclet
  • Apiary.io

Available RESTful Web Service Guidelines


  • Atlassian
  • Alfresco

Well-Designed RESTful APIs


  • Twitter
  • LinkedIn
  • Open Library
  • Twilio

RESTful API Repositories


  • Programmable Web
  • webshell

Service Architecture


  • Web Apps and Web Services
  • Layers
    ++ API
    ++ Business
    ++ Data/Integration

Service Design Patterns


  • Gateway
  • Service Stub
  • Request Mapper
  • Response Mapper
  • Service Interceptor

REST Frameworks


  • Java:
    ++ Restlet
    ++ RESTEasy
    ++ Apache CXF
    ++ Spring MVC
  • Node.js:
    ++ Express

Example Code


  • Spring MVC

We will look at a single business problem to design a RESTful Web Service. Along the way, we'll walk through several well-known RESTful Web Service APIs and show some examples with Spring MVC. Attendees will gain a solid foundation in RESTful Web Service design.

Books

JBoss at Work: A Practical Guide

by Tom Marrs and Scott Davis

  • Consisting of a number of well-known open source products, JBoss is more a family of interrelated services than a single monolithic application. But, as with any tool that's as feature-rich as JBoss, there are number of pitfalls and complexities, too.

    Most developers struggle with the same issues when deploying J2EE applications on JBoss: they have trouble getting the many J2EE and JBoss deployment descriptors to work together; they have difficulty finding out how to get started; their projects don't have a packaging and deployment strategy that grows with the application; or, they find the Class Loaders confusing and don't know how to use them, which can cause problems.

    JBoss at Work: A Practical Guide helps developers overcome these challenges. As you work through the book, you'll build a project using extensive code examples. You'll delve into all the major facets of J2EE application deployment on JBoss, including JSPs, Servlets, EJBs, JMS, JNDI, web services, JavaMail, JDBC, and Hibernate. With the help of this book, you'll:

    • Implement a full J2EE application and deploy it on JBoss
    • Discover how to use the latest features of JBoss 4 and J2EE 1.4, including J2EE-compliant web services
    • Master J2EE application deployment on JBoss with EARs, WARs, and EJB JARs
    • Understand the core J2EE deployment descriptors and how they integrate with JBoss-specific descriptors
    • Base your security strategy on JAAS

    Written for Java developers who want to use JBoss on their projects, the book covers the gamut of deploying J2EE technologies on JBoss, providing a brief survey of each subject aimed at the working professional with limited time.

    If you're one of the legions of developers who have decided to give JBoss a try, then JBoss at Work: A Practical Guide is your next logical purchase. It'll show you in plain language how to use the fastest growing open source tool in the industry today. If you've worked with JBoss before, this book will get you up to speed on JBoss 4, JBoss WS (web services), and Hibernate 3.