Hello All, I am new to Java, but I have been a mainframe procedural type programmer for the past 8 years. We are starting to look to a future using something other than our XGEN (Microfocus COBOL generator).
We are using Oracle 9i currently running on a Unix DEC Alpha Server. I work for a State agency that potentially needs to batch process millions of records over night (within a few hours, it's mission critical). Importing flat files from a vendor into our Oracle tables.
How is Java suited/not suited for this type of processing?
Any thoughts, comments or suggestions on the pros and cons of this would be greatly appreciated.
I can't really compare Java to the capabilities of your old COBOL environment (because I don't know COBOL), but I can tell you that we've had success programming batch processes in Java. You can use JDBC to connect to your Oracle DB. We've used threads (easy in Java) to improve write performance to the DB (in cases where the speed bottle neck is the network latency and not the processor of either the DB machine or the batch processing machine).
Just to amplify what Dave (hi fellow Austinite ) said, the ease of working with multiple Threads in Java mean that you could have one Thread reading that flat file and formulating database commands while one or more Threads get those commands executed by the database. Naturally there is lots of tuning you could do to optimize the commands - see the ranch forum on JDBC. Bill
As a very general principle, don't let "millions of records overnight" scare you away from using Java. A well designed Java app can handle that without even breathing hard. If you've got massive amounts of data, a fast processor with lots of memory would be a good ivnestment regardless of what language you use.
Of course, Java has advantages in portability and maintainability that are beyond the scope of simple "performance."
If you settle for what they are giving you, you deserve what you get. Fight for this tiny ad!