Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio, PAC2COBOL and PAC2Java Continuity and modernization of Pacbase applications July.

Similar presentations


Presentation on theme: "© 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio, PAC2COBOL and PAC2Java Continuity and modernization of Pacbase applications July."— Presentation transcript:

1 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio, PAC2COBOL and PAC2Java Continuity and modernization of Pacbase applications July 2012 Patricia PASTORELLI Bernard ZISERMANN

2 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. TELEBIG in a nutshell Since 1983, TELEBIG specializes in the Modernization, Migration, Replatforming, COBOL-Java transition and the SOA Integration of Legacy systems to Open systems: 81 very successful migration projects Worldwide customers Experts team Own methodoloy and tools (Migration+, Legacy2Java, PACStudio,…) Integration of state of the art third party tools (XFRAME, Forms2Java,…) Close partnership with industry leaders: System Integrators - Atos, Bull, CapGemini, HP, IBM, Logica, Sopra Global technology leaders - HP, IBM, Micro Focus, Microsoft, Oracle Specialists of modernization/migration - ATX Software, HTWC, Most Technologies, SoftwareMining Oracle OPN Silver partner, Microsoft PMA member Founder of bonede Alliance: Niche actor in Third Party Maintenance: TMA+

3 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio overview

4 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: continuity and opening PACStudio arises out of the needs of a significant number of very satisfied VisualAge Pacbase (VAP) users, who are at the crossroad after the annoucement of IBM to terminate the support of Pacbase in 2015 PACStudio provides development and code generation capabilities which are exactly the same as VAP, built on modern Eclipse and relational database infrastructure The generated COBOL code is strictly the same as the one issued from VAP for all supported platforms (cf z/OS, Bull GCOS, UNIX,...) It also allows to elaborate modernized maintainable COBOL and also deployment in Java via options PAC2COBOL and PAC2Java. PACStudio is totally developped with purely standard and Open source components and has no dependency on any other commercial tool

5 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: Repository Integrated with Eclipse Accessed by the universal interface JPA: Java Persistance API Data is stored and shared in any open source or commercial relational database : Oracle MySQL PostgreSQL DB2 UDB … Or in XML files that can be temporarily stored inside the developers workstation Replacement of highly used VAP « sessions » via a sophisticated implementation, using CVS or SubVersion

6 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: Repository (continued) Import of an exported VAP repository produced by EXLI (full or by selected libraries with related components) Handling of all types of VAP entities Management of useds Users and Groups rights Access to libraries Small footprint, allowing easy and fast partial global backups in todays commodity workstations and servers Example dictionnary of: 2000 programs,19000 elements, segments et 5000 dialogs=> 1,5 Gigabytes Organisation per libraries with cross references

7 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: Supported entities Library Keyword Data Element Definition Description Logical View Definition Description Segment Definition Details Report Definition Preview Structural details List of categories Program and Macro Definition Macro call Logical View call Start lines Specific handling List of working storage Screen Definition Segement call Macro call Appel de segment Appel de macro Start lines Specific handling Dialog complements

8 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: Supported entities (continued) Dialogue Text Document Format Guide Database block Method Meta Entity User Relation User Entity User Entity Extension

9 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: Plug-in Full integration in Eclipse (3.5 or superior) Works under Windows but also under any Eclipse supported platform (ie Linux) Creation and Import of Repository Manipulation of entity with a nice look and feel Generation (s) of target (s) code Sophisticated generated code comparator Local COBOL compiler (for immediate validation) Full local mainframe simulation (option)

10 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: Local compilation PACStudio generates COBOL code to be compiled in the target environment We provide a first compile and check capability Associated COBOL compiler can be: Heirloom Computing Elastic COBOL (generates Java, IBM/zOS compatible, Cloud) Micro Focus COBOL Veryant vCOBOL (generates Java) IBM AIX COBOL Fujitsu NetCOBOL Open COBOL (Open source) COBOL-IT (Open source avec professional support) Additionnaly, we propose, in the case of IBM Mainframe platforms, a development and local testing infrastructure with the XFRAME Rehosting platform

11 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: Management fonctions Via Eclipse « administrator » perspective Management of users and roles Users, groups Role and privileges per library Locking and unlocking of entities Management of sessions Current Historical Shared and or/local Save and restore Base CVS/Subversion referential

