Developing XML Web Services with Obejct-Oriented and Functional Paradigms

Sallai János <sallai@avalon.aut.bme.hu>

BME Automatizálási és Alkalmazott Informatika tsz.

Charaf Hassan Dr. <hassan@avalon.aut.bme.hu>

BME Automatizálási és Alkalmazott Informatika tsz.


XML Web services play an important role in the development of open distributed systems of our time. As the concept itself is based on transferring data in XML format over HTTP connections, building software using web services is unbeatable regarding price, development time and system integration concerns.

In fact, adoption of web services in the software development process will save the time that would have been spent on implementing communication interfaces. However, in case of algorithmically complex applications the bulk of the development time is sill spent on designing, implementing and testing the business logic.

We believe that certain problems are easier to solve using functional programming languages than applying the industry-standard procedural or object-oriented approach and OO design methodologies.

In this article we discuss how to design and implement an XML Web service consisting of object-oriented and functional building bricks using Microsoft’s .NET platform. The example we present consists of an algorithm implemented in Haskell wrapped in an object-oriented component written in C#. After describing the design decisions about partitioning the project into functional and object-oriented subtasks we introduce the implementation techniques applied. Finally, the article closes with an assessment summing up and evaluating the advantages of the multi-paradigm web service development model and discusses the fields of practical applications of this technique.