The typical flow of information during XML-based data exchange is illustrated in below Figure.
Fig: Flow of information in XML-based data exchange
- Application A manages some internal data, using some specialized data management software, ( e.g., a relational DBMS).
- Exchanging these data with another application B can motivate either for publication purposes or for requiring from B some specialized data processing.
- The former case is typical of web publishing frameworks, where A is a web server and B a web client ( browser, mobile phone, PDF viewer, etc. ).
- The latter case is the first step towards distributed data processing, where a set of sites (or “peers”) collaborate to achieve some complex data manipulation.
- XML is at the core of data exchange. Typically, The first carry out some conversion process ( often called “XML publishing”) which produces an appropriate XML representation from the internal data source(s.)
- These XML data then consumed by B which extracts the content, processes it, and possibly returns an XML-encoded result.
Several of the aforementioned features of XML contribute to this exchange mechanism
- Ability to represent data in a serialized form that is safely transmitted on the Web;
- Typing of document, which allows A and B to agree on the structure of the exchanged content;
- Standardized conversion to/from the serialized representation and the specific tree-based representation respectively manipulated by A and B.
A real Web Publishing architecture would be as shown in the below figure
Fig: Software architecture for Web publishing applications
- Consider an example of the application called Shows for publishing information about movie showings, in a Web site and in a Wap site.
- The application uses a relational database.
- Data obtained from a relational database as well as directly from XML files.
- Some specialized programs, written with XSLT (the XML transformation language) used to restructure the XML data, either coming from files, from the database through a conversion processor actually from any possible data source.
- This is the XML publishing process mentioned above.
It typically produces XHTML pages for a Web site.
- Moreover, These pages made available to the world by a Web server.
- The data flow, with successive transformations (from the relational database to XML; from XML to a publication dialect), is typical of XML-based applications, where the software may decompose in several modules, each dedicated to a particular part of the global data processing.
- Also, Each module consumes XML data as input and produces XML data as output, thereby creating chains of data producers/consumers.
- Ultimately, there is no reason to maintain a tight connection of modules on a single server.
- Instead, each may host on a particular computer somewhere on the Internet, dedicated to providing specialized services.