Sunday, November 8, 2009

Introduction to Semantic web and usage of Semantic web and SOA to solve Integration issues

What is semantics?

Semantics is related to syntax. Syntax is how you say something and Semantics is what it means.

For example:

I hate grapes
or
I dislike grapes

In the above cases the syntax is different, but the semantics is the same. When we are talking about syntax and semantics we are talking about communication. People use their voice to communicate. So in the same manner the internet has created standards for us to communicate with each other. It gave computers the voice to communicate and share information. For example, Parrot can mimic human sound without understanding the meaning of the words.In the same way computers mimic human information to communicate with each other. So while the internet enables computers to talk to each other it was not designed to teach them what it means. The web can be seen as a document storage and retrieval system. The web created quick and easy way to retrieve and view information.So when you type the website address on the browser it sends the request to the website,the request basically states that you would like to download the document located at that address. The requested website retrieves the document and sends it to the web browser.This document is read in a language called HTML.The HTML language defines a syntax that computers understand. It tells the computer how to display the document for you. The internet lets computer talk to each other,the web allows us to store,retrieve and share documents and search engine lets us search information on any website. What is missing here is that today the computers just blindly retrieve and show us information because computers dont understand the meaning of the web pages they are displaying to us. Now if we can get a computer to recognize what is there in a web page they can learn what the user is interested in. This is what semantic web is all about. It helps computers understand the meaning behind the web page. The web of today is about documents whereas semantic web is all about things. Things could mean anything such as people, organizations, places, music. So the semantic web is not only about pointing these things to the computer but also letting the computers know how they are related to each other. There are several technologies that are in use today that can embed semantic and html documents. Two popular formats are 1) Microformat and 2) RDFA. Once the computer can understand people, places and event it can help you interact with these things. For example, music blogs usually list songs and album reviews on their front page. If the blog marked up the songs and artist using semantic technology, you could tell your browser to search all songs on the page or search the internet for other albums with the same artist. Search engines would also become more accurate than they are today. When you are searching you can say you are searching for a person, place or a particular song. Search engines would direct you to websites with far more accuracy because they would not depend on key words but the semantics of the web page. So semantic web holds a great deal of promise in making our life easier by helping computer help us to get what we want.

Tagging VS Semantic Web

Tagging is strongly associated with web 2.0.So why do we need semantic web?. Tagging is very good, useful and popular with social networking web sites.It is light version of semantic web. People think of semantic web as a logical layer on top of current web.They think everything needs to be explicit and clear.But there should be some ambiguity because else everything would require a forceful explanation. Tagging allows ambiguity and does not force everything to express or mean something. But to make things a little more clear it requires more than just tagging. For example, if somebody tags a picture on Facebook as a bird, and some else does not find the picture as been a bird but a reptile there is no way of removing tag or having a tag of tag. Semantic web gives you the language to express something and can be used in same way as tagging to express something without having any room for ambiguity.

Applying semantics to SOA

Business integration problems have represented a challenge for last two or three decades but complete solutions have not yet been found. But the latest developments in the area of semantic web and semantic web services as well as the emerging efforts towards Service Oriented Architecture(SOA) bring new opportunities and promise better, more dynamic and more suitable solutions for today's business environments.

By adopting SOA businesses split their overall functionality in discrete (yet meaningful) pieces, loosely coupled, accessible through well defined interfaces, and well suited for peer-to-peer interactions. Each piece of such functionality is offered and consumed as a Web Service. Further more, augmenting SOA approach with semantics guarantees unambiguous Web Service descriptions and explicit meaning associated with the interchanged data. As a consequence, complex collaboration scenarios can be easily built in a dynamic fashion, sustained by concrete solutions to solve heterogeneity issues at the data, process and protocol levels.

References:
http://en.wikipedia.org/wiki/Semantic_Web
http://www.youtube.com/watch?v=olDpQwR8Fhk&feature=related
http://74.125.113.132/search?q=cache:-F_lrSeSa2IJ:www.oasis-open.org/committees/download.php/16593/proposal.doc+semantic+web+integration+problems&cd=14&hl=en&ct=clnk&gl=us



5 comments:

  1. Juhi, this is an outstanding blog. The line between semantics and syntax is something that always blurred in my mind. Now if you add SOA to the mix, my head is really spinning.

    Loved to read about tagging - I had never given it much thought before, especially as it related to 2.0 technologies.

    This, in my mind, goes back to the blog I just posted - about how just a little category of systems integration is so very complicated. You can take a whole class on just semantics, or tagging, or 2.0, or SOA, and still be lacking in knowledge. But you have to begin on a high level with these things, and Juhi has done a great job with that here in this blog.

    Juhi for president!

    ReplyDelete
  2. this is a dear topic for me ,, i was a part(still but not contributing since i left my undergrad ) of the team that was developing GNOWSYS, this is an application that can be used to create semantic content more correctly semantic web content.
    we use it in ZOPE, which is an content manager. pretty cool application. it is used as a plugin component in ZOPE.Basically this is an main logic or kernal that is embedded in ZOPE to produce more semantic content.

    but i was considering when u said that it can be used for SOA. using semantic computing to SOA, well i think this wont be a big problem for soa providers. i dont know but i got me thinking to use and implement GNOSYS over some SOA platform.
    well here are few links to the documentation of GNOSYS , check it out if u like semantic web computing

    http://www.gnu.org/software/gnowsys/

    cheers!!

    ReplyDelete
  3. Thanks doomsberry to share your knowledge about semantic web.

    Thanks Michael for the appreciation.

    I guess we all search for a couple of things on web in our daily life. The most tedious task is to get to the correct link out of the many links that a search engine displays. So if the web understands what we exactly looking for, it can take us to the correct link quickly saving us lot of time going through unwanted material on the web.

    ReplyDelete
  4. Thanks for the post Juhl, and the links from Doomsberry. I would like to learn more about semantic web precisely because we all get tired of the "Shotgun" results from search engines.

    Refining our search results will not only save time, but it will save a lot of money. A more efficient search engine can reduce the need for multiple searches, iteratively refining criteria to achieve the desired result.

    Quite interesting!

    ReplyDelete
  5. To add more info about the above post,i found out while googling ....The new internet technology Web 3.0 is built using semantic Web technologies, which will allow data to be shared and reused across applications.

    igoogle is the best example of semantic web...

    ReplyDelete

Service Oriented Architecture (Source: www.youtube.com)

Latest News from SOA World Magazine