Thursday, November 29, 2007

Day 2 at the Ontology Conference

My second day at the ontology conference was quite good. I impressed by the various teams which presented their papers on they were designing and implementing ontology based systems. The biggest theme from the conference was that the current technology and lack of defined ontology methodologies was the biggest drawback in this field. Most of the applications are prototypes and they are extremely slow in processing decent sized ontology. I heard talks about reasoners, owl, geo-spatial ontologies, multi-order logic processors, ontologies in graph databases, etc., etc. However the applications which were using these technologies were prototypes. The other problem was that if ontologies were not built correctly then the results were hideously wrong. Everyone in the conference agreed that ontologies and their applications are still new in the field of IT however the promise of ontologies and their applications is so great that large organizations keep funding R&D in the field. I personally enjoyed my time at the conference since it was good to see other data lovers and people who understood the value of data in any IT enterprise. I will probably go again next year. Here is a list of products which were mentioned in the seminar.
  • Knoodl.com - A semantic wiki. It creates ontologies from the wiki entries or uses uploaded ontologies in categorizing wiki entries.
  • VideoQuest - This product searches entities in a video. For example, if the user typed in the query "white car in saint louis" then the result set would include videos which have a white car in Saint Louis. The backend of this product is based off ontologies.
  • Poised For Learning - Rensselaer Polytechnic University's Rensselaer Artificial Intelligence and Reasoning (RAIR) Laboratory's Ontology product which is based reasoners. I was very impressed with this research.
As you can see there weren't many products since this area is still new. That's all for now.

Wednesday, November 28, 2007

Day 1 at the Ontology Conference

Today I went to an Ontology conference which was sponsored by the National Center for Ontological Research (NCOR). I heard talks from various vendors, implementors and subject matter experts in the field of Ontology. Before I get into what they talked about, let me first state the definition of what is an ontology. Wikipedia defines an ontology as, "... a study of conceptions of reality and the nature of being." What does that mean??!! Well it is basically an exercise where ontologists (people who create and work with ontologies) model existing systems into categories which then could be used by information systems to make inference relationship (relationships which are not obivious to the human). As you see it is a qualitative field, people will argue how data entities should be modeled so that they can accurately and precisely describe an existing entity. For example, Ontologist A says that every plane needs to have pilot while Ontologist B would say this is not true. He would say that there are drones which are small planes, that are controlled by a computer. One of them may be right or both of them can be right. The key for any ontology is that it needs to be in a domain to avoid confusion. So in theory both ontologist A and B are correct if it is assumed that both of them work in different domains. Ontologist A is creating an ontology for the airline industry while Ontologist B is creating an ontology for some country's military. Issues like this cause massive headaches to any organization's Chief Information Officer (CIO) since the data cannot easily be exchanged across organizations and across domains. If Ontologies are created well then they are quite powerful.
Currently the ontology is wonderful in the realm of philosophy and theoretical computer sciences. however there isn't much technology in the field. I have been off and on working with ontologies and they are not the easiest thing to implement. I, however, am a strong believer that a good ontology can be used to validate data architectures which pertain to the ontology's domain.

At the conference, I heard two great presentations on ontology. They are:
  1. Werner Ceusters - He gave a fascinating talk on what is ontology which incorporated Basic Formal Ontology (BFO).
  2. Steven Robertshaw - He gave a talk on the lessons learned in implementing complex ontologies.
These people understood how to use ontologies and how not to use ontologies. Both stated that the technology is lacking in this field. Werner and his team built an open source project which lets you play with ontologies. The project, which is a Java based application, can be found at http://sourceforge.net/projects/rtsystem. To get a better understanding on how ontologies work, I recommend downloading the Protege product. It, too, is an open source product maintained by Stanford University. Protege lets you build data models but at the same time it lets you validate your model with "instance" data. I got fascinated with field couple years ago when I was asked to validate a data model for one of the US government agencies. If you are totally lost about what I am talking about then please check out the following links:
The day one of the conference also consisted of vendors displaying their products which are based on the principles of ontologies. In my next blog entry, I will give a more detail summary on what happened at this conference. Stay tuned! (The image is a visual representation on an ontology)

