Spread of SOA and Semantic Technologies
Nowadays, system building using SOA (Service Oriented Architecture) is advertised by software vendors, and it is spreading from advanced enterprises to followers step by step. Web services developed in SOA will be growing in quality and quantity day by day, and someday most of organizations will publish various web services to the society. At the end, web services will become pervasive in the society. However, in such a developing process we will collide with a barrier of web service connection, if we attempt to advance web services from enterprise levels to intra-enterprise levels, and furthermore to public infrastructure levels in the same way as today's WWW pages that everyone as individual uses over the Internet. Then, Semantic Technology will be required to connect and coordinate diverse web services developed independently in distinct organizations.
Semantic Technology = Ontology + Agent
Ontologies and agent technology are two poles that underpin Semantic Web Services to solve the problem of web service connection. Ontologies serve as dictionary that provides meanings of concepts about web service annotations for machine understanding. Agent technology enables to interpret descriptions of services and perform the services. While XML enables machine readable descriptions about things, RDF (Resource Description Framework) and OWL (Web Ontology Language) enable machine interpretable descriptions on top of XML. Ontology as technology originally appeared in AI field apart from WWW, but after the advent of Semantic Webs, it has been widely recognized that ontology is a core technology of Semantic Webs, and then the research on ontologies has been propelled worldwide. On the other hand, an agent that mediates web services and people is needed to interpret ontologies that describe services with knowledge about things and events in the world. From the viewpoint of SOA, the web service connection and coordination is nothing but a sort of instantiation of workflows. A web service agent interprets a workflow annotated with ontologies, connects and coordinates web services, and performs them on behalf of users.
System Building = OOP + SOA + Ontology
You might have a basic question why an agent will be able to interpret the semantics of services and perform them. Let us extremely simplify it. Roughly speaking, web service composition is an extension of method dispatching in today's object oriented programming languages, whereas we have distinction of their determinativity. Namely, although a language compiler in method dispatching deterministically chooses one method according to parameter types and environments, yet a web service agent undeterministically chooses a web service with annotations and environments. AI technology or more precisely, automated planning technology supports this.
In today's OOP languages like Java, object classes such as integer, string, stream, etc. are shared by programmers, but classes that are defined in an application domain by programmers are not shared in the society, so many people do the similar work everywhere. The style of system building so far would change completely, if business workflows and object classes were stored in library and reused by sharing of the society. With agent's help, a software developer collects provided web services that are scattered in the world, and connects them quickly according to workflows such that accomplish his/her business tasks. Necessary things are not only preparing diverse patterns of workflows in the library and activating web services that accomplish various atomic tasks, but also developing and sharing ontologies that includes class definitions of measure units (such as meter), physical quantity (such as temperature, volume, weight), and business concepts and vocabularies (such as invoice, deposit, payment, purchase, start, interrupt, before, after, action, bank, stock company, etc.) that are firmly defined in formal semantics so as to be shared in the society.
Research Activity on Semantic Web Services in NII
Aiming the end of such a world, the research on Semantic Web Services has been already started worldwide. We, Prof. Takeda's Lab, are also propelling the research on Semantic Web Services. We have developed an OWL processor called SWCLOS that is the first one in the world for OWL Full.