12 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: some differentating points Maximum continuity versus VisualAge Pacbase Full import of open repository Elimination of regression testing No dependancy of propriatory software: all PACStudio components are open source or « made in TELEBIG » with source code delivered to our subscribed customers COBOL modernization as an option Java native deployment Full Java plug-in (no C code, DLLs, …) Repository in SQL database and/or XML files Local COBOL compile and test with the COBOL compiler of your choice Supports continuity of pre 3.5 VAP versions Full accesss to repository via standard SQL (replaces much simply PAF) Possible simulation (Re-hosting) of z/OS

13 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio live demonstration

14 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio differentiating points

15 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: some differentating points Maximum continuity versus VisualAge Pacbase Full import of open repository Eiimination of regression testing No dependancy of propriatory software: all PACStudio components are open source or « made in TELEBIG » with source code delivered to our subscribed customers COBOL modernization as an option Java native deployment Full Java plug-in (no C code, DLLs, …) Repository in SQL database and/or XML files Local COBOL compile and test with the COBOL compiler of your choice Supports continuity of pre 3.5 VAP versions Full accesss to repository via standard SQL (replaces much simply PAF) Possible simulation (Re-hosting) of z/OS

16 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PAC2COBOL overview

17 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PAC2COBOL: Restructuration Level 1 Normalization of text according to ANSI COBOL 85 Elimination of dead code (average 8% of code) Elimitaiton on unused labels Example : empty paragraph; we observe up to 25% of this type lines Normalization of names Constants Host Vars Tables, Vues Counters Booleans Table indexes Normalization of table indexes limits Reduction of COBOL mines Example: normalization of Perform Thru into Perform Section

18 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PAC2COBOL: Restructuration Level 2 Externalisation of tables and views declaration into copybooks and Copy clause insert Externalisation of declaratives of article areas of files into copybooks and Copy clause insert Externalization of data declaration of screen maps Normalisation des Noms de ces nouveaux Copybooks (et Clause Copy) according to repository thesaurus Elimination of clones (redondant Copybooks factorized)

19 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PAC2COBOL: Restructuration Level 3 This level corresponds to a tool based service with a large implication of the customer at the specification and qualification levels Componentization" of code Externalisation of data access services Externalisation of transactionnal resources access Constitution of a library of reusable programs, via re-integration of existing Pacbase macros with their functionnalities Other optimizations according to customers requirements/needs 90% of source code restructured automatically. Non-regression tests on all the portfolio Setting up of a tests cases repository that will be reusable during futher maintenance activities ==> A Progressive progress

20 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PAC2COBOL: Restructuration Level 4 Code inspection Automatic +120 Cobol/CICS/Sql inspection rules checked See examples following slides Normalizations as required Code quality measurement Audit Audit of quality repository built during restructuration Level [1-4] Interpretation of measurement results => set of optimizations recommendations Automatic optimization of this set as required This level 4 activity requires Expert Interpretation to get the most of automatisms

21 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. Example of Cobol optimization rules 1COBOL Maintainability Backward GOTO 2COBOL Maintainability Control can fall through to the next paragraph 3COBOL Maintainability Data element declared in a copy file is neither set nor used 4COBOL Maintainability Data element declared in a copy file is set but not used 5COBOL Maintainability Data element declared in main program file neither set nor used 6COBOL Maintainability Data element declared in main program file set but not used 7COBOL Maintainability Dead code detected 8COBOL Maintainability Declared condition name in a copy file is not used 9COBOL Maintainability Declared condition name in main program file is not used 10COBOL Maintainability Forward GOTO 11COBOL Maintainability GOTO jumps into perform range 12COBOL Maintainability GOTO jumps out of perform range 13COBOL Maintainability Initialized linkage section data element declared in copy file 14COBOL Maintainability Initialized linkage section data element declared in main progra 15COBOL Maintainability Literal in procedure division 16COBOL Maintainability Overlapping perform ranges 17COBOL Maintainability Paragraph contains no statements 18COBOL Maintainability Perform range end precedes beginning 19COBOL Maintainability Perform range has beginning and ending paragraphs in different s 20COBOL Maintainability Perform range uses inconsistent aliases 21COBOL Maintainability Section contains no paragraphs 22COBOL Maintainability Unreachable paragraph 23COBOL Maintainability Unused Copy/Include detected 24COBOL Maintainability Unused data item detected 25COBOL Maintainability Unused file

