Introduction

Imaging Advisor provides information about the status of your application (i.e., the level of "cloud readiness" of your application) with regard to a migration to a cloud provider such as AWS (Amazon Web Services) or Oracle Cloud. A series of checks are run against the application and the result of these checks is presented in a way which makes it easy to see which objects in your application may need work to ensure a smooth migration to the given cloud provider (for example, removal if they are not supported in a cloud environment).

Currently Imaging Advisor provides checks for:

  • Move to AWS (Amazon Web Services)
    • Oracle Server on premise to Amazon Aurora
    • IBM z/OS Mainframe to Amazon EC2
  • Move to Oracle Cloud
    • Oracle Server on premises to Oracle Cloud

More details about checks are provided below.

Accessing the Imaging Advisor

Imaging Advisor is accessed directly from the User Guide - GUI - Welcome Page:

Click to enlarge

You are offered a choice of cloud provider - tiles that are displayed are dependent on the type of source code your application contains. Clicking the service provider will take you directly to the Imaging Advisor UI:

 In Imaging ≥ 2.18, DB Migration tile supports the DB Migration rules. 

Imaging Advisor not visible

If the Imaging Advisor option is not visible, this means that no checks have been run on the current application. In other words:

Upgrading the Imaging Advisor

Different versions of advisors are linked with a particular Rule JSON. By upgrading you will get access to new rules, so upgrading the Imaging Advisor Version is recommended.

You may upgrade the Imgaging Advisor for a selected application using the upgrade icon/feature available in the admin center. The icon to upgrade Advisor is enabled once you select an application. If you select more than one application the icon gets disabled.

Select an application and click the icon (Upgrade Advisor Version). The following pop-up message is displayed.

Click on Upgrade. The following confirmation message is displayed.

 If the advisor upgrade fails, then the following notification is displayed.

Interface

≥ 2.19

In 2.19 screens for displaying intermediate branching steps are provided for smooth navigation to the checks. Information is provided in a method which lets you to explore. You may explore each rule, the branches under each rule are displayed depending on the type of selection/s you make.

Click on View Documentation, to view the Rationale,

In ≥ 2.19,

  • Advisor Output Table Templates are provided for Object Inbound Calls.
  • Advisor table is made dynamic based on templates provided by the “rules manager”. Inbound Template is integrated with the Default Template (In the default template, Object Type and Full Name are displayed. In the Inbound template, Link Type, Caller Full Name and Callee Full Name are displayed).
  • Users can export the advisor table in CSV format for all templates.

         

≥ 2.18

Information is provided in a method which lets you to explore. You may explore each rule, the branches under each rule depending on the type of selection/s you make. 

Selected row is persisted on reload and also the selected object in the graph is highligted.

Annotate and/or Tag Objects 

You can either Annotate and/or Tag objects from advisor view. This helps if you plan for futher investigation. The Annotate and Tag icons (next to the Object Type) are enabled if they are associated with Annotate or Tag.

You need to select one or multiple objects to enable Annotate and Tag button. 


≤ 2.17

Information provided is divided into three categories:

  • Quick Wins - an inventory of items that require little or no changes to be compliant with cloud provider requirements
  • Minor Cleanup - an inventory of items that require some minor refactoring
  • Major Cleanup - an inventory of items that require major refactoring

Above categories/tiles will be enabled only when there are identified checks classified for the respective categories.

Get more insights

Clicking any of the Get more insights buttons will lead you to the following screen, which lists each Check (provided by CAST), associated with the selected application, which potentially need fixing or updating before a migration to a cloud provider. In the example below, for the "Quick wins" option, there are three "points of interest" (i.e. checks) which should be fixed before a migration, and for each of these the number of components that are impacted are also listed:

Click to enlarge

The following screen is displayed when you click on a Check. The screen provides an interactive list of the objects impacted by the specific criteria (on the left-hand side). Selecting an object in the left-hand panel shows all the other objects accessing the selected object on the right side. Object properties are also displayed when the object is selected:

Click to enlarge

Description

