ASNApalooza 2007 By Eduardo Ross VP of R&D - ASNA Introduction to Monarch 3.1.

33
ASNApalooza 2007 ASNApalooza 2007 By Eduardo Ross VP of R&D - ASNA Introduction to Monarch 3.1

Transcript of ASNApalooza 2007 By Eduardo Ross VP of R&D - ASNA Introduction to Monarch 3.1.

ASN

Apalo

oza

20

07

ASN

Apalo

oza

20

07

By Eduardo RossVP of R&D - ASNA

Introduction to Monarch 3.1

ASNA Monarch

• Preserves RPG assets• For interactive applications it targets

ASP.NET• Yields 100% native .NET Assemblies• Data can remain in the iSeries or move to

SQL Server• Benefits

– Fastest Time to Market– Reduced Risk– Best ROI

Set of technologies to assist in the migration of iSeries applications to the .NET platform

Monarch Anatomy

Methodology

ApplicationAnalysis (I)

StrategyPlanning

Migration Agents

ApplicationFramework

AVR/DG Extensions

MI

S

AF

E

Monarch Process

Analysis and

MI

S

AF

E

Monarch Process

Message File

Message File Agent

MsgFile.XML

CLSource

CLAgent

AVR Class

Display FileDDS

Display FileAgent

Display aspx

Dataand Schema

Agent *

PhysicalFile

LogicalFile

PhysicalFile

DataArea

LogicalFile

.NETPrint File

RPG /400RPG ILESource

Printer File DDS

RPGAgent

Printer FileAgent

AVR Class

Printer O-SpecAgent

MI

S

AF

E

Picturing Applications

• Exhibit: A graphical representation of all the programs in a Gallery grouped into Clusters

• Cluster: A group of programs, typically associated by a call graph Cluster

MI

S

AF

E

U

V W

YX Z

Cluster• Cluster Definition

– A group of programs, typically associated by a call graph.

• Natural Cluster– A natural cluster is found by taking all the

programs that can be reached by following the call graph starting at a single entry point program; only the programs that can be reached by following that path and not any other path are part of the cluster.

MI

S

AF

E

Natural Clusters

A

B C

A

G

D E F

KH

U

V W

YX Z

MI

S

AF

E

ClusterU

ClusterA

Clusters

ClusterF

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

Section• Section is a subset of an Exhibits' Clusters:

• Based on Select/Omit type operations

• Cluster Attributes:– Name, Interactive, Variable Calls, Unknown Calls,

Contains a particular program

• Cluster’s Entry Point Program Attributes– Program Name, Program Library Name, Last time

used

• The Cluster belongs to a particular application, i.e.: is called by other Clusters in the Section.

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

MI

S

AF

E

Monarch Migration Agents

Message File

Message File Agent

MsgFile.XML

CLSource

CLAgent

AVR Class

Display FileDDS

Display FileAgent

Display aspx

Dataand Schema

Agent *

PhysicalFile

LogicalFile

PhysicalFile

DataArea

LogicalFile

.NETPrint File

RPG /400RPG ILESource

Printer File DDS

RPGAgent

Printer FileAgent

AVR Class

Printer O-SpecAgent

MI

S

AF

E

MI

S

AF

E

Original Application

MI

S

AF

E

Migrated Application

MI

S

AF

E

Modernized Look

MI

S

AF

E

C R0 TAG C *NOKEY CLEAR FMLKUND C Z-ADD 0 ##KNDR C MOVE '0' *IN98 C MOVE '1' *IN96 C MOVE '0' *IN11 C R1 TAG C EXFMT BELD01 C* F3 - USER SELECTED UPDATE OPTION C *IN03 IFEQ '1' C GOTO ENDE C ENDIF C* F7 - USER SELECTED ANOTHER OPTION C *IN07 IFEQ '1' C READ FMLKUND 11 C *IN11 IFEQ '1' C Z-ADD 0 ##KDNR

RPG/400 AVR

Tag  R0        Clear FMLKUND        ZAdd 0 ##KNDR         Move *Off *IN98         Move *On *IN96         Move *Off *IN11 Tag R1        ExFmt BELD01//* F3 - USER SELECTED UPDATE OPTION        If  ( *IN03 = *On )             Goto ENDE        EndIf//* F7 - USER SELECTED ANOTHER OPTION        If  ( *IN07 = *On )            Read FMLKUND        If  ( *IN11 = *On )             ZAdd 0 ##KDNR

Visual RPG

DclFld zipService Cheeso.ZipcodeLookupService ... Tag  R0        Clear FMLKUND        ZAdd 0 ##KNDR         Move *Off *IN98         Move *On *IN96         Move *Off *IN11 Tag R1        ExFmt BELD01//* F3 - USER SELECTED UPDATE OPTION        If  ( *IN03 = *On )             Goto ENDE        EndIf//* F16 - USER SELECTED Find ZipCode’s City        If  ( *IN16 = *On )             FMCityST = zipService.ZtoCS(FMZipCode)        EndIf//* F7 - USER SELECTED ANOTHER OPTION        If  ( *IN07 = *On )            Read FMLKUND        If  ( *IN11 = *On )             ZAdd 0 ##KDNR

Visual RPG

MI

S

AF

E

New AVR/DG Support

• Full ILE Support– Service Programs– Procedures– CALLB (Including Prototypes)

• Dynamic Program Calls via CALLD– Includes calls using a variable– Introduces the concept of Dynamic References

• QTEMP support for SQL Server

• Create Duplicate FileM

IS

AF

E

New Framework Facilities• Enhancing Monarch Applications with Non-

Displayfile ASPX pages – ShowPage and AcceptCommands– New Command object provides these methods:

• Call, Return, RequestShutdown • SetLdaField, GetLdaField• SetLdcObject, GetLdcObject, RmvLdcObject

• Support for Master Pages• New Browser Server Controls

– Date Fields – Function Key Button– Grouping Panel– Message Panel

MI

S

AF

E

This is Monarch

.NETPrint File

RPG /400RPG ILESource

Printer File DDS

RPGAgent

Printer FileAgent

AVR Class

Printer O-SpecAgent