Google Speed initiative

Let's make the web faster

Great initiative with already a good set of tutorials and compilation of tools, and potentially an active community.

Must read and apply: "TOP 25 Most Dangerous Programming Errors"

Nothing really new here, but still a good reminder for architects and development teams. And nice to see this being pushed to CS curriculums.

 Via http://www.sans.org/top25errors/#s4

RESTY: a simple curl tool for testing RESTful services

Picture_4

The project is hosted at github

Update 1: See also one of my post listing some REST resources, including other tools like rest-client and HTTP4E.

The IBM Exploratory Stream Processing Systems group is working on highly scalable stream processing platforms and applications

  • Parallel and high performance stream processing software platform capable of scaling over a range of hardware capability
  • Agile and automated reconfiguration in response to changing user objectives, available data, and the intrinsic variability of system resource availability
  • Incremental tasking in the face of rapidly changing data forms and types
  • Secure, privacy-compliant, and auditable execution environment
  • And take a look at the IBM press release announcing System S a "stream computing" software directly based on this research.

    Size addict? Look at some mobile screen size trends

    What is pretty clear is the trend towards widescreen and landscape orientation for high-end phones. QVGA and larger phones are getting automatic screen rotation. Landscape is often preferred for media consumption and handheld movie consumption has been "promising" for quite some time.

    REST Web services resources for Java developers

    Representational State Transfer (REST) is an architectural style for creating, maintaining, retrieving, and deleting resources. REST's information-driven, resource-oriented approach to building Web services can both satisfy your software's users and make your life as a developer easier.

    via javaworld.com

    REST Introduction

    - The father of REST, Roy Fielding, dissertation on "Architectural Styles and the Design of Network-based Software Architecture"

    Why REST?

    - For more resources see REST Wiki, including the REST in plain English article.

    Building REST Services

    RESTful Service

    Building Web services the REST way

    Build a RESTful Web service

    REST related Design Issues

    Versioning REST services

    Common REST mistakes

    PUT or POST: the REST of the story, or see also the interesting interview with Elliotte Rusty Harold

    - Asynchronous REST or Slow REST

    - Instead of returning a custom object we could use the Content-Location header for the in-progress status URI of the requested operation. This URI could also use headers to provide information regarding the in-progress operation:

    - Status-Code: "202 in progress" or "204 No Content" when completed or any error code

    - ETag: for the operation progress status. Could be strong and still give a notion of progress

    REST for Java Developers (via javaworld.com)

    - Part 1 - it's about the information, stupid

    - Part 2 - Restlet for the weary

    - Part 3 - NetKernel

    - Part 4 - The future is RESTful

    REST Libraries

    - Notes: 

    - All of them are supporting JAX-RS, aka JSR-311, the Java API for RESTful Web Services

    - And here is good presentation of JAX-RS

    Restlet project

    This is my favorite library, and I like the fact that it is running on GAE/J and supporting GWT

    RESTEasy from JBoss.org

    Jersey part of Sun's GlassFish project

    CXF from Apache.org

    - REST Libraries usage trend:

    JAX-RS Implementations

    Via GoogleVolume.com

    Tools

    RESTY is a simple cURL-based command line tool

    rest-client is a Java-based GUI and command line tool

    HTTP4E is an Eclipse HTTP client

     

    Update 1: Added a libraries and tools sections.

    Update 2: Added a section on design issues related to building REST services