This section provides a more detailed description of the check? Click show more to view the entire description:

Left hand panel

Lists the objects impacted by the selected criterion as follows:

  • Object type
  • Object name
  • Transactions - is the object involved in a transaction?)
  • Lines of Code - number of lines of code for the selected object
  • Source Code - displays the object's source code, provided that the source code viewer has been configured (see Configure the source code viewer and Multiple Bookmarks):

Right hand panel - map/investigate

Selecting an object in the left hand panel shows the selected object and, depending on the criteria, other objects as well. Selecting an object in the right hand panel will automatically display the object's "Properties":

Use the Investigate button to move into a custom view directly on the selected object:

Multiple Bookmarks 

In ≥ 2.18.0, multiple bookmarks (with identified violations) on specific objects based on Imaging Advisor rules for "Moving to Oracle Cloud" are displayed/highlighted.

Click on View. Following screen is displayed in a new window with multiple bookmarks (with identified violations) on the selected objects based on Imaging Advisor rules for "Move to Oracle Cloud" (or AWS (Amazon Web Services)) along with the total number of occurrences of the violations. 

Sharing Imaging Advisor information

In ≥ 2.18.0, RuleID is included in the advisor URL to make the link sharable. This helps you to get direct to a specific rule in Imaging Advisor, without having to click through all the steps from the Welcome Page. You can share the link in an email or in a message.

Checks provided in Imaging Advisor

The checks provided by the Imaging Advisor are as follows:

Built into CAST Imaging

These checks are currently triggered and executed when the application is imported into CAST Imaging:

Move to AWS

IBM z/OS Mainframe

