Skip to Main Content
Part 1 of this article described Italy's ambitious action plan to foster the widespread use of new information and communication technologies. The Repository for Agents in Economics (RAE) Project seeks to reduce a private company's burden in performing required bureaucratic functions with Italian public administrations (PAs). RAE focuses on systems to enable cooperation among various domains - the organizational rules, resources, networks, applications, and data that belong to a specific PA, regardless of the technical nature of the underlying information systems. This article analyzed two types of Web services: programmatic and interactive. Programmatic Web services perform some sort of business logic computation, such as those functions typically performed in the logic and control layers of a business application. Interactive Web services, on the other hand, also impart functionality to the user interface; that is, they extend up to the application's presentation layer. This use of programmatic and interactive Web services applies to only a part of a domain's application portfolio: those applications that deal with private companies' data. So we chose one representative application as a test case, attempting to rethink the information system's architecture. The goal was to rearchitect the system to make it easier for it to cooperate with other systems and, in the process, preserve the databases and leave us much of the application intact as possible. In our minds, the reengineering effort had to lead to guidelines that we could use later to reengineer all of the domain's legacy applications. Our reengineering strategy called for documenting software components based on architectural layers, to identify modules for modification. The logical view of our software architecture consists of four layers. These modifications enable the use of standardized interfaces and protocols by Web services that can cooperate with other systems, such as applications at other PAs and portals. The components we developed might also be reusable in other applications.