Semantic Web Services domain has gained special attention in academia and industry. It has been adopted as a promise to enable automation of all aspects of Web Services provision and uses, such as service creation, selection, discovery, composition, and invocation. However, the development of intelligent systems based on Semantic Web Services (SWS) is still a complex and time-consuming task, mainly with respect to the choice and integration of technologies. In this paper, we discuss some empirical issues associated with the development process for such systems and propose a systematic way for building intelligent applications based on SWS by providing the development process with steps, techniques and technologies. In addition, one experiment concerning the implementation of a real e-learning system using the proposed approach is described. The evaluation results from this experiment showed that our approach has been effective and relevant in terms of improvements in the development process of intelligent applications based on SWS.
Semantic Web provides an environment where software agents can navigate through Web documents and perform sophisticated tasks. In this context, we can observe a great demand for Semantic Web-based applications (Berners-Lee et al., 2001) due to its robustness on providing rich data description mechanisms, such as ontologies (Gruber, 1993). In this manner, researchers and industry use Semantic web inside their web applications to express information accurately. As a consequence, software agents become able to process, share, reuse and understand the terms being described and take better decisions according to the information processed by Semantic Web tools, for example, Semantic search engines (Devedzic, 2004).
Semantic Web requires explicit declaration of knowledge by using ontologies to make information understandable to computer in the Web. In some applications, it is also necessary to provide services that machines and intelligent agents can understand, select, compose and invoke automatically. This is possible through the use of Semantic Web Services (McIlraith et al., 2001), the focus of this work.
Semantic Web Services promise the combination of Semantic Web and Web Service technology. It inherits characteristics from both approaches: semantic interoperability from Semantic Web, and dynamics of resources availability from the Web Services technology (Daconta et al., 2003).
Although Semantic Web Services have emerged as a good candidate for Intelligent Systems development, it adds another one level of complexity in terms of systems development process. It usually increases processing time and can become a very expensive process in terms of choosing and integrating all the roles involved in this process, such as tools, developers and protocols (Srinivasan, 2006). This occurs because the development process that is composed by a series of complex steps, such as: (i) Selection and development of services in order to meet the functional requirements of the system; (ii) Implementation of semantic annotations for these services to describe them, while this step requires the complete specification of the system domain using ontologies in order to describe the services; (iii) Selection of a service repository to store both services and their respective semantic annotations; (iv) Selection of techniques and mechanisms to perform automatic discovery and composition of services in accordance to the needs of the system. This step also includes development of proprietary solutions; (v) Integration of technologies chosen in the previous steps in order to provide an ecosystem with the processes of discovery, composition and invocation of services.
In this context, the SWS community has proposed a series of documents to support developers on building Semantic Web Services based systems, but there is not any proposal to integrate all the main tools required by developers to facilitate their software development process. In this manner, Section 2 presents some of these proposals.
In order to reduce the main problems of integrating related tools for the development of Semantic Web Services based system, this work proposes a framework for managing and integrating the processes involved in the use of Semantic Web Services into intelligent applications. This work introduces the steps and techniques required during the development of Semantic Web Services systems. The evaluation methodology here adopted addressed an e-learning system as a real world example of application aiming at explaining the use of all steps and techniques applied in the process of developing Semantic Web Services systems suggested and discussed along this work. Based on results, we showed that our proposal has been effective and relevant once we presented the improvements reached on the development of intelligent applications.
In this paper we discussed some important empirical issues faced by software system developers when building applications based on Semantic Web Services. In addition, we introduced a systematic way to facilitate the development process of intelligent applications based on SWS and presented how this approach tackles the discussed issues. Finally, preliminary experimental results have shown the effectiveness in building intelligent systems using our approach.
The proposed approach is relevant and original in what concerns to two aspects. First, it provides a set of steps that guide the developer in the process of building intelligent applications based on Semantic Web Services. Second, it proposes the use of Grinv Middleware to integrate the discovery, composition, and invocation processes, tackling the development problems stated during the paper. The use of Grinv allowed the construction of an Intelligent Application without the problems presented in Section 2. A number of references are provided addressing some isolated issues, such as, fault tolerance, performance on loading ontologies, unguided development. Different from the other works, our proposal presents an integrated solution addressing each of the mentioned issues by applying them in a real application.
As immediate future work, we will focus on providing a better analysis using the same case study, in the same conditions, in order to compare our approach with other ones with respect to the W3C member submissions to Semantic Web Service modeling, such as OWL-S (Martin et al., 2004), WSMO (Roman et al., 2006), and SAWSDL (Farrell and Lausen, 2007).