Contents
This article presnets a detailed look at the structure and functionality of Flynet Viewer Studio in three parts.
- Page 1 - Flynet Viewer Studio
- Page 2 - Flynet Viewer Code Generation
- Page 3 - iSeries Source Capture
Overview

Featuring an all-new look and feel based on contemporary Integrated Development Environments (IDE) such as Microsoft's Visual Studio, the new anchor of Flynet Viewer 4.0 development promises faster learning and more productivity for developers. Replacing the existing Mapper application in Flynet Viewer 3.x, the Flynet Viewer Studio offers unprecedented extensibility for both large and small development teams.
New Look and Feel
The existing functions of the Mapper application have been redesigned around a contemporary interface now familiar to most developers. With user configurable views of well-known objects displayed and controlled as movable and resizable panels or panes:
- Explorer: one or more project/definition files in an expandable tree-view control
- Properties: standard properties sheet editor, contextual to the current object with focus
- Navigation: Treeview representation of all navigation between screens
- Tasks: Design view for managing application generation using module and workflow definitions
- Resources: Recording files, available code generation Templates
- Screen List: Active screens as imported from a recording or log file
- Output: Informational logs produced by internal components, wizards and templates
Extended Screen Definitions
New elements and properties have been added to the V3 definitions used to model screens and the data fields contained on them. These include some new elements such as the Labels container, which is used to define and control the fixed text on screens. Labels have been added to provide more input and control over code generation. With the addition of labels, full screen user interfaces can be generated that include both static text (labels) as well as the dynamic field data defined using the current FieldMap and Field elements.
Additional properties will be editable on all objects in the screen model as defined by the code generation templates. Code generation templates can "publish" properties to be visible and editable to the Studio user for the various elements in the screen application model. Examples include "row height" and "number of rows" for screens with multiple-row field maps, or "IsPopUp" for screen definitions.
Code Generation
A flexible set of extensible .NET classes enable plug-in Wizards and Templates (a template is a "light-weight" wizard with a single property sheet managed and accessed in the IDE). Templates are hooked-in to a sophisticated code generation architecture using a set of provided Flynet Viewer .NET class assemblies coupled with the CodeSmith Template-driven code generation technology. Development teams can author their own Wizards or Templates or extend those provided by Flynet in the initial release:
- Application Helper Assembly (extension of existing Mapper Tool that generates c# ScreenMap Class)
- Inquiry only simple Web Service Generator
- Full function tasks-based Web Services Generation
This technology is described in more detail on the next page.
Available Optional Plug-Ins
In addition to the code generation templates, the Wizard Plug-In architecture allows other tools to be built that can gain access to the data elements contained in a project file / definitions file. Wizards can provide any integration functionality including code generation as with the lighter-weight templates.
- Label Importer: parses all recording files and matches screens to screen definitions, identifying and importing all static (non-changing) text as label elements
- iSeries DDS Import Wizard: creates a full screen definition model from source files resident on an accessible iSeries hos
- iSeries DDS Bind Wizard: matches screens defined in an existing definition file with corresponding definitions found in a DDS source file folder. Enables the use of the Sync Wizard with projects created or edited manually.
- iSeries DDS Sync Wizard: identifies any changes to a set of DDS files previously used in the Import or Bind wizards and will update and/or add field definitions based on a set of rules editable by the developer.
<Next>