Check IDStepDescriptionIntroduced inUpdated in (both callers and procedures are displayed)
1202014Mainframe to AWS with Automated Code RefactorPDS Files: Programs/Utilities manipulating Data2.18.0-beta1-
1202015Mainframe to AWS with Automated Code RefactorGDG Files: Programs/Utilities manipulating Data2.18.0-beta1-
1202018Mainframe to AWS with Automated Code RefactorIdentify all Cobol Programs using APPC communication protocol2.17.0-beta42.17.1-funcrel
1202019Mainframe to AWS with Automated Code RefactorIdentify all Cobol Programs using CTG communication protocol2.17.0-beta42.17.1-funcrel
1202020Mainframe to AWS with Automated Code RefactorIdentify all Cobol Programs using IBM MQSeries communication protocol2.17.0-beta42.17.1-funcrel
1202021Mainframe to AWS by rehosting/replatforming your application on EC2Identifying Cobol Statements Leading to security issues2.18.0-alpha1
1202022Mainframe to AWS by rehosting/replatforming your application on EC2Identify all Cobol Statements and Synataxes that need to be reviewed before migration to the cloud2.18.0-alpha1
1202030Mainframe to AWS with Automated Code RefactorGDG Files defined but not used2.18.0-beta1-
1202031Mainframe to AWS with Automated Code RefactorIdentify JCL Jobs and JCL Procedures calling CA-7 Scheduler Utilities and the Programs launched by these jobs2.17.0-beta42.17.1-funcrel
1202032Mainframe to AWS with Automated Code RefactorIdentify all JCL Jobs and JCL Procedures calling Control-M Scheduler utilities and the Programs launched by these jobs2.17.0-beta42.17.1-funcrel
1202033Mainframe to AWS with Automated Code RefactorIdentify all JCL Jobs and JCL Procedures calling EPS Scheduler Utilities and the Programs launched by these jobs2.17.0-beta42.17.1-funcrel
1202034Mainframe to AWS with Automated Code RefactorIdentify JCL Jobs and JCL Procedures calling TWS Scheduler Utilities. Identify Programs launched by these jobs2.17.0-beta52.17.1-funcrel
1202035Mainframe to AWS with Automated Code RefactorIdentify JCL Jobs and JCL Procedures calling CA-ACF2 utilities. Identify Programs launched by these jobs2.17.0-beta52.17.1-funcrel
1202036Mainframe to AWS with Automated Code RefactorIdentify JCL Jobs and JCL Procedure calling EzSocket utilities2.17.0-beta52.17.1-funcrel
1202037Mainframe to AWS with Automated Code RefactorIdentify JCL Jobs and JCL Procedures calling AR/CTL utilities. Identify Programs launched by these jobs2.17.0-beta52.17.1-funcrel
1202038Mainframe to AWS with Automated Code RefactorIdentify JCL Jobs and JCL Procedures calling StreamWeaver Utilities. Identify Programs launched by these jobs2.17.0-beta52.17.1-funcrel
1202039Mainframe to AWS with Automated Code RefactorIdentify JCL Jobs and JCL Procedure calling FTP utilities2.17.0-beta52.17.1-funcrel
1202040Mainframe to AWS with Automated Code RefactorIdentify JCL Jobs and JCL Procedure calling NDM utilities2.17.0-beta52.17.1-funcrel
1202041Mainframe to AWS with Automated Code RefactorIdentify JCL Jobs and JCL Procedure calling Co:Z SFTP utilities2.17.0-beta52.17.1-funcrel
1202043Mainframe to AWS with Automated Code RefactorFor each ESDS VSAM dataset called by Cobol Program: LDS VSAM dataset + Calling Program + ACCESS MODE. For each ESDS VSAM dataset called by Any Utility: LDS VSAM dataset + Calling Any Utility + ACCESS MODE2.18.0-alpha1-
1202048Mainframe to AWS with Automated Code RefactorPDS Files Defined but not used2.18.0-beta1-
1202049Mainframe to AWS with Automated Code RefactorIdentify Cobol Programs publishing Messages to queue2.17.0-beta42.17.1-funcrel
1202050Mainframe to AWS with Automated Code RefactorIdentify Cobol Programs subscribing to an IBM MQ2.17.0-beta52.17.1-funcrel
1202051Mainframe to AWS with Automated Code RefactorFor each ESDS VSAM dataset called by Cobol Program: RRDS VSAM dataset + Calling Program + ACCESS MODE. For each ESDS VSAM dataset called by Any Utility: RRDS VSAM dataset + Calling Any Utility + ACCESS MODE2.18.0-alpha1-
1202057Mainframe to AWS with Automated Code RefactorGreen screen accessed by cobol program linked to database storage2.18.0-beta1-
1202061Mainframe to AWS with Automated Code RefactorGreen screen accessed by cobol program linked to MQ utilities2.18.0-beta1-
1202065Mainframe to AWS with Automated Code RefactorVSAM files defined but not used2.17.0-beta5-
1202075Mainframe to AWS by rehosting/replatforming your application on EC2Identify application's adherence to Assembler technology2.18.0-alpha1-
1202076Mainframe to AWS by rehosting/replatforming your application on EC2Identify application's adherence to Easytreive technology2.18.0-alpha1-
1202078Mainframe to AWS with Automated Code RefactorIdentify application's adherence to Assembler technology2.18.0-alpha1-
1202079Mainframe to AWS with Automated Code RefactorIdentify application's adherence to Easytreive technology2.18.0-alpha1-
1202080Mainframe to AWS with Automated Code RefactorIdentify application's adherence to Rexx technology2.18.0-alpha1-
1202085Mainframe to AWS with Automated Code RefactorCobol Program accessing IMS Segement2.18.0-alpha2-
1202086Mainframe to AWS with Automated Code RefactorMissing IMS Segment2.18.0-beta1-
1202087Mainframe to AWS with Automated Code RefactorAccess To IMS DB has been identfied2.18.0-alpha2-
1202093Mainframe to AWS with Automated Code RefactorCobol Program accessing IMS GSAM2.18.0-beta1-
1202095Mainframe to AWS with Automated Code RefactorIdentify application's adherence to Focus technology2.18.0-alpha1-
1202097Mainframe to AWS by rehosting/replatforming your application on EC2Identify application's adherence to Rexx technology2.18.0-alpha1-
1202098Mainframe to AWS by rehosting/replatforming your application on EC2Identify application's adherence to Focus technology2.18.0-alpha1-
1202064Data Migration to AWS Services

