1 / 16

Behzad Samin

An End-to-End Overview of a RESTful Web Service. Behzad Samin. Agenda. Overview (45 minutes)   jQuery, Jersey, JDO (Behzad) Google App Engine (David and Cory) Demo (45 minutes)   Showing a sample application (Behzad).

Download Presentation

Behzad Samin

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An End-to-End Overview of a RESTful Web Service Behzad Samin

  2. Agenda • Overview (45 minutes)   • jQuery, Jersey, JDO (Behzad) • Google App Engine (David and Cory) • Demo (45 minutes)   • Showing a sample application (Behzad). • Highlighting some of the Google App Engine features to make development and support easier (David and Cory). • Q&A (30 minutes) 

  3. Objectives This is a presentation to explore a RESTful web service end to end leveraging the following technologies: • jQuery (internationalization, list grid, context menu ) • Jersey • JDO • Google App Engine (cloud to virtualize application server & data store)

  4. jQuery a JavaScript Library Simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. • Cross-browser • CSS Compliant • Lightweight Footprint • And more… To explore the features check out: http://visualjquery.com/

  5. internationalization jQuery.i18n.properties is a lightweight jQuery plugin for providing internationalization to javascript from ‘.properties’ files, just like in Java Resource Bundles. • Include plugin in your main page. • Load resource bundles based on browser or user choice. • Get values per keys e.g. $.i18n.prop(’title')

  6. list grid dataTable is a plug-in for the jQueryJavascript library. It is a flexible tool which will add advanced interaction controls to any HTML table. • Include plugin in your main page. • Create an html table. • Initialize the dataTable for the table. • Enable and disable features per your requirements.

  7. context menu contextMenu is a lightweight jQuery plugin that lets you selectively override the browser's right-click menu with a custom one of your own. • Include plugin in your main page. • Create an html list • Initialize the contextMenu for the list. • Bind a function for each contextMenu item select event.

  8. REST vs. SOAP

  9. Simple Object Access Protocol (SOAP) Web Service

  10. REpresentational State Transfer (REST) Web Service

  11. Building RESTful Web Services in Jersey Jersey is an open source, JAX-RS (JSR 311) Reference Implementation for building RESTful Web services. Jersey is more than a Reference Implementation because it provides an API so that developers may extend Jersey to suit their needs. • Getting Started: http://jersey.java.net/nonav/documentation/latest/index.html • A Good Example http://www.vogella.de/articles/REST/article.html#rest

  12. Java Data Objects (JDO) To handle Data Access and Persistence, you can use JDO, a standardised persistence API. • With JDO you can develop plain old java objects (POJOs) and persist them as they are transparently. • This requires very little work from the developer. It allows persistence to any type of datastore in principle, being designed with flexibility and datastoreagnosticity in mind. • A good example of Defining Data Classes with JDO http://code.google.com/appengine/docs/java/datastore/jdo/dataclasses.html

  13. Demo: Suggestion Entry System

  14. Google App Engine Run your web apps on Google's infrastructure: • Easy to build • Easy to maintain • Easy to scale Focus on your app, leave the rest to Google • Zero to sixty: App Engine enables your application to scale automatically without worrying about managing machines. • You're in control: The simple, web-based dashboard makes it easy to manage your application without having to babysit it. Google offers a Eclipse plugin that provides both Google App Engine and GWT development capabilities. Install the plugins from http://dl.google.com/eclipse/plugin/3.7 via the Eclipse update manager.

  15. Run Applications Locally The Eclipse Plugin allows to run applications for the Google App Engine locally in an environment which simulates the environment on the App Engine. You also have a local admin console (http://localhost:8888/_ah/admin/ ) which allows you to see: • your local datastore • the task queue, • inbound email and XMPP traffic.

  16. Run Applications in Google Cloud To create an application on the Google App Engine, create an application on the Google App Engine website (https://appengine.google.com/ ). Afterwards you can locally create an web application and upload this application to the created application on the Google App Engine. • To create an application on the App Engine press the button "Create an application" and select an application name. You have to choose one which is still available.

More Related