IT departments and developers underestimate how XML fits into solutions for e-business and e-commerce Web sites and Internet applications. E-commerce is no longer a mystery for anyone, and retailers have been bombarded for years by sales agents' "now is the time to get online" mantra.
Anyone can set up a Linux or Windows solution that gets your retail store online within a day. However, most solutions do not address the complexity of a fully functioning site or how to integrate it with current systems such as accounting, warehouse management and inventory control. Bringing XML into the solution often provides a very elegant and efficient way to streamline Web and other business systems. There is another standard being developed by the World Wide Web Consortium (W3C) in Geneva called "ebXML" that standardizes XML conventions for any business, but it probably won't be approved for sometime.
XML can be used in many aspects of business technology: to display content, handle payments, reporting and connecting to other systems. Each subsystem of the solution can be developed independently, migrating slowly to a Microsoft or Java with XML platform. The XML allows XML portions of the system to be cross-platform, sharing data between different servers, different operating systems and even different businesses if developers adhere to W3C standards.
XML for content
Setting up a page that accepts the request parameters, then processes XML data with a stylesheet (XSL file) takes some preparation time but afterward, updating the XML data becomes much simpler. The data is all stored in one place and users can update the data with XML Spy or HotMetalX.
XML for handling payments
One of the more difficult aspects of e-commerce development is connecting to a payment system such as Cybersource or CyberCash. A typical flow is ...
- Start a Transaction
- Verify the order data
- Send the order to the payment processor
- Check the payment processor results
- Process the order into the database
- Commit the Transaction
For maintaining a simple Web site, this can all be done with any type of solution. However, for a larger system, orders may come from several places and possibly processed by more than one payment processor, such as ICVerify and Cybercash.
One solution/practice that lets business solutions develop more efficiently is for the Web site to not process the order directly. Instead of implementing code modules for payments, an XML file is created for each order. A processor application is created that accepts an XML order file and returns a reply in XML format. The Web site gets the return data - in XML format - and continues to process the order. Within the original XML order file is the merchant's account information, how to process (authorize, bill or credit) and which type of processor to use (Cybersource, ICVerify, CyberCash, etc).
Later, if the business needs to further process the order from another internal system, integration is very easy. The internal system just needs to create and pass an XML file to the same processor. In a worst-case scenario, the merchant might need to change payment processors. All that is needed is to add the new payment processor API to our own application and change one word in our XML file to use the new payment processor.
XML for connecting to external systems
Much like connecting to a payment processing system, many times a business has some other data that is difficult to put on the Web site. Either it is sensitive data or in a system that does not have the connectivity required for a TCP/IP connection. XML can leverage these external or internal systems. Inktomi uses PML - a subset of XML - that allows merchants to send detailed product information to their search engine.
A DB/XML application can act as a bridge via TCP/IP to connect with legacy databases. If the customer information is on a mainframe, the bridge will accept the request for information and retrieve the data from the mainframe, or other internal database. The bridge application will then send the data back to the client as HTML, XML, WML or text. This could be done with ASP or JSP script code for each client. Again, allowing an XML application to act as a bridge between the data and the user interface quickly becomes a reusable product and handles updates and changes a little easier than rewriting scripts.
Many other affiliate programs and external companies are slowly implementing XML. In the future, more and more Web sites will be connected this way. Information will be more readily available and efforts to implement the same type of service will not have to be duplicated. C|net provides data on product specifications that is used by many Web sites, and users cannot tell that a third party is providing this data.
As XML begins to fill in the gaps for companies to use each other's information, users will be able to find better information and the implementation cycle to "develop" the functionality will be reduced considerably.
About the author:
Roy C. Hoobler
Director of Internet Technologies
Roy Hoobler has been involved with Internet programming from 1995 and developing Web businesses and "niche" market sites since 1996. In 1997, he completed his MCSD certification and worked for a large consulting firm primarily focusing on Intranet and Extranet applications for fortune 1000 companies. In early 1998, seeing the potential of how business would be conducted on the Internet, Roy joined Net@Work Inc (www.netatwork.com) where he designs (and still codes) business and cutting-edge e-commerce applications using a wide range of technologies, including XML.
FOR MORE INFORMATION: