Cobol''' Vive - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Cobol''' Vive

Description:

Las nuevas especificaciones del lenguaje Cobol (COmmon Business Oriented ... temes de datos desde uno o mas copybooks, adem s de escoger una presentaci n. ... – PowerPoint PPT presentation

Number of Views:168
Avg rating:3.0/5.0
Slides: 23
Provided by: jcco
Category:
Tags: cobol | copybooks | vive

less

Transcript and Presenter's Notes

Title: Cobol''' Vive


1
Cobol... Vive
Juan Cockbaine Ojeda jcockbaine_at_entelchile.net Asi
gnatura IIC3194 Metodologías Emergentes en
Ingeniería de Software   Las nuevas
especificaciones del lenguaje Cobol (COmmon
Business Oriented Language), originado en 1959
por la COnference on Data Systems Languages
(CODASYL) y últimamente revisado por los grupos
de trabajo ISO/IEC JTC 1/SC22/WG4 y J4, han
resultado en una nueva propuesta de lenguaje
renovado sin descuidar su gran potencial como
lenguaje orientado al desarrollo de aplicaciones
comerciales.  
2
Un Programa Cobol
  • 000021 IDENTIFICATION DIVISION.
  • 000030 PROGRAM-ID. 1A.
  • 000040 AUTHOR. JCOCKBAINE.
  • 000050 DATA DIVISION.
  • 000060 WORKING-STORAGE SECTION.
  • 000070 01 NUMEROS.
  • 000080 03 NUMERO-VALIDO PIC S9999V999
    OCCURS 100 TIMES.
  • 000090 77 X PIC 9999V999 VALUE 0.
  • 000100 77 ACCION PIC X.
  • 000110 77 I PIC 999 VALUE 0.
  • 000120 77 J PIC 999 VALUE 0.
  • 000130 77 XM PIC 9999V999.
  • 000131 77 XM-E PIC ZZZ9.999.
  • 000140 77 DIFERENCIAS PIC S9(9)V999.
  • 000141 77 DIFERENCIAS-E PIC -Z(8)9.999.
  • 000150 01 MSG PIC X(42) VALUE "INGRESE
    ACCION (Numero/Salir) gt".

3
  • 000160 PROCEDURE DIVISION.
  • 000170 MODULO-PRINCIPAL.
  • 000180 DISPLAY MSG WITH NO ADVANCING
  • 000190 ACCEPT ACCION
  • 000200 PERFORM OBTIENE-DATOS UNTIL ACCION "S"
    OR "s"
  • 000210 PERFORM CALCULAR-MEDIA
  • 000230 PERFORM CALCULAR-DS
  • 000231 DISPLAY "Terminando...(Presione Enter para
    terminar)"
  • 000236 STOP RUN.
  • 000260 OBTIENE-DATOS.
  • 000261 IF ACCION "n" OR "N" THEN
  • 000270 DISPLAY "INGRESE Xi " WITH
    NO ADVANCING
  • 000280 ACCEPT X
  • 000290 ADD 1 TO I
  • 000300 MOVE X TO NUMERO-VALIDO(I).
  • 000310 DISPLAY MSG WITH NO ADVANCING
  • 000320 ACCEPT ACCION.
  • 000330 CALCULAR-MEDIA.
  • 000331 MOVE 0 TO XM

4
(No Transcript)
5
Features
  • Formatos
  • Eliminación Margen A y B y Col 72.
  • Posicionamiento libre de instrucciones
  • Líneas de 250 columnas
  • Comentarios indicados por gt
  • Opciones de compilación para formato rígido y
    formato libre
  • Tratamiento de excepciones
  • Control a Exception Handlers (Procedimientos
    declarativos)
  • El nuevo estándar especifica procedimientos en
    caso de error
  • Programador puede definir sus propias excepciones
  • gtgtturn habilita una excepción particular,
    familias, para un archivo o todas
  • A nivel local on size error
  • Nuevos tipos de datos
  • Bool (0,1) PIC 1(8) (B10011010). Operaciones
    b-and, b-or, b-not
  • Nativo binario y Nativo punto flotante
  • Punto flotante editado (e)
  • Pointer contendrá una dirección o valor nulo.
    Uso de allocate y set

6
Features
  • Compilación Condicional
  • gtgtdefine sistema_operativo as parameters
  • gtgtevaluate system_operativo
  • gtgtwhen win98
  • . gt código específico para windows 98
  • gtgtwhen unix
  • . gt código específico para unix
  • gtgtwhen other
  • . Display el S.O especificado no es
    reconocido
  • gtgtend-evaluate
  • Validación de Datos
  • 01 nacimiento. gt mm(2), dd(2) año(4)
  • 03 mes pic 99 valid values 1 thru 12.
  • 03 día pic 99
  • Valid value 1 thru 31 when mes 1 or 3 or 5 or
    ..
  • Valid value 1 thru 29 when mes 2
  • Valid value 1 thru 30 when mes 4 or 6 or 9
    or 11
  • 03 año pic 9(4) invalid when año gt function
    current-date (48)

7
Features
  • Archivos compartidos y bloqueo de registros
  •  
  • Descripción de archivos all other, no other,
    read only describe los tipos de acceso que serán
    permitidos para otros usuarios que acceden al
    archivo en forma simultánea.
  • Pueden ser especificados en el Open.
  • Si es sharing se puede escoger entre Automatic
    o Manual bloqueo de registros.
  • Utilización de Lock en modalidad Manual
    implica mantener lock solo cuando se especifica
    en operación de I/O.
  • Se puede escoger locking simple o de múltiples
    registros.

8
Features Programación OO
  • Class unidad básica de OO Cobol consistente de
    un Factory Object e Instance Objects. Se
    define con class-id y finaliza con end class.
  • Factory Object (uno por clase) consiste de
    estructuras de datos y métodos. En cada clase,
    mediante el Factory Object se podrán crear
    nuevas instancias de clases, destruir instancias
    de objetos y manipular data asociada con todas
    las instancias de objetos de la clase.
  • Object Consiste de datos y métodos (ilimitado
    número de instancias por clase).
  •   
  • La definición de Interfaz especifica un
    subconjunto de los métodos. Provee los métodos
    que pueden ser invocados (nombre y parámetros).
  •  
  • Se puede definir varias Interfaces para una misma
    clase, cada una ofreciendo diferentes vistas de
    la clase.
  •  
  • Herencia Múltiple Una clase puede heredar desde
    una o más clases. La clase contendrá la
    estructura de los datos y los métodos de los
    herederos.
  •  
  • Clases Parametrizadas Permitirá a los
    desarrolladores crear clases que tengan
    comportamiento común. Es una definición de
    esqueleto de clase.
  •  
  • Usage Object Reference Cláusula que permite
    describir ítem llamados objects references que
    contiene un manejador de objetos y puede ser
    definido como universal o restringido.

9
Principales Features de Cobol
  •  
  • Programación OO
  • Manejador de excepciones
  • Tipos de datos adicionales
  • Validación de datos
  • Operaciones booleanas
  • Funciones definidas por los usuarios
  • Formato libre
  • Incremento en las facilidades de manejo de
    pantalla
  • File sharing
  • Bloqueo de registros
  • Compilación condicional
  • Sistema de llamados Call fortalecido
  • Portabilidad
  • Interoperabilidad
  • Cuatro dígitos del para el año
  • Recursividad
  • Report Writer mejorado
  • Utilización de punteros

10
Herramientas Cobol
  • Analysis / Inspect /Restructure (11)
  • Cobol Projects (4)
  • Cobol IDEs and Compilers (16)
  • Merant Net Express
  • Components/Patterns/Frameworks (5)
  • Transoft Component Framework
  • Frontware/Terminal Emulation (13)
  • Flexus Cobol sp2
  • Middleware/Data Access (22)
  • Migration/Translators/Converters (9)
  • OLAP/Data Marts/Warehousing (5)
  • Query/Report Writer (6)
  • Rapid Application Development (8)
  • Netron Hotrod
  • Software Configuration Management (5)
  • Testing (5)
  • Utilities (3)

11
Flexus Cobol sp2
  • Instrucciones Accept y Display no suficientes.
  • Soluciones Interfaz externas a programa
    (Customer Information Control System y Screen
    Design Aid de IBM).
  • Luego Cobol migró a PC, vendedores proveen
    interfaces propias.
  • En Unix X/Open definió Cobol User Interface
    Standard llamado Screen Section.
  • Casas de software adoptaron el estándar.
  • Windows 3.0 impulsó GUI (APIs para Pascal y C).
  • Cobol obtiene una GUI (Producto Cobol sp2 de
    Flexus, 1983).
  • Pintado de pantallas (GUI) mediante editor y
    llamados vía call sp2 para conversar con la
    pantalla.
  • Callss sp2 son similares a calls CICS para
    envío y recepción de mapas y lógica detrás de
    Screen Sections.

12
Flexus Cobol sp2
  • Data Division.
  • Working-Storage Section.
  • 01 Screen-Fields.
  • 03 Nombre pic x(30).
  • 03 Dirección pic x(30). ...
  • Screen Section.
  • 01 Pantalla-Principal.
  • Blank Screen, Auto.
  • 03 Line 1 Column 32 Value Dirección .
  • 03 Line 3 Column 8 Value Nombre
    Highlight
  • Procedure Division.
  • Módulo-Principal.
  • ...inicialización campos
    Pantalla-Principal
  • Display Pantalla-Principal
  • Accept Pantalla-Principal
  • ... Código para procesar datos en Pantalla
  • Stop Run.
  • Data Division.
  • Working-Storage Section.
  • Copy sp2.cpy.
  • Copy Sio.cpy.
  • Procedure Division.
  • Módulo-Principal.
  • ...inicializaciones...
  • Call sp2 using sp2-open-file sp2-file-def
  • Call sp2 using sp2-converse-panel

  • sio-converse-data
  • Call sp2 using sp2-close-window

  • sp2-null-parm
  • Call sp2 using sp2-close-file sp2-null-parm
  • Call sp2 using sp2-end-session
    sp2-nulll-parm
  • Stop run.

13
Net Express
  • Micro Focus comenzó el desarrollo de Cobol (1980)
    Microsoft Cobol.
  • Luego desarrolló ambientes desarrollo Cobol
    (Online debugging, testing).
  • Agregó GUI. Soporte al desarrollo IMS, DB2, CICS
    y emulación ambiente MVS.
  • En 1998 adquirió Intersolv (desarrollo
    cliente-servidor, internet e intranet).
  • En 1999 Merant con 35.000 sitios, 400 millones
    anual, 2000 empleados.
  • El producto NetExpress aplicaciones cliente,
    servidor, mainframe. Cobol lenguage principal
  • Incorpora OO Cobol, Clases GUI (librerías Win32)
    y el estándar.
  • Incorpora como ambiente de desarrollo fuentes,
    ejecutables, aplicaciones windows, CGI, Web,
    HTML, archivos de datos y un linker para
    construir el run time.
  • Adhiere algunos aspectos del estándar tipos de
    datos, operaciones booleanas, manejo de memoria,
    bloqueo y compartición de archivos (141).
  • Analizador líneas de código por tipo,
    estructuras perform, métricas para complejidad
    relativa, referencias cruzadas.

14
Net Express
  • Wizard Asocia forms HTML con aplicaciones Cobol
    y BD. Genera programas para la captura del I/O
    HTML y llamadas a programas para procesamiento
    posterior.
  • Form Designer Construcción de interfaces basadas
    en Web WYSIWIG en vez de edición HTML. Además de
    cut and paste de páginas desarrolladas con otras
    herramientas.
  • Script Assistant Permite agregar Java Applets,
    JavaBean. Soporte Netscape JavaScript y Microsoft
    Jscript.
  • Acceso Datos Soporte objetos COM, aplicaciones
    CORBA. OPEN ESQL traduce SQL- incorporado, en
    ODBS API para acceder bd con driver adecuado.
  • NetExpress tiene soporte nativo para DB2 y
    soporte integrado para pre compilador Oracle y
    Sybase. Capacidades para manejar archivos
    secuenciales, indexados, relativos.
  • Dialog System Ayuda al desarrollo de
    aplicaciones windows que los programas Cobol
    utilizan (list y check boxes options y push
    buttoms scroll, messages, tool, menu bars...).
  • Las aplicaciones corren bajo windows y se
    comunican con programas Cobol en el cliente o el
    servidor.
  • E-business o la extensión de sistemas legados a
    la web. NetExpress brinda soporte para el
    desarrollo del web y los liks para los sistemas
    legados. Facilita el desarrollo sin incurrir en
    pesados desarrollos HTML, JavaScript, Perl...)

15
Revolve (Merant)
  • Revolve acepta código como entrada y crea un
    ambiente integrado. Carga el código e include
    files en una bd propietaria y la manipula para
    efectuar el análisis.
  • Mediante herramientas de análisis de impacto
    indica como los cambios en el código afectan el
    resto del programa (propagación).
  • Un Editor integrado permite modificar el código
    como una aplicación en vez de múltiples módulos.
  • Cuenta con una facilidad para Anotaciones que
    permite documentar los requerimientos de cambio
    sobre el código.
  • Las Métricas utilizan estándares (NcCabe,
    McClure, Halstead, Análisis de Puntos de
    Función).
  • Permite la generación de informes (Scripts o
    queries) sobre el código (cross reference,
    problemas de parsing, definiciones no utilizadas,
    etc.).
  • Revolve crea un Project File. Luego se puede
    modificar el diseño.
  • Se puede configurar de tal forma que múltiples
    usuarios puedan compartir el proyecto haciendo
    anotaciones. El administrador modifica el código.
  • Una vez efectuado el análisis, diseño, cambio de
    código, liberación y prueba se carga el nuevo
    release para continuar el refinamiento.

16
Hotrod (Netron)
  • Después de creado un proyecto en Revolve, se
    lleva a un proyecto Hotrod. Se efectúa un
    análisis ROD (Reusable Object Documents) que
    indicará el código candidato a ser
    individualizado.
  • El análisis extrae las Reglas del Negocio, las
    agrupa en grupos de similar función (Podrían ser
    candidatos a módulos).
  • Para Netron una regla de negocio es un bloque de
    código que define en forma matemática y en forma
    lógica, como una decisión del negocio es
    efectuada.
  • Si se está re-escribiendo el programa, es mas
    importante extraer las reglas del negocio que el
    código reusable (mas aún si no se piensa re
    usar).
  • Como experiencia Pentium II 128, en tres
    minutos se analizaron 10.000 lc.

17
Legacy Liberator, FlexGen, U/SQL
  • Legacy Liberator convierte sistemas Cobol legados
    a Cobol estándar en un nuevo ambiente.
  • Convierte instrucciones no estándar utilizando
    una bd de traducción asociado al ambiente. Marca
    las instrucciones que no pueden ser traducidas
    (se deberá codificar el algoritmo de traducción).
  • FlexGen provee un windows-like GUI (unix o
    windows). Algunas de las opciones de
    compiladores son AcuCobol, MicroFocus Cobol, RM
    Cobol.
  • Mediante EasyQuery se pueden crear informes
    adhoc, seleccionando ítemes de datos desde uno o
    mas copybooks, además de escoger una
    presentación.
  • Se puede insertar Cobol estándar dentro del
    programa. Resulta en una integración de código
    legado migrado a FlexGen además de nuevas
    características como informes, pantallas y
    aplicaciones desarrolladas en el ambiente
    FlexGen.
  • U/SQL se inserta entre el manejador de datos y el
    software que utiliza SQL. Permite usar
    organizaciones indexadas existentes en vez de
    Oracle, Sybase o DB2.
  • Datos mantenidos por aplicaciones Cobol se podrán
    utilizar en Word, Access, Crystal Reports, etc.
    Además dispondrá los datos a Visual Basic, Power
    Builder... Mediante el Open Database Connectivity.

18
Cobol y OO
  • Lenguage ampliamente utilizado.
  • Resurge por el Y2K, ahora es historia, OO?.
  • En 40 años se han desarrollado sobre 1000
    lenguajes, Cobol ha sobrevivido (180 billones de
    líneas de código, 5 billones por año Computer
    1997).
  • Internet enfatiza sobre GUI y Java factores que
    han renovado el interés en OO como paradigma de
    desarrollo.
  • Adopción de OO 63 2000?, 24 1996, 39 1998).
  • Se afirma que los estándares de Cobol no proveen
    características OO.
  • El 33 de las empresas indican a Cobol como
    lenguage principal, 45 espera que Java lo sea en
    tres años. Hay indicaciones de que Cobol no
    sobrevivirá en su forma actual (causa OO).
  • En esta corta carrera Cobol continúa siendo
    importante Inversión en aplicaciones y
    experiencia.
  • Las opiniones no son tan rigurosas como se
    predice. Se propone que Cobol OO sea utilizado
    como una herramienta para la enseñanza de las
    técnicas OO.

19
Cobol y OO
  • IBM, Merant/MicroFocus, Fujitsu, Hitachi
    promueven OO Cobol.
  • Curvas de aprendizaje favorables a Cobol (12 sem
    vs 40 sem. C, 80 sem. Smalltalk).
  • El entrenamiento OO debe considerar Conceptos,
    análisis, diseño y programación.
  • Modelos de enseñanza Evolucionario en que se
    construye sobre el conocimiento existente o
    modelo Revolucionario que ignora el conocimiento
    previo.
  • El modelo evolucionario considera un lenguaje OO
    híbrido y utiliza el conocimiento del lenguaje
    base (OO Cobol). El problema es que el estudiante
    podría continuar utilizando técnicas
    convencionales sin hacer un cambio mental a OO.
  • El modelo revolucionario utiliza un lenguaje OO
    puro basado en el paradigma OO. Más difícil para
    el estudiante pero promueve buenas técnicas OO.

20
Cobol y OO
  • Técnicas Revolucionarias
  • T1 Conceptos OO, Análisis OO, Diseño OO,
    Programación OO (Smalltalk)
  • T2 Conceptos OO, Programación OO (Java),
    Análisis OO, Diseño OO
  • Técnicas Evolucionarias
  • T3 Conceptos OO, Programación OO (Cobol),
    Análisis OO, Diseño OO
  • T4 Conceptos OO, Análisis OO, Diseño OO,
    Programación OO (Cobol)
  • T1 El esfuerzo de entendimiento de un lenguage
    OO no familiar, perdió de vista el paradigma OO.
    Se enfatizó en el lenguage, fallas al conectar
    análisis, diseño y programación.
  • T2 Similar a T1. Los alumnos relacionaron su
    experiencia previa (programación procedural) al
    lenguaje OO. Como no conocían Análisis y Diseño
    trataron de ajustar OO en el paradigma
    procedural. Programación pobre y entendimiento OO
    incompleto.
  • T3 Los alumnos escribieron programas
    procedurales en un lenguaje OO (aplicaron su
    conocimiento de Cobol).
  • T4 Los alumnos aprendieron. Se encontró que esta
    técnica es la más efectiva para enseñar
    desarrollo OO a desarrolladores Cobol.

21
Cobol y OO
  • Se requiere complemento en la utilización de
    lenguajes Visual Basic (GUI), Cobol
    (Aplicaciones tradicionales del negocio), Java
    (Ambiente en red).
  • Comparativa de lenguajes enseñados en pregrado

22
Bibliografía
  • IEEE Software Vol. 17 N2, 2000
  • Cobol for the Next Millennium, Don Schricker
  • Cobol tools Overview and Taxonomy, E. Arranga
    T. Hubbell, A. Lorents, S. Shiflett, J. Wessler
  • Cobol in an Object-Oriented World A Learning
    Perspective, B. Hardgrave, E. Redd Doke
  • ISO/IEC FCD 19892001 (Programming Language
    COBOL)
Write a Comment
User Comments (0)
About PowerShow.com