CICS Data Set: Programs/utilities manipulating data

2.18.0-beta2
1202148Data Migration to AWS ServicesCobol Program using CICS transactions2.18.0-beta2
1202149Data Migration to AWS ServicesUnknown CICS Transactions2.18.0-beta2
1202150Data Migration to AWS ServicesCobol Program using CICS Transient data2.18.0-beta2
1202151Data Migration to AWS ServicesUnknown Transient Data2.18.0-beta2
1202181Data Migration to AWS ServicesCobol Programs candidate for AWS Lambda function conversion: No Data Access2.18.0-funcrel
1202001Data Migration to AWS ServicesCobol Programs candidate for AWS Lambda function conversion: Data-dependent Programs2.18.0-funcrel
1202027Data Migration to AWS ServicesCobol Programs candidate for AWS Lambda function conversion: Data-independent programs2.18.0-funcrel
1202178Data Migration to AWS ServicesSQL Server Database to Amazon Aurora with PostgreSQL: Object Type Remediation2.19.0-alpha2
1202207Data Migration to AWS ServicesGreen Screen access by program linked to database storage2.19.0-alpha2
1202208Data Migration to AWS ServicesGreen screen accessed by program linked to MQ utilities2.19.0-alpha2
1202209Data Migration to AWS ServicesGreen screen accessed by program linked to datafile storage2.19.0-alpha2
1202212Data Migration to AWS ServicesMissing Green Screens2.19.0-alpha2
1202214Data Migration to AWS ServicesCobol Program using CICS transactions2.19.0-alpha2
1202215Data Migration to AWS ServicesUnknown CICS Transactions2.19.0-alpha2
1106130Data Migration to AWS ServicesEnsure DATETIMEOFFSET data type is not used2.19.0-alpha2
1106128Data Migration to AWS ServicesEnsure NCHAR data type is not used2.19.0-alpha2
1106126Data Migration to AWS ServicesEnsure NTEXT data type is not used2.19.0-alpha2
1106124Data Migration to AWS ServicesEnsure NVARCHAR data type is not used2.19.0-alpha2
1106122Data Migration to AWS ServicesEnsure ROWVERSION data type is not used2.19.0-alpha2
1106120Data Migration to AWS ServicesEnsure SMALLMONEY data type is not used2.19.0-alpha2
1106118Data Migration to AWS ServicesEnsure TIMESTAMP data type is not used2.19.0-alpha2
1106116Data Migration to AWS ServicesEnsure TINYINT data type is not used2.19.0-alpha2
1106114Data Migration to AWS ServicesEnsure VARBINARY data type is not used2.19.0-alpha2
1106112Data Migration to AWS ServicesEnsure FROM keyword is used in DELETE Statement2.19.0-alpha2
1106144Data Migration to AWS ServicesEnsure SQL Server SET/SELECT variable is not used2.19.0-alpha2
1106140Data Migration to AWS ServicesEnsure SQL server Scalar Function ISNULL is not used2.19.0-alpha2
1106138Data Migration to AWS ServicesEnsure SQL server Scalar Function GETDATE is not used2.19.0-alpha2
1106136Data Migration to AWS ServicesEnsure SQL server Scalar Function DATEDIFF is not used2.19.0-alpha2
1106134Data Migration to AWS ServicesEnsure SQL server Scalar Function DATEADD is not used2.19.0-alpha2
1106132Data Migration to AWS ServicesEnsure SQL server Scalar Function CONVERT is not used2.19.0-alpha2
1106110Data Migration to AWS ServicesEnsure MERGE statement is not used2.19.0-alpha2

Provided by extensions

The following extensions provide specific checks:

Prerequisites

The application must be analyzed with the inclusion of the extension listed below.

com.castsoftware.sql.movetocloud

  • Targets Oracle Server (PL/SQL) objects only.
  • For more information about the checks provided, see RDBMS Move to Cloud
  • Move to AWS (Amazon Web Services) > Oracle Database to Amazon Aurora
  • Move to Oracle Cloud > Oracle Database to Oracle Cloud

