rest

Introduction

Hello All! From this point forward, I’ll be doing series of posts related to Web Services. This is part of my on going certification study for the Web Services Expert exam. I’ll go from the fundamental questions of what Web Services are up to the deeper depths of it’s anatomy.

I don’t expect any of this to be published anywhere, but feel free to use my content for the right intentions and purposes.

For this post, I’ll be answering these few questions.

What is a Web Service

Why do we need Web Services

Where are & where are Web Services going?

Types of Web Services

Web Services on Java Platform

What are Web Services

Web services by definition are client and server applications that communicate over the WWW HTTP. It provides a standardisation of exposing services to multiple platforms, creating cross platform interoperability and extensibility. In a nutshell, it’s just a service exposed via the web which means accessible by HTTP/HTTPS.

Why do we need Web Services

There is always a growing demand for integrating systems that were built differently. The WEB has put a standard for all these systems to communicate with each other via it’s protocols. All platforms understand http and is able to parse XML format.

Where are & where are Web Services going?

It’s going bananas actually. Within the next couple of years, I can see that Web Services will be the main defacto approach in integrating many different applications and platforms. Tools will be available so that developers will easily integrate and create Web Services almost instantly and most of the what can be virtualize, will be soon be available as a service (and accessible via Web Service).

Types of Web Services

Big Web Services

Big Web Services uses XML as payloads and use the Simple Object Access Protocol to send and receive messages. We use JAX-WS and JAXB/JAXP implementation to read/write XML format file (structure data) and process them to our applications. Big Web Services are normally for large data that are mission critical to it’s purpose.

SOAP Web Services are also used to create stateful/session based service. This means that it can retain a specific client (thread) session and store its state on it’s entire lifespan.

REST Web Services

REST Web Services are much simpler mechanism. By default, stateless in nature, this is a type of Web Services we want to developer if we just want to expose a specific data structure. It’s simplicity has been the core point of it’s attractiveness to the developers and it’s lightweight approach makes it the primary choice for creating/integrating web services on micro / mobile devices.

It is important to understand the basic fundamentals/concepts of these 2 types as it will help you understand on how to effectively and efficiently design bullet proof Web Services for your customers.

On the next set of POST. I’ll be going on a deep dive adventure on creating our first BIG and REST Web Services.

I’ve been checking out Tiggzi for a while and I say, it’s really stunning to see what you can do with the automation tools nowadays. Tiggzi is a cloud-based Mobile Application Development IDE that lets developers developed mobile apps without having to write any code.

Here’s the quickest application I created so far (took 10mins to developed). It’s a very basic twitter search engine that let the user search anything in twitter given a keyword. 🙂

The take:

IDE and REST Services – With a very intuitive IDE interface and support for REST Services, the IDE is by far surpass any mobile application development (cloud based or not).

REST Services – Create your own REST API (or use any generator out there), expose it in a server and your mobile application is ready to consume and use. 🙂

Try it yourself: http://tiggzi.com/. I still need a few days of geek mode with this IDE, and a lot of ideas are running down this brain of mine right now. I can share a lot of awesome feature it has, but you might be bored with this post already and wants to try it, so go. :p