Object-Oriented COBOL, The Old, The Bad and The Ugly [Abstract]

This tutorial will present a critical appraisal of the current standards proposals for COBOL, including object -orientation. First of all, the fundamental characteristics of object –orientation will be mapped on the new COBOL standard, with special attention for the principles of encapsulation and uniform access. The discussion of the characteristics allows to position the COBOL vendors in terms of the object orientation perspective they have implemented in their technology. In particular, the constant struggle between weak and strong typing can clearly be illustrated. The tutorial will also address the integration of object –oriented COBOL with new and existing systems. In particular, wrapping techniques for transaction and DBMS -based systems are discussed, and an example is presented on how to integrate COBOL -code in Java and Eiffel software, through the appropriate use of C -generation and the Java Native Interface(JNI). Moreover, the integration of object -oriented COBOL with component brokering technology (CORBA versus (D)COM(+) versus JAVA RMI) is discussed. The tutorial will also discuss how the principles of "Design by Contract" can be implemented in object -oriented Cobol. The tutorial includes the presentation of a fully elaborated UML -case, with the full details of alternative object oriented Cobol implementa tions. The tutorial will also emphasize the integration of elements of structured programming (based on JSP) with the object -oriented features of the new Cobol standard. Finally, the integration alternatives for the integration of legacy systems and/or commercial of the shelf (COTS) components is discussed, and illustrated in detail. The tutorial will present examples in various formats, including the technologies of MERANT (MicroFocus), IBM and Fujitsu. Some experiences with object -oriented Cobol in real case studies will be presented. Finally, it will be shown how Eiffel can be used as a didactical instrument to teach and train the object -oriented principles, and how they can be reinforced in object -oriented Cobol implementations afterwards.