Insure yourself with XML!
Philippe Fontaine
Find


Abstract
In e-business applications, the project manager is used to being confronted with the problems of modelling his business and structuring the data exchanged within his application. This paper focuses on the ability to use XML in three ways to solve his problems: to exchange structured data, to specify the business components in a standard way, and to preserve the investments made in the architecture.

Keywords

Contents
  1. Context
    1. Insurance business
    2. Assurnet
  2. Architectures
    1. Objectives and requirements
    2. Architectural model
    3. Implementations
  3. Focus on XML
    1. Why XML?
      1. XML as pivot format
      2. XML as a modelling format
    2. Business layer
      1. Business object modelling
      2. Business object interface
    3. Dialog layer
      1. Client interface
      2. Dialog modelling
      3. Dialog interface
    4. Some real-world applications
  4. Conclusions
  5. Bibliography

Context
Since the paper covers e-business applications in the insurance sector, first of all the context of the insurance business in general is described and how brokers and insurance companies are working together over the Assurnet network in Belgium in particular.
The remainder of the paper focuses on the architecture of these client/server applications to show the intelligent exploitation of XML.
Insurance business
As illustrated in Figure 1, the insurance business is usually split into two sectors with regard to the type of cover: life and non-life. The life sector includes group and individual life insurance whereas the non-life sector handles fire, car, liability, and comprehensive insurance.
Figure 1 . Insurance business sectors
However, the actions or services that can be performed are similar regardless of the insurance sectors: quotation, production, and claims. Production is the most time-consuming in terms of administrative work since the work includes addressing the new contract business, endorsements (modification, suspension, and cancelling), and invoicing. Companies that are working with insurance brokers are looking for tools or applications that can be delivered to the brokers in order to delegate these administrative tasks.
Assurnet
Delegation of administrative tasks to the brokers is now possible in Belgium with Assurnet, this being the telecommunications network for the Belgian insurance industry. It allows brokers and insurance companies to exchange standardized messages in order to carry out business transactions.
Figure 2 gives a schematic view of the Assurnet network. Three kinds of members are connected to the network: insurance brokers, insurance companies, and Assurnet itself acting as a central point to deliver common services (see below). Although structured insurance requests can be exchanged in a synchronous mode (online requests via the front-end server) or in an asynchronous mode (mailed requests via the exchange server), one of the main objectives of the insurance community is to promote the transactional way.
Figure 2 . Assurnet network
The key objectives of the Assurnet initiative are threefold:
Behind the word Assurnet are hidden three different concepts:
Currently, there are about 7,000 broker offices and more than 50 insurance companies connected to the Assurnet network. Most of the companies have developed and deployed their own specific applications to manage the production tasks related to car and fire insurance.
Previous Previous Table of Contents
Architectures
After having outlined the underlying concepts, this section gives an overview of two apparently different types of architecture in order to be able to show where XML is used and why.
Objectives and requirements
The underlying objectives of the following Assurnet client/server solutions are to preserve the customer's investments, to guarantee the openness of the architecture, to implement a modular approach, to free the user from technology dependencies, and to enable future business and technical evolution.
The requirements for these architectures are:
Architectural model
In Figure 3 it is shown how different types of applications can be integrated within a single architecture. The distinction is made between the business components that are located on the application server and the dialog and client components that are located on the front-end servers and on the end-user's platforms. The glue between these different client types and the application server is provided by a unique XML message definition. As seen in this figure, the production server gathers the legacy applications.
Figure 3 . Architectural overview
As detailed below, the application server is made of several parts.
On the other side, the clients that might issue business transactions can be of several types.
Implementations
Depending on the type of software delivered to the client (ie the broker), the application architecture will be named 'thin' or 'fat' client architecture. In a thin client architecture, the Internet browser is the only software required on the client platform and the communication with the server is done on the Web, whereas in a fat client architecture the software installed on the client platform is a complete application with presentation, business, and communication functions as well as the run-time software needed to support this client application.
Both architectures can accept business data from heterogeneous sources, ie from brokers using different media and/or formats to transmit their insurance transactions. For example Assurnet brokers exchange standard EDIFACT requests, Internet brokers exploit HTML and XML standards, whereas some big brokers' offices have their own proprietary formats, which look like a mix between EDIFACT and COBOL records. It is crucial not to hard-wire the server application and the business objects to these different formats, rather to introduce a translation layer to a standard pivot XML format.
Furthermore, as highlighted in the previous section, because of the unique XML interface both implementations can coexist within the same architecture and share the same business layer. The choice for a certain type of implementation depends on technical and strategic criteria such as the integration into the client's environment, the duration and the costs of the development, the distribution of the application, the performance, the awareness of up-to-date technologies, and the notion of an enterprise portal.
In some installations, first a fat client application has been built for the Assurnet brokers, and then a thin client application has been added in the same architecture for Web users willing to issue some quotation requests.
Previous Previous Table of Contents
Focus on XML
This section goes into more detail in the description of these applications showing that XML can play a major role regardless of the architecture chosen. The thin client architecture has been chosen to illustrate the concepts and the techniques since it highlights the multiple uses of XML.
Why XML?
In such applications, XML is used to specify any kind of information wherever this information has to be shared between systems and people over the years. This implies 'openness' and 'standard'.
Nowadays, openness is a key factor in any development in general and in the insurance business in particular since it helps preserve the investments against changes in the exchange formats of data coming from the outside, changes in the definition of the business products and services, changes in the technologies used, and changes within the company itself.
Figure 4 illustrates the detailed architecture of a thin client application.
Figure 4 . Use of XML
In this architecture, XML is used as a pivot format for exchanges between components, as a structured method for information on the Web, as a formal description of the structure and the behaviour of the business objects, and as a formal description of the presentation dialogs. Such usage is described below.
The reader can find a lot of information about the benefits of using XML in papers, at conferences, and on the Web. In the next sections, focus is on the features that are the most relevant in the context of the insurance business and open architectures.
XML as pivot format
When developing e-business applications, one of the key tasks consists of implementing components for processing the messages to be exchanged. Such components aim either at converting the messages from one format to another, or at using the information contained in the message in the components of the business layer [Vijghen 98].
Using a pivot-oriented approach for developing such components proved to be extremely cost-effective. The approach consists of using a single internal representation of the information in XML to interface the business layer, as shown in Figure 5.
Figure 5 . XML as pivot format
The benefits of such an approach are the following:
XML as a modelling format
In such complex applications, the clear and unique specifications of the functionalities provided by the different layers are a key factor of success. Furthermore, if these functional specifications could be exploited to generate parts of these target applications, this would avoid some misunderstanding of the specifications as well as errors in their implementation.
In Figure 6 it is shown how different parts of the application can be generated automatically from a unique source of specifications written in XML.
Figure 6 . XML as a modelling format
Given this approach the functional specifications are gathered within a single XML (logical) file according to a well-defined DTD. Validation against this DTD ensures that all data needed to generate the components of the application is present and well structured. Depending on the type of component that has to be generated, a specific set of rules is associated with the parsing phase, exploiting only the content of the XML specifications that is relevant to the component to be generated.
The component that can be generated automatically could be:
This list is not exhaustive. In this paper the focus is on the specification of the dynamic model of the business objects as well as the generation of some components of the user interface.
Business layer
Business object modelling
The insurance business objects, such as the insurance policy or an insurance claim, can be modelled in their data structure (the static part) as well as in their behaviour against external events (the dynamic part). Both models can be specified with XML instances. These XML instances have to satisfy well-defined DTDs in order to be able to validate their structure and their behaviour before building the application itself. Behind this aspect of validated modelling, the same XML instances can be used also to generate different parts of the target application such as the database layout, the business object interface, inputs to the finite state machine implementing the behaviour, and the documentation.
Dynamic behaviour of the business objects is at the heart of the business layer since all the functionality of this layer as well as the structure of the business interface itself are articulated around this model. According to the OMT methodology [Rumbaugh 91], the behaviour of the business objects can be modelled as a state diagram, as illustrated on the next figure for a typical insurance policy.
Figure 7 . State diagram (partial) of an insurance policy
In the diagram above, an insurance policy changes from one state to another each time an allowed event is triggered. During this state transition, specified actions are executed to achieve the functionality required on this transaction. For instance, when an insurance policy has been proposed (state Proposed), it can then be accepted automatically by the system (event Accepted), refused automatically by the system (event Refused), or submitted for further analysis by a company agent (event To be analysed) according to the acceptance criteria of the company. Accordingly, the next state of the insurance policy will be Accepted, Nil, or Waiting. The different appropriate actions are executed for each transition such as update of the production database, transmission of a feedback message to the broker, or generation of the contractual documents.
The business object state diagrams are specified in XML through a dedicated user interface. The resulting XML file is compliant with the state diagram DTD that allows for the generation of the related documentation and for the run-time interpretation of the state diagram itself. An XML-based engine has been built as a COM component in the business layer that manages the life of all business objects according to the XML specification of their state diagram.
A security model can be specified on the same diagram by adding permissions on the transitions: only users belonging to authorized roles or groups of roles for a given transition can perform this transition.
Business object interface
The business object interface exports the external events defined in the state diagrams of the business objects. In the previous example, the interface to the insurance policies would gather the new business, accepted (by agent), and refused (by agent) business events and their attributes.
These business events and their attributes are structured in XML according to a well-defined DTD, which guarantees the openness of the whole architecture since it constitutes the interface between the company-oriented business layer and the so-called customer-oriented dialog layer.
In order to cope with the evolution of the insurance products (ie business objects), the DTD has to be flexible enough in order not to be forced to modify all generic tools and components each time the business specifications change. As a consequence, this DTD must not be hard wired either to the structure of the business objects or to the defined list of the business events. A higher level of abstraction is required and the final validation of data is left to the message handlers.
Dialog layer
The dialog layer is the layer oriented to the clients of the application. It includes the presentation aspects as well as the aspects concerning the application-level protocol used to carry out a dialog with the end-user. For thin client applications, this last part concerns the sequence of Web pages and the application of the validation rules on the data in between.
Client interface
A typical view of the user interface is shown in the next figure. Within the Web browser, the application user interface is made up of different parts:
Figure 8 . Typical user interface
It should be noted that the menu and toolbar and the navigation frame are generated dynamically for the client from the data coming from the server whereas the data frame is built on the server and filled in dynamically for the client with the data.
The figure below gives an actual example of such a user interface showing the data frame with the general information data of a fire insurance policy.
Figure 9 . Example of user interface
A dialog is associated with each business transaction (eg create a new car insurance policy, or update an existing fire insurance policy). This dialog defines the data and the actions that are presented in the different parts of the user interface as well as the data and the actions that can be entered by the end user.
Figure 10 shows details of the structure of the information that is exchanged between the browser and the Web server in both directions.
Figure 10 . Web client/server messages
Specific to Web-based architectures, data exchanged between the Web server and the browser can be structured in XML in order to include an embedded presentation layer: this XML string contains available business object data and authorized business actions as well as some presentation-oriented features directly related to data such as visible, enable, read-only, and list of values. Pure presentation information is gathered in associated style sheets (CSS or XSL) and HTML templates.
This figure is described in more detail below.
Dialog modelling
As for the behaviour of the business objects, the behaviour of the dialogs (ie the succession of screens and actions prompted by the user's requests) can be modelled with state diagrams. By comparison, a business object (eg car insurance policy) is replaced with a dialog object associated with a business transaction (eg update of an existing life insurance), a business event (eg new business) with a dialog event (eg click on a node of the data tree in the navigation frame or trigger of a menu action), and the business action with the actions related to the processing of the dialog (eg applying validation rules, building the next information files, or sending this information to the client browser).
XML is used to specify the state diagrams modelling the behaviour of these dialogs. So for each business transaction, a different dialog can be defined. At run-time, this dialog is automatically controlled with respect to its formal XML definition. The same tools as those for the business layer are used. The same DTD is used, ie the one that controls any state diagram definition, regardless of the kind of the object that is modelled.
The power of that model resides in the capacity to modify completely the user interface just by modifying the state diagrams of the dialogs, and the detailed data frames if needed, without having to modify the rest of the application.
Dialog interface
Whereas information coming from the browser is gathered in one string structured in XML, information coming from the server is split into several (logical) files according to their nature. The DTD structuring the data is the same in both directions.
The different pieces of information and their role are described in more detail as follows.
It should be pointed out that the near birth of XML-companion standards such as XSL and X-Schemas will impact the structure of information described above, mainly in the presentation and scripting areas.
To adopt a common concept to model the different parts of the application, the dialog interface exports the external dialog events and their attributes, as the business interface does with the business events. However, the DTDs are not the same although both have to be generic enough to cope with the evolution of the products.
Some real-world applications
All these concepts, techniques, and tools are exploited in actual applications that are currently running in large Belgian insurance companies as CGU (the amalgamation of Commercial Union and General Accident), HDI-HIB (Hannover International Belgium), and AGF Belgium (a subsidiary of Allianz).
Previous Previous Table of Contents
Conclusions
The conclusions address three different subjects: the benefits of exploiting XML in n - tier architectures, the possibility of extending the developments from one application to an application framework, and the extension of these concepts outside the insurance sector.
The main overall benefit is the proved compliance with the openness objectives of these insurance applications. Furthermore, XML brings the modelling and structuring tool that is needed in every application design and development. XML allows the addressing of important questions such as maintenance, reusability, documentation, consistency, and standardization of the developments. In combination with n - tier architectures, XML is the guarantee of a clear software answer to complex e-business interrogations.
If it is considered that a given architecture is appropriate for a certain number of different applications, it is worth thinking of adopting a generic approach in the design and development in order to consider every new application as an instance of an application framework. XML is particularly well positioned for such reusability since the various DTDs and the related tools (eg state diagram engines) can be exploited in exactly the same way for every occurrence.
Although this paper focuses on insurance applications, it is obvious that this type of architecture and this intensive use of XML can be reproduced in other business sectors. Finally, this paper should be taken as a set of ideas mixing architecture and XML that could be exploited in everybody's business domain.
Previous Previous Table of Contents
Bibliography
[Rumbaugh 91]Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.; Object-Oriented Modeling and Design; Englewood Cliffs, N.J.: Prentice-Hall, 1991
[Vijghen 98]Philippe Vijghen; Cost-effective EDI using XML?, Conference Proceedings of SGML/XML'98 Europe; Paris, France: GCA, 1998.
Previous Previous Table of Contents