Are RESTful web services ideal in a SOA?

Representational State Transfer (RESTful) web services are the latest buzz in the web services domain. What are RESTful web services? RESTful web services consists of HTTP clients which send requests as request parameters in the URL and the response is a XML document which can be viewed in a browser. This is ideal service for technologies like Asychronous Javascript and XML (AJAX) which take XML responses and apply XML transforms (XSLT) to generate a visually pleasing display of content. AJAX's primary mode of transport is through the HTTP browser and it's mode of transport is HTTP or HTTPS. Currently other developers and vendors like Yahoo!, Google and Microsoft have harnessed the AJAX technologies, RESTful services and RSS feeds to generate data aggregators which allow users to find, aggregator, and filter from various data sources how ever they are merely point-to-point services. AJAX working with RESTful web services is the ideal model for the federated query where one request is federated across multiple data sources and then the responses from each data source is aggregated to show the "full" picture.

Yes RESTful web services are not that bulky since they have don't have the SOAP wrapper however let us not get caught up in RESTful services are ideal in a SOA enterprise. The problem with REST is that it is designed for point-to-point services with minimal reuse. This is the same type of problem where SOAP based services exposed method calls which required specific datatypes in their Web Services Description Language (WSDL). When it is a point-to-point services, alot of work is spent in formatting, transformation and processing information to fit the specific datatypes in the non-reusable methods. To make a SOAP based web service more SOA friendly, it is recommended that the services take XML documents as the parameters in the web services method calls. This way one XML document can be passed around where the contents of the XML document might be altered by various method calls. It is not practical for RESTful web services to pass a reference to a XML document as a request parameter.

RESTful web services are great with AJAX however I wouldn't recommend using RESTful web services for services which are highly popular, reliable and have a potential to be reused alot.

Sunday, November 18, 2007

Netvibes.com

A few days ago, I looked at the logs for this site at Google analytics and I noticed users were coming to my site via netvibes.com. I decided to research this site to see what it is all about. After signing up to use their site and researching its functionality, I have to say that it is a classic Ajax site. It shows you what the user experience should be when Ajax is implemented correctly. The UI controls were smooth and easy to use. Even though Netvibes.com uses Ajax, netvibes.com IS NOT a Web 2.0 friendly web site. I don't see any change in the url when I go to the site. I am automatically logged in since the site identifies me via a cookie. As far as the layout is concerned, Netvibes.com simply follows the iGoogle page layout. There is nothing original other than a "To do" widget. After spending some time with the site, I have to say that I am going to stick to iGoogle.

Monday, November 12, 2007

Web 2.0 business!!!

I would love to see if businesses would consider adapting Web 2.0 technologies in their day to day business processes. Here are some existing Web 2.0 technologies:
  • Outlook Calendar - A classic Web 2.0 application where users can share each others calendars.
  • Portals - I am thinking of an application like Microsoft Sharepoint which is a great application where users can share documents and other digital information
  • Outlook Directory - A directory of company employees. Users can add their own entries to their directory.
  • Intranet Website - Employees can find useful information about their company processes, benefits, holidays and other important information.
Here are some other technologies which can be incorporated in an office.
  • Employee Blogs - This will contain an employee's daily status report. The tasks he or she is working on.
  • Project Wikis - Where project artifacts like project plan, project members resumes, contact information, and Configuration Management tasks and existing risks for the project.
  • Collaborative spaces - Where workers can concurrently work and share information and ideas.
  • Aggregated Search Engines which are customized for businesses.
  • Online BPM tools - to let employees monitor their work processes and how they can improve them.
The way is business is done will change rapidly in the two to five years.