![]() |
An XML information server for advanced B2B architectures | Table of contents | Indexes | Content &, knowledge management | ![]() |
|||
Insure yourself with XML! |
| Fontaine, Philippe |
| Philippe Fontaine |
| Project Manager |
Belgium ![]() Brussels SGML Technologies Group ![]() | SGML Technologies Group,
29 Boulevard Général Wahis Brussels B-1030 Belgium Phone: +32 2 705 70 21 Fax: +32 2 705 81 01 email: phf@sgmltech.com web site: www.sgmltech.com |
| Biography |
| Abstract |
XML ![]() | 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 useXML 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. |
e-business ![]() | Context |
XML ![]() | The remainder of the paper focuses on the architecture of these client/server applications to show the intelligent exploitation ofXML . |
insurance ![]() | Insurance business |
|
Assurnet |
|
| The key objectives of the Assurnet initiative are threefold: |
Behind the word Assurnet are hidden three different concepts:
|
architecture ![]() | Architectures |
XML ![]() | 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 whereXML is used and why. |
Objectives and requirements |
Architectural model |
XML ![]() | In 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 uniqueXML message definition. As seen in this figure, the production server gathers the legacy applications. |
|
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.
|
XML ![]() | 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. |
EDIFACT, Electronic Data Interchange For Administration, Commerce and Transport ![]() HTML, Hypertext Markup Language ![]() | 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 standardEDIFACT requests, Internet brokers exploitHTML andXML standards, whereas some big brokers' offices have their own proprietary formats, which look like a mix betweenEDIFACT 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 pivotXML format. |
EDIFACT, Electronic Data Interchange For Administration, Commerce and Transport ![]() XML ![]() | Furthermore, as highlighted in the previous section, because of the uniqueXML 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. |
Focus on XML |
XML ![]() | This section goes into more detail in the description of these applications showing thatXML 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 ofXML . |
Why XML? |
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. |
| illustrates the detailed architecture of a thin client application. |
|
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. |
XML ![]() | The reader can find a lot of information about the benefits of usingXML 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 . |
XML ![]() | 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 inXML to interface the business layer, as shown in . |
|
The benefits of such an approach are the following:
|
XML ![]() model ![]() | 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. |
XML ![]() | In it is shown how different parts of the application can be generated automatically from a unique source of specifications written inXML . |
|
DTD, Document Type Definition ![]() XML ![]() | Given this approach the functional specifications are gathered within a singleXML (logical) file according to a well-definedDTD . Validation against thisDTD 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 theXML specifications that is relevant to the component to be generated. |
DTD, Document Type Definition ![]() XML ![]() | 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 objects ![]() | Business layer |
Business object modelling |
DTD, Document Type Definition ![]() XML ![]() | 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 withXML instances. TheseXML instances have to satisfy well-definedDTD s in order to be able to validate their structure and their behaviour before building the application itself. Behind this aspect of validated modelling, the sameXML 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. |
| OMT state diagram | 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 theOMT methodology , the behaviour of the business objects can be modelled as a state diagram, as illustrated on the next figure for a typical insurance policy. |
|
| In the diagram above, an insurance policy changes from onestate to another each time an allowedevent is triggered. During thisstate transition , specifiedactions are executed to achieve the functionality required on this transaction. For instance, when an insurance policy has been proposed (stateProposed ), it can then be accepted automatically by the system (eventAccepted ), refused automatically by the system (eventRefused ), or submitted for further analysis by a company agent (eventTo be analysed ) according to the acceptance criteria of the company. Accordingly, the next state of the insurance policy will beAccepted ,Nil , orWaiting . 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. |
COM, Component Object Model ![]() DTD, Document Type Definition ![]() XML ![]() | The business object state diagrams are specified inXML through a dedicated user interface. The resultingXML file is compliant with the state diagramDTD that allows for the generation of the related documentation and for the run-time interpretation of the state diagram itself. AnXML -based engine has been built as aCOM component in the business layer that manages the life of all business objects according to theXML specification of their state diagram. |
XML ![]() | 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 thenew business ,accepted (by agent) , andrefused (by agent) business events and their attributes. |
DTD, Document Type Definition ![]() XML ![]() | These business events and their attributes are structured inXML according to a well-definedDTD , 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. |
DTD, Document Type Definition ![]() | In order to cope with the evolution of the insurance products (ie business objects), theDTD 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, thisDTD 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 | 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: |
|
| 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. |
|
| 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. |
| shows details of the structure of the information that is exchanged between the browser and the Web server in both directions. |
|
CSS, Cascading Style Sheets ![]() XML ![]() | Specific to Web-based architectures, data exchanged between the Web server and the browser can be structured inXML in order to include an embedded presentation layer: thisXML 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 orXSL ) andHTML templates. |
HTML, Hypertext Markup Language ![]() XSL ![]() | 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). |
DTD, Document Type Definition ![]() XML ![]() | 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 formalXML definition. The same tools as those for the business layer are used. The sameDTD 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 |
DTD, Document Type Definition ![]() XML ![]() | Whereas information coming from the browser is gathered in one string structured inXML , information coming from the server is split into several (logical) files according to their nature. TheDTD structuring the data is the same in both directions. |
The different pieces of information and their role are described in more detail as follows.
|
CSS, Cascading Style Sheets ![]() XML ![]() XSL ![]() | It should be pointed out that the near birth ofXML -companion standards such asXSL and X-Schemas will impact the structure of information described above, mainly in the presentation and scripting areas. |
DTD, Document Type Definition ![]() | 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, theDTD s 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). |
Conclusions |
XML ![]() | The conclusions address three different subjects: the benefits of exploitingXML inn - 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. |
XML ![]() | 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 withn - tier architectures,XML is the guarantee of a clear software answer to complex e-business interrogations. |
DTD, Document Type Definition ![]() XML ![]() | 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 variousDTD s and the related tools (eg state diagram engines) can be exploited in exactly the same way for every occurrence. |
XML ![]() | Although this paper focuses on insurance applications, it is obvious that this type of architecture and this intensive use ofXML can be reproduced in other business sectors. Finally, this paper should be taken as a set of ideas mixing architecture andXML that could be exploited in everybody's business domain. |
| Bibliography |
|
|
![]() |
An XML information server for advanced B2B architectures | Table of contents | Indexes | Content &, knowledge management | ![]() | |||