The following are available:

Check IDDescriptionIntroduced in
1106000Ensure unsupported PL/SQL packages are not used2.17.0-funcrel
1106002Ensure MERGE statement is not used2.18.0-beta1
1106004Ensure CLOB data type is not used2.17.0-funcrel
1106006Ensure PL/SQL package UTL_FILE is not used2.18.0-beta1
1106008Ensure PL/SQL package DBMS_SCHEDULER is not used2.18.0-beta1
1106010Ensure PL/SQL package DBMS_RANDOM is not used2.18.0-beta1
1106012Ensure PL/SQL package DBMS_OUTPUT is not used2.18.0-beta1
1106014Ensure PL/SQL package DBMS_AUTO_INDE is not used2.18.0-beta1
1106016Ensure PL/SQL packages UTL_HTTP and UTL_SMTP are not used2.17.0-funcrel
1106018Ensure PL/SQL procedures DBMS_LOGMNR.ADD_LOGFILE and DBMS_LOGMNR.REMOVE_LOGFILE are not used2.17.0-funcrel
1106020Ensure LOB data types are not used2.18.0-beta1
1106022 Ensure you don't have unsupported option GENERATED BY DEFAULT for identity columns2.18.0-beta1
1106024Ensure SHARDED tables are not used2.17.0-funcrel
1106026Ensure XMLType columns are not used2.17.0-funcrel
1106028Ensure CLUSTER clause in CREATE TABLE statements is not used2.17.0-funcrel
1106030Ensure INDEX-ORGANIZED TABLEs (IOT) are not used2.17.0-funcrel
1106032Ensure ROWID data type is not used2.17.0-funcrel
1106036Ensure Database Links are not used2.18.0-beta1
1106038Ensure Unused Column is not used2.18.0-beta1
1106040Ensure READ ONLY Table is not used2.18.0-beta1
1106042Ensure Invisible Inde is not used2.18.0-beta1
1106044Ensure PL/SQL packages UTL_MAIL and UTL_SMTP are not used2.18.0-beta1
1106052Ensure BLOB data type is not used2.18.0-beta1
1106054Ensure CLOB data type is not used2.18.0-beta1
1106058Ensure VARCHAR FOR BIT DATA data type is not used2.18.0-beta1
1106064Ensure NCHAR VARYING data type is not used2.18.0-beta1
1106066Ensure GRAPHIC data type is not used2.18.0-beta1
1106068Ensure FLOAT data type is not used2.18.0-beta1
1106070Ensure DECFLOAT data type is not used2.18.0-beta1
1106072Ensure DB2 Scalar Function DATE is not used2.18.0-beta1
1106074Ensure DB2 Scalar Function SMALLINT is not used2.18.0-beta1
1106076Ensure DB2 Scalar Function LCASE is not used2.18.0-beta1
1106078Ensure DB2 Scalar Function POSSTR is not used2.18.0-beta1
1106080Ensure DB2 Scalar Function RAND is not used2.18.0-beta1
1106082Ensure DB2 Scalar Function TIMESTAMP is not used2.18.0-beta1
1106084Ensure DB2 Scalar Function CHAR is not used2.18.0-beta1
1106088Ensure DB2 Scalar Function YEAR is not used2.18.0-beta1
1106090Ensure DB2 Scalar Function MONTH is not used2.18.0-beta1
1106092Ensure DB2 Scalar Functions DAY/DAYS are not used2.18.0-beta1
1106094Ensure DB2 Scalar Functions DECIMAL/DEC are not used2.18.0-beta1
1106096Ensure PARTITION is not used in ALTER TABLE statements2.18.0-beta1
1106100Ensure DECLARE cursor is not used2.18.0-beta1
1106102Ensure DB2 DECLARE variable is not used2.18.0-beta1
1106104Ensure SYSIBM.SYSDUMMY1 table is not used2.18.0-beta1
1106106Ensure VALUES statement is not used2.18.0-beta1
1106108Ensure DB2 SET variable is not used2.18.0-beta1