Presentation is loading. Please wait.

Presentation is loading. Please wait.

PACStudio, PAC2COBOL and PAC2Java Continuity and modernization of Pacbase applications July 2012 Patricia PASTORELLI Bernard ZISERMANN.

Similar presentations


Presentation on theme: "PACStudio, PAC2COBOL and PAC2Java Continuity and modernization of Pacbase applications July 2012 Patricia PASTORELLI Bernard ZISERMANN."— Presentation transcript:

1 PACStudio, PAC2COBOL and PAC2Java Continuity and modernization of Pacbase applications July 2012
Patricia PASTORELLI Bernard ZISERMANN

2 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 PACStudio overview 3

4 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 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 developer’s workstation Replacement of highly used VAP « sessions » via a sophisticated implementation, using CVS or SubVersion

6 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 today’s commodity workstations and servers Example dictionnary of: 2000 programs, elements, segments et 5000 dialogs=> 1,5 Gigabytes Organisation per libraries with cross references

7 PACStudio: Supported entities
Library Keyword Data Element Definition Description Logical View Segment Details Report Preview Structural details List of categories Program and Macro Definition Macro call Logical View call Start lines Specific handling List of working storage Screen Segement call Appel de segment Appel de macro Dialog complements

8 PACStudio: Supported entities (continued)
Dialogue Text Document Format Guide Database block Method Meta Entity User Relation User Entity User Entity Extension

9 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 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 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 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 PACStudio live demonstration
13

14 PACStudio differentiating points
14

15 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 PAC2COBOL overview 16

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

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

23 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 28-47 Code Quality measures Certain inspection rules (defaults) are counted. Used to compute the indicators above.

24 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 PACStudio delivery model
25

26 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 "PACStudio, PAC2COBOL and PAC2Java Continuity and modernization of Pacbase applications July 2012 Patricia PASTORELLI Bernard ZISERMANN."

Similar presentations


Ads by Google