Farouk,
You asked me to reply with queries.I will not disappoint you

! I have maked them with ===> !!
I believe you system is more complicated than what I was working on.Since I have worked on that system for more than a year now, I know most of the online copybooks, although I would be reluctant to say that I have acquired lot of business knowledge.But I certainly aspired for it.
Coming back to problem in hand, let me address it point-wise :
Originally posted by Farouk Mohamed:
1. First what i did was to find out the overall functionalities involved in the system. Going thro the menu CICS screens of the application.
Quoting, Processing quotes, Delevering policies
2.These sub functionalities are big systems itself. So we finally recognised Quoting is the system towards which business would like to go forward. Then started to investigate the quoting system in depth as Quote is going to be our Online application.
In my case, I had modules like Credit Decision Management, Credit Management System, Financial Authorization System, Collection Tracking System, Account Service Management ,TRIAD - Behaviour Tracking System and Security System.
As you mentioned, these smaller modules are big systems by itself.As you picked up Quoting in your case, for the sake of discussion, I pick up Credit Decision Management (CDM) sub-system.
I had an advantage of customizing, analysing the screens of CDM, as I had worked on this module for more than 6 months.I know the screens, the transactions, the online programs that are involved in CDM.
Originally posted by Farouk Mohamed:
3.Again using cics screen investigate the online transaction which starts the quoting system.
There are two ways you can use these CICS screens,
1. Find out all transactions involved.
Not addressed unless you need more information on this type.
2. Find out the transation which satisfies our requirement.
We used this way as by collecting all the information after passing through all the online web screens, and finally send it to a mainframe transaction which does the calculate and retruns the results.
The advantage of this approach is that we dont send a message thro MQSeries to mainframe system after each and every page as this process will be very slow an expensive to the mainframe point of view.
The disadvantage of this approach was that we had to duplicate validation from mainframe applciation to the midtier java objects. This needed more involement from the user community to sit and understand the various business requirements and validation for different products.
In some cases if the information to be collected to fill up the mainframe interface (CopyBook) to invoke the transaction which calculates we can use the existing validation mechanism of mainframe system whereby duplication of validating effort is reduced.
I believe, I would require more information in this regard.
We have a development region for CDM where we had spent sometime in understanding how those screens operate.We know the VSAM files that get affected, the way the transactions are called.Also have created lots of
test data to understand how the data gets impacted.I have played with the screens in the development region to do model whatever is happening in production.
You mentioned about the "online web screens" where you had passed information which in turn calls the Mainframe CICS transactions and returns the results.
===>What are these "online web screens"?How did you create them, and why did you require them at this point of time?Are they some HTML test screens you created using some development tools?
===> Did you require "online web screens" for understanding how the transactions operate and to create test data?
I believe what you are stressing on the above point is to understand how the CDM systems operates and what are the transactions involved in the process.
The next step as you mentioned is to find out which transaction forms a part of the requirement and which doesn't!
Originally posted by Farouk Mohamed:
4.Next thing is going through the CICS applciation and identifying use cases for our web system based on different things a user can do on the mainframe appliaction.
IMPORTANT: Everything a user does on mainframe may invoke a transaction but if and only if that screen is used for processing
something we dont need the transaction.
There are two types of transations (careful to select only those u require)
1. Allows user to collect formation - Not required
2. Allows user to process collected information -- Requried.
After you have got the transaction, what you have to analyse using a CICS developer is the copybooks these transactions use so
that we can satisfy these transations by providing the required information.
This is the biggest problem that I have?
===> You mentioned about the use cases in the above point?What do they refer to at this level?
There are two types of transactions (which are nothing but online programs) that I know of.Some of them are linked with online validations (like checking fields are a must-entry field, or numeric data entered) and others process the data and finally write to the underlying VSAM files.
Also, I know the copybooks that these transactions use, as well as the files these transactions impact!
===> I believe both the types of transactions form a part of requirement.Correct me if I am wrong!

===> What type of transactions can be excluded from the requirement?You mentioned about those transactions which allow user to collect information.Could you elaborate on this in terms of CICS screens?
Originally posted by Farouk Mohamed:
5. Then we create a mapping class in a our system to map our collected information to the Legacy Interface(CopyBook)
and sent a message to a Messaging middleware such as MQSeries, which enters cics system and invokes a calculating mainframe final transaction which return you a result.
I would have to tell you that a lof of business knowledge is required when you do the mapping from web constants to legacy mainframe copybooks
Considering that I know the transactions and the copybooks associated with the transactions that populates the VSAM files (basically the Record Layout copybooks), as you said the next step is to create Java classes which map the record structure of the VSAM file to the Java primitives and other Object types.
===> Do we blindy consider creating a Java class file for all the Record Layout copybooks?
I fully agree with you regarding the complexity of the mapping exercise, as I had been involved in mapping this system with other systems running on AS/400.On the Mainframes, requirements like sending information in some sort of format to another system is very common (and also a headache!)
===> Last question but not the least, which tools did you use to get this stuff working.I have heard IBM VAJ,EE having some support for web-enabling CICS programs.Are you using similar tools?
Thank you for your comments,
Sandeep
[This message has been edited by Desai Sandeep (edited July 25, 2001).]