April 4th, 2001, 01:44 PM
I am working on a mostly Web Based Application. The company I work for wants to create a web based ap that will allow them to integrate all of the entry points, and manual entry that is going on now.
Usually I would just use a SQL Database(Oracle, SQL7) and then make Perl CGI scripts to display/get the information.
Someone told me that I should look into using XML. I bought a book(Beginning XML by Wrox Press) on it to see what is was. To me it looks like it is trying to be a replacement for a relational database, but wihtout indexs, binary storage, etc.
1. If I already have Oracle, why would I want to use XML also?
2. Being Web Based I need to have serveral different browsers be compatible (Version 4 Browsers), but doesn't XML only really work with IE5?
3. If I did decide to use XML it looks like I would convert everything I pulled out of the database into XML, wouldn't that basically just waste proccessor cycles to convert to a language, only to have it converted back to perl variables when I actually create the documents?
I have more questions, but I don't really know how to phrase them, is there any FAQ that goes over this kind of stuff?
Thanks for any hepl you may be able to give
April 7th, 2001, 08:19 AM
I work for a very large electronics distributor and we use XML very heavily to generate our web pages. The question you must ask is what do you want XML to do? Will it be a way to standardize output from your system (i.e., will you want to use XML to describe various objects in the system to web clients or to communicate the data between processes)?
I'll use my company as a case study. We originally had a very poorly designed website written largely in PL/SQL with minor amounts of C. We migrated the entire site to a 3 tiered Java platform and we use XML to communicate the data necessary to display the web pages to the portion of our infrastructure that merges the XML with XSL and generates HTML. The advantage of doing this is we now have an XML document that describes an object from the database (e.g., an invoice) that can be sent to a client if requested.
IE5 is the only browser I know of that will display an XML document in some intelligent form, but that will change. The browser should not have to deal with the XML document at this stage. We made a conscious decision not to rely on browsers too heavily.
You will still need Oracle. XML's big advantage is as a machine independent way to share data. Perhaps future databases will store XML objects, but I wouldn't take that leap of faith just yet.
I won't lie to you: at present manipulating XML documents can be resource intensive because you are basically doing a lot of character manipulation, but the impact is minimal with faster processors. We use Solaris boxes and we get sub-second response time from request to HTML production according to our log files.
Some other resources you may want to explore are www.xml.com and www.alphaworks-ibm.com. The first is a good resource for all things XML and the second has a lot of free things for download.
Let me know if there is anything else I can help you with.
April 8th, 2001, 09:37 AM
So in this situation, if I were to use XML, then I would use it as an abstraction layer, that way if later down the road, someone wanted to write an ASP script, or a C program, it could still take advantage of the information, without knowing anything about the database or how to access it, like Perl's DBI .
April 8th, 2001, 11:42 AM
Sounds like a plan! That's the beauty of it: the details are hidden and all you get is the data you need that can be processed easily. You will need an XML Parser to make sense of the documents you get and they are available for Java and C++ the last time I checked.
April 8th, 2001, 12:39 PM
Ya, there are also a couple for Perl and PHP, so that shouldn't be a problem.
Thanks for your help :-)