web service essential

by iatanasov 22. May 2007 10:27
There are a number of additional constraints one can apply on SOA in order to improve its scalability, performance and, reliability. Below are kind of web service:

Stateless Service

Each message that a consumer sends to a provider must contain all necessary information for the provider to process it. This constraint makes a service provider more scalable because the provider does not have to store state information between requests. This is effectively "service in mass production" since each request can be treated as generic. It is also claimed that this constraint improves visibility because any monitoring software can inspect one single request and figure out its intention. There are no intermediate states to worry about, so recovery from partial failure is also relatively easy. This makes a service more reliable.

Stateful Service

Stateful service is difficult to avoid in a number of situations. One situation is to establish a session between a consumer and a provider. A session is typically established for efficiency reasons. For example, sending a security certificate with each request is a serious burden for both any consumer and provider. It is much quicker to replace the certificate with a token shared just between the consumer and provider. Another situation is to provide customized service.

Stateful services require both the consumer and the provider to share the same consumer-specific context, which is either included in or referenced by messages exchanged between the provider and the consumer. The drawback of this constraint is that it may reduce the overall scalability of the service provider because it may need to remember the shared context for each consumer. It also increases the coupling between a service provider and a consumer and makes switching service providers more difficult.

Idempotent Request

Duplicate requests received by a software agent have the same effects as a unique request. This constraint allows providers and consumers to improve the overall service reliability by simply repeating the request if faults are encountered.

Deriving Web Services from SOA

Everyone knows roughly what a "web service" is, but there is no universally accepted definition. The definition of web service has always been under hot debate within the W3C Web Services Architecture Working Group. Despite the difficulty of defining web services, it is generally accepted that a web service is a SOA with at least the following additional constraints:

  1. Interfaces must be based on Internet protocols such as HTTP, FTP, and SMTP.

  2. Except for binary data attachment, messages must be in XML.

There are two main styles of Web services: SOAP web services and REST web services.

SOAP Web services

A SOAP web service introduces the following constraints:

  1. Except for binary data attachment, messages must be carried by SOAP.

  2. The description of a service must be in WSDL.

A SOAP web service is the most common and marketed form of web service in the industry. Some people simply collapse "web service" into SOAP and WSDL services. SOAP provides "a message construct that can be exchanged over a variety of underlying protocols" according to the SOAP 1.2 Primer. In other words, SOAP acts like an envelope that carries its contents. One advantage of SOAP is that it allows rich message exchange patterns ranging from traditional request-and-response to broadcasting and sophisticated message correlations. There are two flavors of SOAP web services, SOAP RPC and document-centric SOAP web service. SOAP RPC web services are not SOA; document-centric SOAP web services are SOA.

SOAP RPC Web Services

A SOAP RPC web service breaks the second constraint required by an SOA. A SOAP RPC Web service encodes RPC (remote procedure calls) in SOAP messages. In other words, SOAP RPC "tunnels" new application-specific RPC interfaces though an underlying generic interface. Effectively, it prescribes both system behaviors and application semantics. Because system behaviors are very difficult to prescribe in a distributed environment, applications created with SOAP RPC are not interoperable by nature. Many real life implementations have confirmed this.

Faced with this difficulty, both WS-I basic profile and SOAP 1.2 have made the support of RPC optional. RPC also tends to be instructive rather than descriptive, which is against the spirit of SOA. Ironically, SOAP was originally designed just for RPC. It won't be long before someone claims that "SOAP" actually stands for "SOA Protocol".

REST Web Services

The term REST was first introduced by Roy Fielding to describe the web architecture. A REST web service is an SOA based on the concept of "resource". A resource is anything that has a URI. A resource may have zero or more representations. Usually, people say that a resource does not exist if no representation is available for that resource. A REST web service requires the following additional constraints:

  1. Interfaces are limited to HTTP. The following semantics are defined:

    • HTTP GET is used for obtaining a representation of a resource. A consumer uses it to retrieve a representation from a URI. Services provided through this interface must not incur any obligation from consumers.
    • HTTP DELETE is used for removing representations of a resource.
    • HTTP POST is used for updating or creating the representations of a resource.
    • HTTP PUT is used for creating representations of a resource.
  2. Most messages are in XML, confined by a schema written in a schema language such as XML Schema from W3C or RELAX NG.
  3. Simple messages can be encoded with URL encoding.
  4. Service and service providers must be resources while a consumer can be a resource.

REST web services require little infrastructure support apart from standard HTTP and XML processing technologies, which are now well supported by most programming languages and platforms. REST web services are simple and effective because HTTP is the most widely available interface, and it is good enough for most applications. In many cases, the simplicity of HTTP simply outweighs the complexity of introducing an additional transport layer.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

web service

Related posts

Comments

October 21. 2009 13:38

Gravatar

Thank you for your help!

cash loans us

October 31. 2009 14:04

Gravatar

I guess there's always an easier way ...

easy personal loans us

November 1. 2009 13:24

Gravatar

good post Thank for sharing

scratch and dent us

February 17. 2010 23:13

Gravatar

That is some inspirational stuff. Never knew that opinions could be this varied. Thanks for all the enthusiasm to offer such helpful information here.

teeth whitening kits

February 24. 2010 14:56

Gravatar

I was looking for this the other day. i dont usually post in forums but i wanted to say thank you!

Herbal colon cleanse us

February 24. 2010 17:48

Gravatar

Found your site on del.icio.us today and really liked it.. i bookmarked it and will be back to check it out some more later ..

Acne treatment

March 4. 2010 13:49

Gravatar

I keep listening to the news talk about getting free online grant applications so I have been searching around for the best site to get one. Big thanks for the useful info i found on web service essential.

instant loan

March 8. 2010 20:54

Gravatar

good good…this post deserves nothing :( …hahaha just joking :P …nice post :P Big thanks for the useful info i found on web service essential.

payday cash loans

March 11. 2010 02:56

Gravatar

Bedankt voor de blog geladen met zo veel informatie

Monkey Baby Bedding us

March 13. 2010 16:25

Gravatar

This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here! keep up the good work.

Stretch marks

March 14. 2010 21:06

Gravatar

You just helped me cure leflunomide side effects. I love your blog, honestly!

leflunomide side effects

March 26. 2010 11:42

Gravatar

Intimately, the post is actually the best on this laudable http://www.jumptags.com/thigpenmorgan/ topic. I harmonize with your conclusions http://www.mister-wong.com/user/thigpenmorgan/ and saying thanks will not just be adequate, for the fantastic lucidity in your writing.

Hong Mcparland cn

March 26. 2010 12:02

Gravatar

Your weblog includes a genuinely cool pattern. That becoming said http://wordpress.org/extend/plugins/backup-content-as-txt/ the details here is totally free and is of high-quality. I'm subscribing to your feed right now.

Joshua Blatz cn

March 26. 2010 12:28

Gravatar

This is my very first time here , really good looking blog http://www.hotyear.com. I found a lot of interesting stuff within your blog especially it's discussion. From all the remarks on your articles, it appears like this is a very http://www.s101.net popular website. Keep up the good work.

Olympia Levanger cn

March 26. 2010 13:06

Gravatar

Searching for this for some time now - i http://www.indabamusic.com/people/593613076 guess luck is more advanced than http://youngwendyblog.blogspot.com/2010/03/take-look-at-my-drinking-water-filter.html search engines

Hong Mcparland cn

March 26. 2010 13:37

Gravatar

This article gives http://wendyblog.xanga.com/723445117/id-like-to-throw-the-horrible-drinking-water-filter/ the light in which we can observe the reality. this is very nice one and gives indepth information. thanks for this nice http://www.communitiesconference.org/?q=user/3443 article!

Jamel Talahytewa cn

March 26. 2010 23:35

Gravatar

Hey - nice blog, just looking around some blogs, seems a pretty nice platform you are using. I'm currently using Wordpress for a few of my sites but looking to change one of them over to a platform similar to yours as a trial run. Anything in particular you would recommend about it? Big thanks for the useful info i found on web service essential.

home remedies for nail fungus

March 27. 2010 01:21

Gravatar

I wasn't aware of the many ripples and depth to this story until I surfed here through Google! Great job.

short term payday loans

March 27. 2010 16:18

Gravatar

Of course, what a great site and informative posts, I will add backlink - bookmark this site? Regards, Reader.

cash advance in one hour

March 28. 2010 03:00

Gravatar

Hi Webmaster, commenters and everybody else !!! The blog was absolutely fantastic! Lots of great information and inspiration, both of which we all need!Keep 'em coming... you all do such a great job at such Concepts... can't tell you how much I, for one appreciate all you do!

easy payday loan

March 28. 2010 08:10

Gravatar

Thanks for writing this blog and sharing it with the world. I would like to know how to go for reading your rss blog. Please let me know if possible.

notebook us

March 28. 2010 11:57

Gravatar

just subscribe for the rss - http://feeds.feedburner.com/netFire

Ivan Atanasov bg

March 30. 2010 10:05

Gravatar

Hey - nice blog, just looking around some blogs, seems a pretty nice platform you are using. I'm currently using it for a few of my sites but looking to change one of them over to a http://kaseyblog.wordpress.com/drinking-water-filter-reviews/ platform similar to yours as a trial run. Anything http://forge.mysql.com/people/person.php?id=22317 in particular you would recommend about it?

Dorian Dimitriou cn

March 31. 2010 03:51

Gravatar

You made some good points there. I did a search on the topic and found most people will agree with your blog. Big thanks for the useful info i found on web service essential.

genital wart treatment

April 2. 2010 08:32

Gravatar

I wanted to thank you for this great read!! I definitely enjoying every little bit of it.I have you bookmarked to check out new stuff you post.

best auto loans

April 5. 2010 10:31

Gravatar

I love what you guys are always up too. Such clever work and reporting! Keep up the great works guys I've added you guys to my blogroll.

debt settlement programs

April 6. 2010 00:21

Gravatar

Found your site on del.icio.us today and really liked it.. i bookmarked it and will be back to check it out some more later .. Big thanks for the useful info i found on web service essential.

cellulite home remedies us

April 6. 2010 16:07

Gravatar

I have recently started using the blogengine.net and I having some problems here? in your blog you stated that we need to enable write permissions on the App_Data folder...unfortunately I don't understand how to enable it.

recipe for macaroni salad cn

April 7. 2010 05:15

Gravatar

It does seem that everybody is into this kind of stuff lately. Don’t really understand it though, but thanks for trying to explain it. Appreciate you shedding light into this matter. Keep it up

lamb shanks recipes cn

April 8. 2010 23:54

Gravatar

I thought it was going to be some boring old post, but it really compensated for my time. I will post a link to this page on my blog. I am sure my visitors will find that very useful.

drinking water filter faucet us

April 9. 2010 11:11

Gravatar

Silent gratitude isn't much use to anyone.

TN Payday Loans us

April 11. 2010 16:41

Gravatar

I don’t usually reply to posts but I will in this case. WoW :)

low interest payday loans us

April 21. 2010 06:39

Gravatar

e

bicycle storage shed cn

May 3. 2010 04:53

Gravatar

I love what you guys are always up too. Such clever work and reporting! Keep up the great works guys I've added you guys to my blogroll.

low interest personal loans us

May 12. 2010 14:56

Gravatar

I was very pleased to find this site.I wanted to thank you for this great read!! I definitely enjoying every little bit of it and I have you bookmarked to check out new stuff you post.

personal finance loans us

Comments are closed

Powered by BlogEngine.NET 1.1.0.7
Theme by Mads Kristensen

About the author

Ivan Atanasov - web developer
E-mail me Send mail Subscribe Feed

Calendar

<<  May 2012  >>
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar

Pages

    Recent posts

    Recent comments

    Authors

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2012 it-coder.com

    Sign in