SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
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

Más contenido relacionado

Más de Rob Bontekoe

Design patterns in XPages
Design patterns in XPagesDesign patterns in XPages
Design patterns in XPagesRob Bontekoe
 
Building iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoBuilding iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoRob Bontekoe
 
XPages Project Mondriaan ROC
XPages Project Mondriaan ROCXPages Project Mondriaan ROC
XPages Project Mondriaan ROCRob Bontekoe
 
XPages Introductie
XPages IntroductieXPages Introductie
XPages IntroductieRob Bontekoe
 

Más de Rob Bontekoe (6)

Design patterns in XPages
Design patterns in XPagesDesign patterns in XPages
Design patterns in XPages
 
Building iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoBuilding iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" Domino
 
XPages Project Mondriaan ROC
XPages Project Mondriaan ROCXPages Project Mondriaan ROC
XPages Project Mondriaan ROC
 
XPages Advanced
XPages AdvancedXPages Advanced
XPages Advanced
 
XPages Introductie
XPages IntroductieXPages Introductie
XPages Introductie
 
Snug 6 Maart 2009
Snug 6 Maart 2009Snug 6 Maart 2009
Snug 6 Maart 2009
 

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