Jazz Users’ Guide

The Jazz Users’ Guide is a series of tutorial web pages showing you how to use Jazz for a variety of programming tasks. Other web pages, such as those in the Language Reference series, are designed for reference. The tutorial and reference web pages cross reference each other, and are designed to be used together. If you want to see how to write a report program, start with a user guide page showing a report program. If you want to understand all the options and rules of a PRINT statement, use a language reference page. The Users’ Guide is like a textbook, while the Language Reference is like a dictionary.

 

There are the following pages in the Users’ Guide series

 

·         Introduction to Jazz.  This section should be read first. It introduces the key concepts of Jazz and gives some examples from the simplest problem type, batch reporting.

·         Batch updating. Direct updating, file copy, and sequential updating.

·         Jazz Logic. IF, CASE, and LOOP statements allow you to control your program’s logic. ROUTINE and PARAGRAPH statements allow you to improve the clarity of your code. CALL and INVOKE combine with interface descriptions to allow you to structure your code, reuse logic, and interact with pre-written and remote services.

·         Data Conversion is basically a process of copying files with changes.  Jazz provides special facilities to manage this process efficiently by generating Excel spreadsheets, and then using these spreadsheets to create the conversion programs.

 

·         External I/O.   Defining a file as type XIO means that I/O routines developed by you or your software vendor are used to access the data.  This chapter shows you how this feature is used.

 

·         Report Designing.  With PRINT most basic data reporting can be simply accomplished with basic Jazz, but what if you want more!  The Jazz report designer allows you do graphically design a report as you would a screen, specifying logic on control break, and getting exactly the result that you want. 

 

·         Working with DB2 (and other relational databases)   (Planned )

 

·         Jazz On Line Programming: Introduction.  The first chapter on classical CICS programming. Creating a CICS menu program, and a program that displays a record with a 3270-type display.

·         Jazz On Line Programming, Part 2.  Updating Records.  Extending the preceding chapter, this shows how you can update data.

·         Jazz On Line Programming, Part 3.  Handling Multiple Records.  Here we handle parent/child relationships, building a very simple order-entry system. Still with classical CICS programming using 3270-type displays.

·         Service-Oriented Architectures and Web Services. Here we introduce the concepts and terminology of Service Oriented Architectures, providing essential background so that you can both provide and request Web Services with Jazz. 

 

After the general introduction to Service-Oriented Architectures, the Users’ Guide continues with

·         Providing Web Services shows you how to write a Web Service Provider using either COMMAREA or CHANNEL communication.  The example programs are little more than “Hello World”, but once developed you’d have the basic knowledge to write programs providing your mainframe data (VSAM?) through a web service so that it can be displayed  on a web page.

·         Invoking Web Services covers the reverse situation, where your program invokes an existing web service.  The chapter shows you how to discover a web service and request data from it.  Again, only with a very basic “Get time” service, but giving you the basic principles that you’ll need for real problems.

·         Real Web Services.  With the basic technology covered, now we start to deal with real problems: accessing data from VSAM and providing it to an external program, and then extending this to update the VSAM data through a web service. In a CICS update record locking is essential but excessive locking can bring an on line system to a halt, so we need “pseudo-locking” logic that minimises the time that actual locks are held.  With classical CICS programs Jazz managed this by storing a copy of the original record in COMMAREA, but this won’t work in Web Services so Jazz includes an encrypted hash total in the output and input message.

 

·         Web Services and Multiple Records.  After Real Web Services, here you learn how to write web services that handle record hierarchies (think Customer/Order) and other record collections.

·         Client Programming.  This chapter discusses client-side programming, for testing and use of web services developed in the previous chapter. A future direction for Jazz will take this further, with Jazz not only helping you to write your mainframe web services but also providing client-side interface code containing validation and formatting code that you can use in the distributed objects that you write in Java or ASP.NET.

Text Conventions  

Some material is like this, written in the normal text, but coloured green. This is material that has been reviewed but hasn’t been implemented yet. As this material is implemented the text is reviewed, changed as necessary, and changed to normal text colour.