TimP wrote:That was a fantastic demo. I'm a mainframe enthusiast myself although I've never had direct access to a real one, I use the open source Hercules mainframe emulator with MVS and other free operating systems. I assume you're using the FLEX-ES commercial emulator in your demo running what looks like OS/390. I have a few questions about how NetManage works, since I've only used older IBM operating systems before the advent of TCP/IP. Is the web service running directly on the mainframe or would it run in a middle tier Windows/Linux server with some sort of application server (IIS or otherwise)? Where does the screen scraping take place? This relates back to my previous question. Is the screen scraped on the mainframe which then sends out the final data or is the entire screen scrape sent to another server for processing which then finally exposes the web service? Finally, if you wanted to expose a portion of a mainframe application which actually modified data rather than retrieving it, would you need to add a special step to tell the application to take input from another source and then automate the confirm step?
Hi Tim.... The mainframe emulator that Simon was using is a home grown NetManage one. We use it for a whole range of things including tracing "real" mainframe sessions and then being able to replay them for off-line builds like the one you saw or for debug.
The demo that Simon did uses an intermediate server (running under Windows in this case though it can run under Linux/Solaris/AIX, etc.) which handles all of the work and maintains the persistent connections into the host. An application server is not required to host the application. The whole idea here is that the solution is non-invasive and non-intrusive on the host. No changes to either the host environment or the applications running in it. So all the work is done at the middle tier. An alternative to this is to use something like IBM's 3270 Bridge for CICS but this is only available as an option to a proportion of the mainframe user base. This allows a third-party bridge exit routine to be developed that runs on the mainframe (as we have done) that gives you the option to run the entire sequence on the host with just the input going in and the required output coming out. This also, by the way, avoids the x:y coordinate problem of screen scraping as everything is seen as name:value pairs.
In the demo that you saw the intermediate server (called OnWeb) manages the persistent 3270 sessions to the host in real time and presents the Web Service that encapsulates the defined host transaction for consumption by whoever or whatever needs it i.e. the Avalon Carousel. There is a "design time" and a "run time" element. The design time uses the tool that you saw to define the Web Service (or any other component). It is built and then resides on the intermediate OnWeb server. When the Web Service is called via its web reference, OnWeb runs the appropriate transaction (screen sequences) and returns the result in the appropriate Web Service format. So in this demo it is all done at the middle tier.
Hope that helps.