22 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. Example of CICS, SQL optimization rules 1 CICS Optimization REPORT WRITER must not be used 2 CICS Optimization SEGMENTATION must not be used 3 CICS Optimization SORT/MERGE must not be used 4 CICS Optimization The verb is not allowed 5 CICS Optimization TRACE must not be used 6 COBOL Optimization Binary variables should be declared with PIC S9(4), PIC S9(9) or PIC S9(18) 7 COBOL Optimization Dynamic CALLs are forbidden 8 COBOL Optimization Host variables must imperatively be defined as they are produced by the DCLGEN 9 COBOL Optimization Index should be declared binary: PIC S9(4) COMP 10 COBOL Optimization Paragraphs must be coded in the same order as they are called 11 COBOL Optimization The clause BLOCK CONTAINS 0 RECORDS must be used 12 COBOL Optimization The GO TO statement is forbidden 13 COBOL Optimization The INITIALIZE statement should be avoided 14 COBOL Optimization The PERFORM... THRU statement is forbidden 15 COBOL Optimization The variable must be declared S9(n) COMP-3 16 COBOL Optimization Use SPACE for initialization 17 COBOL Optimization Use ZERO for initialization 18 DB2 Optimization Any DELETE or UPDATE statement must have a WHERE clause 19 DB2 Optimization Any SQL request "SELECT *" is forbidden 20 DB2 Optimization For a cursor access at least one column must be an index 21 DB2 Optimization The columns of joint predicates must be indexes 22 DB2 Optimization The DISTINCT clause is only allowed in batch programs 23 DB2 Optimization The GROUP BY clause is only allowed in batch programs 24 DB2 Optimization The ORDER BY clause is only allowed in batch programs 25 IMS Optimization EXEC SQL COMMIT is forbidden in CICS and IMS programs

23 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. Exemple of measures used to optimize 1 Quality index indicator Defects frequency per program or per application (sum of QII of its programs) 2 Portability indicator Portability of a program or of an application 3 Reliability indicator Reliability of a program or of an application 4 Maintainability indicator Maintainability of a program or of an application 5 Anomalies indicator Anomalies in a program or in an application 6 Dead Components 7 Dead statements 8 Dead data 9 Dead copybooks 10 Complexity Indicator Cyclomatic Complexity (Mc Cabe specification) 11 ccp Cyclomatic Complexity (for each procedure) 12 acc Average Cyclomatic Complexity (for each Program) 13 Software Science : Halstead The following measures are those specified by Halstead 14 Number of Distinct operators Number of different Cobol operators used in statements, named n1 15 Number of operators Number of occurrences of the operators used, N1 16 Number of disctinct operands Number of different Cobol operands used in statements, n2 17 Number of operands Number of occurrences of the operands used, N2 18 Program vocabulary Sum of disctincts operators and operands, n1+n2 = n 19 Prog Length Sum of occurrences of operators and operands, N1+N2 = N 20 Prog Volume A Halstead metrics dependending on Vocabulary and Length, Volume = N log2 n 21 Prog Difficulty A Halstead metrics of the difficulty to code an algorithm (Difficulty=( n1 / 2)*(N2 / n2)) 22 Progr Effort A Halstead metrics of the effort to evolve a program (Effort = Difficulty*Volume) 23 Prog Halstead complexity A Halstead metrics depending on Vocabulary and Length of the complexity 24 Prog Halstead Estimated bugs A Halstead metrics estimating the number of bugs in the program 25 Lines Lines in a program (expanded with referenced copybooks) 26 nlos number of line of statements 27 nloc number of line of comments Code Quality measures Certain inspection rules (defaults) are counted. Used to compute the indicators above.

24 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PAC2Java: Continuity and modernization Based on COBOL to Java compile Integrated process in the PACSudio generating phase while keeping all functionnalities Generation of Java source then Java bytecode applies thus to « non errored » code and does not require Regression testing

25 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio delivery model

26 © 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio: Delivery model TELEBIG group, through its subsidiary France COBOL, is building a strong, transparent and long term partnership with its PACStudio customers based on a contnuous support scheme Annual subscribtion (including usage, corrective and evolutionary maintenance, hotline in English) Per concurrent developer seat, minimum applies Per module Repository Batch On-line: E-Business (specific) Services: PoC, Pilot, training,…


Download ppt "© 2012 TELEBIG Tous droits réservés / All Rights Reserved. PACStudio, PAC2COBOL and PAC2Java Continuity and modernization of Pacbase applications July."

Similar presentations


Ads by Google