1
®
IBM Software Group
© 2009 IBM CorporationLast Update: 9/10/2009
Rational Developer for IBM i (RDi) Application Diagram Viewer
Featuring: Call Hierarchy and Program Structure diagrams,
2
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation2
Agenda
Application Diagram Viewer– Creating diagrams in RDi– Working with diagrams
– Saving printing diagrams
– Showing language structures in diagrams
2
IBM Software Group | Rational software
3
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Application Diagram overviewApplication Diagram
Provides developers with a graphical overview of the structure of their native IBM i applicationsCurrently supports ILE RPG, ILE COBOL, CL, programs and service programsSource Call Diagram
Call graph showing subroutine, procedure, and program calls
Program Structure DiagramILE program and service program bindings
FeaturesSubroutine and Procedure invocation hierarchyProgram call supportFunctional zoomSave as imagePrint selected diagrams
4
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Application Diagram workbench views
Diagram
Main canvas
Properties
Outline
Palette
3
5
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Launching the Application Diagram
Select resources, right click and select Visualize Application DiagramNative members, *PGMs, *SRVPGMs,
IFS files and folders
Local files and folders
iSeries project resources
Multi-select available within each group
Does not use any unsaved editor changes
6
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Launching from the EditorLaunch for single source member when open in the RSE Source EditorAlways uses current contents of editor (saved or unsaved)
4
7
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Building an Application DiagramProgress Monitor appears while diagram is being built
User can click “Run in Background” and continue workingTwo phases
Resolving resources (download phase)
Scanning resources (building phase)
8
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Source Call Diagram
Diagram opens initially showing only selected members, programs, and service programs
Functional zoom hides details
Click + to see details for member
Aggregated relationship (something inside ORDENTR calls program SLTCUSTR)
Member ORDENTR copies member ORDMAIN
5
9
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Application Diagram - Functional ZoomFunctional Zoom
Start with top level resources and drill down to see lower level details as desired
Diagram opens showing:Top level resources (members, programs and service programs)
Direct relationships between resourcesSource member includes and copies, service program bindings
Aggregated relationships between resourcesAn aggregate relationship is inferred from lower levelsFor example: subroutine CMTORD in member A invokes subroutine VFYCUST in
member B implies an aggregate relationship between member A and member B
Expand members to see a call graph for the memberDirect relationships still shown between top level resources
Aggregate relationships updated to reflect their real source or target
10
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Source Call Diagram
ORDENTR member expanded to view a call graph
ORDENTR member expanded to view a call graph
Subroutine WrtDtaQcalls program QSNDDTAQ
Subroutine SLTPART calls something inside the program SLTPARTR
Subroutine RqsPartcalls subroutine Process
6
11
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
ILE Program and Service Program Bindings
ILE Program and Service Program Bindings
Program QQFENDSVR binds to service program QQFUTILS
Modules WFVTACC and WFVTSVR are bound into program QQFVTSVR
These *SRVPGMswere not part of initial user selection so details are not shown
Selecting a node highlights it’s incoming and outgoing connections
Program StructureDiagram
12
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Application Diagram – CL and Program Calls
CL supported by the Application DiagramIncludes:
CL membersCL procedures and CL subroutinesRelationships for
IncludesSubroutine, procedure and program calls
Program Calls are shown in the Source Call DiagramRepresented as a connection from the calling subroutine or procedure node to
the called program
For *LIBL relative calls:Program object shown in diagram with resolved library nameTooltip on connection and Calls tab of properties view show *LIBL
7
13
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Outline ViewOutline view shows high level overview of the current diagramTwo modes
Thumbnail mode shows graphical overviewShaded area represents the portion of the diagram currently visible in the editor
Text mode shows list of members, programs and service programsExpand member to show list of subroutines and procedures
14
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Palette viewContains
Zoom tool
Note | Text | Note AttachmentCan be opened as separate viewOr attached to editor
Happens automatically if separate
view is not open
8
15
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Application Diagram PropertiesSelect a node or connection in the diagram and the Properties view shows additional details
Click the tabs to see additional types of information. For example, all exported procedures from a service program.
Who calls this procedure (or subroutine) and who it is called by.
Callable Blocks are subroutines and proceduresIncludes are included members and copybooks
16
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation16
Agenda
Application Diagram Viewer– Creating diagrams in RDi
– Working with diagrams– Saving printing diagrams
– Showing language structures in diagrams
9
17
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Application Diagram Actions
Here are just some of the actions you can perform in the application diagramOpen source code and position to definition by double clicking on:
Subroutine or procedureOPM ProgramService programModule inside of an ILE programSubroutine, procedure or program call connection
Positions to source line where the call is madePrint diagram
Document the diagram by adding notes and text
Export diagram to a graphics file
Re-arrange the diagramDiagrams are automatically arranged to minimize overlap and lines crossing
18
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
View source for selected subroutine/procedure
Double click on subroutine/procedure in diagram
Source editor opens member Cursor positioned at first line of
subroutine/procedure
10
19
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
View source for selected incoming connection
Double click on incoming connection Source editor opens member Cursor positioned at line of invocation
of subroutine/procedure
20
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
View source for selected outgoing connection
Double click on outgoing connection Source editor opens member Cursor positioned at line of invocation
of subroutine/procedure
11
21
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Add Notes to document diagram
Notes can be attached to nodes and connectionsUsing either pop-up menu or palette tool
Can be used for documenting the diagramDiagram must be saved or these changes to the diagram are lost
22
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Add text to document diagram
Text is standaloneUse palette tool to add text
Can be used for documenting the diagramHas transparent backgroundIs not attached to anything in diagramChange Properties with workbench toolbar buttons
12
23
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Preferences – Application Diagram
Diagram Layout switched to:RectilinearVertical
Default Diagram Layout :ObliqueHorizontal
24
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Preferences – Text and Fonts
More preferences under General Appearance Color and FontsChange font in diagramChange line colors for incoming and outgoing lines
13
25
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Preferences for individual diagrams
Change appearance of individual diagram Change font in diagramChange line color for connecting lines
26
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Preferences for individual diagrams
Change appearance of individual diagram Change font in diagramChange line color for connecting lines
14
27
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation27
Agenda
Application Diagram Viewer– Creating diagrams in RDi
– Working with diagrams
– Saving printing diagrams– Showing language structures in diagrams
28
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Saving a Diagram
Diagrams are saved to workspace projectsSaved as two files:
Application Diagram model file (appmdl)Contains modelThis file is always required to open a diagram
Application Diagram model diagram file (appmdl_diagram)Contains UI information
Layout, notes, text, colors, fontsOptional for opening a diagram
On workbench menu use File Save …. Select project to save files to
15
29
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Saving a Diagram as image file
Images are saved to windows folder Several image formats:
Select in diagram what you want to saveRight click File Save as Image File…
Select Folder, name , and image formatCheckbox to gen HTML tags to show image in
browser
30
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Printing a Diagram
Print to workstation printer
Select in diagram what you want to printFile Print
Choose diagrams to printChoose scaling
16
31
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation31
Agenda
Application Diagram Viewer– Creating diagrams in RDi– Working with diagrams
– Saving printing diagrams
– Showing language structures in diagrams
32
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Technical Details - RPG
Includes connection between current member and copied member./include
Includes connection between current member and copied member./copy
Connection from the caller to the called program.Program call
Connection from the caller to the called procedureProcedure call
Connection from the caller to the called subroutineSubroutine call
Procedure nodeProcedure
Subroutine nodeSubroutine
Main entry point node Main line codeILE RPG
Representation in DiagramLanguage FeatureSource Language
17
33
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Technical Details - COBOL
Includes connection between current member and copied member.COPY statement
Connection from the calling COBOL procedure to the called program.Program call (CALL)
Connection from the calling COBOL procedure to the called ILE procedure.ILE Procedure call (CALL)
Connection from the calling COBOL procedure to the called COBOL procedure.COBOL Procedure call (PERFORM, GO TO, MERGE, SORT, XML PARSE)
COBOL procedure node. An implicit connection is created from the section node to each contained paragraph node.
Paragraph
COBOL procedure node. An implicit connection is created from the main entry point node to each section node.
Sections
Main entry point node with name as specified on PROGRAM-ID paragraph.Procedure divisionILE COBOL
34
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
Technical Details - CL
Includes connection between current member and copied member.INCLUDE
Connection from the caller to the called program.Program call
Connection from the caller to the called procedureProcedure call
Connection from the caller to the called subroutineSubroutine call
Subroutine node.Subroutine (SUBR / ENDSUBR)
Main entry point node with the same name as the member.Source memberCL
18
35
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation35
SummaryRemote System Explorer (RSE) Application Diagram Viewer
Quick program hierarchy diagram creation Navigate through the applicationDrill down to source code for:
NodesConnections
Program Structure diagram for ILE programsSee what modules are used See binding relations Use properties view to get module details
The easy way to understand your application structureLots of resources available to get you started:
RPG Café with RDi hubwww.ibm.com/software/rational/cafe/community/rpg/rdi
midrange mailing listhttp://lists.midrange.com/mailman/listinfo/wdsci-l
Webcasts and System i magazinesCOMMON and IBM Power Technical ConferencesUser group meetings
36
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation
19
37
Rational Developer for System i
© 2008 IBM Corporation
Rational Developer for System i
© 2008 IBM Corporation37
Trademarks & Disclaimers8 IBM Corporation 1994-2008. All rights reserved.References in this document to IBM products or services do not imply that IBM intends to make them available in every country.The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both:
Lotus, Freelance Graphics, and Word Pro are registered trademarks of Lotus Development Corporation and/or IBM Corporation.Domino is a trademark of Lotus Development Corporation and/or IBM Corporation.
C-bus is a trademark of Corollary, Inc. in the United States, other countries, or both. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. ActionMedia, LANDesk, MMX, Pentium and ProShare are trademarks of Intel Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries.SET and the SET Logo are trademarks owned by SET Secure Electronic Transaction LLC. Other company, product and service names may be trademarks or service marks of others.
Information is provided "AS IS" without warranty of any kind.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.
Information in this presentation concerning non-IBM products was obtained from a supplier of these products, published announcement material, or other publicly available sources and does not constitute an endorsement of such products by IBM. Sources for non-IBM list prices and performance numbers are taken from publicly available information, including vendor announcements and vendor worldwide homepages. IBM has not tested these products and cannot confirm the accuracy of performance, capability, or any other claims related to non-IBM products. Questions on the capability of non-IBM products should be addressed to the supplier of those products.
All statements regarding IBM future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. Contact your local IBM office or IBM authorized reseller for the full text of the specific Statement of Direction.
Some information in this presentation addresses anticipated future capabilities. Such information is not intended as a definitive statement of a commitment to specific levels of performance, function or delivery schedules with respect to any future products. Such commitments are only made in IBM product announcements. The information is presented here to communicate IBM's current investment and development activities as a good faith effort to help with our customers' future planning.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput or performance improvements equivalent to the ratios stated here.
Photographs shown are of engineering prototypes. Changes may be incorporated in production models.
AS/400 IBM(logo) i5/OSAS/400e iSeriese (logo) business OS/400IBM System i