SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
RESTful Web API
  Applications
 AppliGate Consultancy
Agenda
● Need for Scaling Applications
● Cloud Environment
● RESTful Web Services
Need to scale and more...
● At AppliGate we had the need for easy to
  build, to scale, and to maintain applications
  for the web
   ○ And... no adminstration burden
● In the past:
   ○ Lotus Domino, then
   ○ Servlets + JSPs on Google App Engine
● Nowadays:
   ○ RESTful Web API applications
   ○ Restlet framework + Java Data Objects (JDO)
     datastore on Google App Engine
   ○ JSON centric, Lotus Domino like but more
The Cloud
Google App Engine (GAE) is a platform as a
service (PaaS) cloud computing platform for
developing and hosting web applications in
Google-managed data centers.
● Scales as trafic and data storage grows
● Up to 10 applications free
  ○ Quotas are resetted daily
● Fees for additional storage, bandwidth, or
  instance hours
  ○ 99,95% SLA
GAE Java Runtime Environment
● Java servlet standard
● Sandboxed
● Storing data
    ○ Java Data Objects and Java Persistence API
●   Blobstore
●   Memcache
●   CRON jobs
●   Google's Accounts authentication
●   Java Mail API
●   Full text search (experimental)
RESTful Web Services
● Desertion Roy Fielding
  ○ Representational State Transfer (REST)
    ■ architectural principle of the world wide web
  ○ Easier to use than SOAP
● RESTful Web applications
  ○ Use HTTP methods to create, update, read, and
    delete resources
  ○ Called RESTful Web Services or RESTful Web API
● Stateless, and so very scalable
Example RESTful Web Service
● event-scheduler.appspot.com
    ○ Application for recording event descriptions and
      scheduled events
● Open Web API
● REST principles using Restlet Framework
    ○ GET, POST, PUT, DELETE HTTP methods
●   JSON based representations
●   Multiple accounts
●   HTTPS
●   Documentation
    ○   http://event-scheduler.appspot.com/documentation.html
Another Example
● AppliGate's web site is based on the Restlet
  framework
  ○   Supports all web features with REST
  ○   Java based
  ○   HTML and JSON (internal) representations
  ○   Multilingual: Dutch and English
  ○   Supports iPhone, Anroid and Blackberry
  ○   Runs on Google App Engine
● Uses event-scheduler.appspot.com for the
  actual course schedule
● JSON centric approach
JSON Centric Approach
● Like Domino, but deeper nested structures
● Create and update with a REST client
● Field labels can be included (multilingual)
Need help?
● AppliGate assists to build RESTful Web API
  applications running on Google App Engine
● JSON centric
● Proof of concept
● Workshop
● rbontekoe@appligate.nl
● http://www.appligate.nl

RESTfull Web API Applications

  • 1. RESTful Web API Applications AppliGate Consultancy
  • 2. Agenda ● Need for Scaling Applications ● Cloud Environment ● RESTful Web Services
  • 3. Need to scale and more... ● At AppliGate we had the need for easy to build, to scale, and to maintain applications for the web ○ And... no adminstration burden ● In the past: ○ Lotus Domino, then ○ Servlets + JSPs on Google App Engine ● Nowadays: ○ RESTful Web API applications ○ Restlet framework + Java Data Objects (JDO) datastore on Google App Engine ○ JSON centric, Lotus Domino like but more
  • 4. The Cloud Google App Engine (GAE) is a platform as a service (PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers. ● Scales as trafic and data storage grows ● Up to 10 applications free ○ Quotas are resetted daily ● Fees for additional storage, bandwidth, or instance hours ○ 99,95% SLA
  • 5. GAE Java Runtime Environment ● Java servlet standard ● Sandboxed ● Storing data ○ Java Data Objects and Java Persistence API ● Blobstore ● Memcache ● CRON jobs ● Google's Accounts authentication ● Java Mail API ● Full text search (experimental)
  • 6. RESTful Web Services ● Desertion Roy Fielding ○ Representational State Transfer (REST) ■ architectural principle of the world wide web ○ Easier to use than SOAP ● RESTful Web applications ○ Use HTTP methods to create, update, read, and delete resources ○ Called RESTful Web Services or RESTful Web API ● Stateless, and so very scalable
  • 7. Example RESTful Web Service ● event-scheduler.appspot.com ○ Application for recording event descriptions and scheduled events ● Open Web API ● REST principles using Restlet Framework ○ GET, POST, PUT, DELETE HTTP methods ● JSON based representations ● Multiple accounts ● HTTPS ● Documentation ○ http://event-scheduler.appspot.com/documentation.html
  • 8. Another Example ● AppliGate's web site is based on the Restlet framework ○ Supports all web features with REST ○ Java based ○ HTML and JSON (internal) representations ○ Multilingual: Dutch and English ○ Supports iPhone, Anroid and Blackberry ○ Runs on Google App Engine ● Uses event-scheduler.appspot.com for the actual course schedule ● JSON centric approach
  • 9. JSON Centric Approach ● Like Domino, but deeper nested structures ● Create and update with a REST client ● Field labels can be included (multilingual)
  • 10. Need help? ● AppliGate assists to build RESTful Web API applications running on Google App Engine ● JSON centric ● Proof of concept ● Workshop ● rbontekoe@appligate.nl ● http://www.appligate.nl