Title: Natural 6 in 2003
1Natural 6 in 2003
- Tom Philpott
- Natural Technical Architect Software AG
2Natural 6.1 for Windows and Unix
- Agenda
- Natural Development Server for Unix
- Natural for Tamino
- Enhanced language
- Change enhancements
- XML toolkit
- Natural Web Interface
- Editors, Wizards, ...
3Natural 6.1 - New Add On Products
- Natural Development Server for Unix
- SPoD V2 support
- Transparent access to FUSER on Unix
- Predict, Construct Natural Engineer PlugIns
supported - Simplified cross platform development
- Natural for Tamino for Windows and Unix
- Transparent access to Tamino
4Single Point of Development (SPoD)Integrating
Software AG Products
Single Point of Development
PredictServer
Development Server PlugIn
Natural ConstructServer
Natural EngineerServer
Natural
Mainframe Navigator Server
Development Server
SPoD Clients
Target Platform
5Architecture Example SPoD V2
Clients
Predict4.3
Development Server PlugIn
Natural Construct4.5
Natural 3.1.6
Natural EngineerServer
Development Server
Mainframe Navigator Server
Development Server
Entire NET-WORK
Mainframe
Unix
6Application View
Compound Application
7Natural Studio NDV UnixCommunication
Single Point of Development for Unix
Naturalprocess
PAL communication
Listener process
TCP/IP port
2. Socket startup parm
1. Connect
Naturalprocess
3. PAL communication
Clients
Unix
8NDV UnixTransaction Processors
Single Point of Development for Unix
Listener process
TCP/IP port
C
C
C
PAL ObjectTransactionDispatcher
TransactionProcessor
Nat
PAL communication
Nat
Nat
NATGWSTG
Clients
Unix
9Natural for Tamino
- The Idea
- / read employees from Tamino
- define data local
- using INS-EMP2
- end-define
- read ins-empl by name WOOLSEY
- print employee
- end-read
- end
- The Answer
10Natural for Tamino
Natural
Tamino
Natural Program
http
httpserver
Natural for Tamino
Natural DML Natural View
Parser
11Natural for Tamino
- DDM generation based on Tamino doctype (XML
Schema) - Xquery FLWR expression generated from Natural DML
- FLWR For Let Where Return
- FLWR example
- for x in input()/Employee
- let a x/Full-Name/Name
- let b x/Full-Adress/city
- where a gt WOOLSEY
- return ltMyOutputgtablt/MyOutputgt
- W3C standard Xquery does not define updates on
node level - Today Natural for Tamino doesnt support updates
on node level - However Insert, Delete, Replace is supported.
12Natural for Tamino vs - Parse
- Natural for Tamino
- Characteristics
- Access through Naturals powerful, easy-to-use
DML - Interaction with business logic through Natural
data structures - Value
- No new skills required
- No third-party technology required
- Long-living and easy-to-maintain business logic
(through database independence) - Reduced development and maintenance costs
- Naturals Parse statement
- Characteristics
- Decomposes XML document into stream of tag/value
pairs - Is an integral part of the language
- Value
- Increased productivity during development
- High flexibility through independence from data
structure - Long-living and easy-to-maintain business logic
(through platform independence)
13Natural 6.1Enhanced Language
- PARSE Statement
- Example
- parse xml xml-data into path xml-path
- name
xml-name - value
xml-value - display xml-path (al60) xml-name (al15)
xml-value (AL11) - end-parse
- Example output
14Natural 6.1Enhanced Language
- Dynamic Arrays
- Arrays of dynamic variables
- Arrays with dynamic number of occurrences
- DEFINE DATA LOCAL
- 01 DYN-ARR (A/110) DYNAMIC
- 01 DYN-GROUP (1)
- 02 NAME (A) DYNAMIC
- 02 AGE (N5)
- END-DEFINE
- Enhanced String processing
- EXAMINE - STARTING ENDING DIRECTION
- Function TRANSLATE Translate string to lower or
upper case - Function TRIM Remove leading and / or trailing
blanks - Large Constants and Init Values more than 253
Bytes
15Natural 6.1Enhanced Language
- Functions (procedures with return values)
- External / Internal Functions
- DEFINE FUNCTION name RETURNS var type
DEFINE DATA PARAMETER ...
END-DEFINEEND-FUNCTION - DEFINE PROTOTYPE name RETURNS .... DEFINE
DATA PARAMETER ...END-PROTOTYPE - MOVE MY-FUNC (ltparm(), parm2gt) TO longtext
- Library SYSEXV, V6-FUNC (and V6-FUNCA)
16Natural 6.1Change Enhancements
- Printing Treeview and Listview
- Fonts in data and program editor
- MINVAL / MAXVAL as system function
- Modifiable fields with edit masks
- Thousand separator
- Append work file
- FUNCTIONS
- New user interface for Debugger
- ...
17Enhanced XML Toolkit
- Use new Natural features
- Parse Statement
- Dynamic arrays
- XML Schema Support
- Encoding of Natural data structures according to
XML Schema - Support XML name spaces
18Enhanced XML Toolkit
- Example Parse \SYSEXINS\RES\Employee_ino4x_schema
.tsd - PARSE XML XML_INPUT INTO PATH XML_PATH VALUE
XML_VALUE - DECIDE ON FIRST XML_PATH
- VALUE 'Employee'
- RESET INITIAL EMPLOYEE
- VALUE 'Employee/_at_Personnel-ID'
- EMPLOYEE.PERSONNEL-ID XML_VALUE
- VALUE 'Employee/Full-Name'
- IGNORE
- ...
19Enhanced Web Interface
- User authentication
- Log In and NSC passwords will be forwarded to
the Natural server. - Make use of the latest Natural language features
- Use dynamic variable instead of (A253/1)
- Supports XSL processing
- W3APPLY-XSLT-XML Apply a stylesheet to the
output page - W3APPLY-XSLT-XML-TO-DYNAMIC Apply a stylesheet
to dynamic variable - Supports html templates
- W3READ-RESOURCE...
- Require EXX611
20Enhanced Web Interface
- Html2nat implemented as PlugIn.
- Basic generation
- Simple program fragment with ON ERROR clause and
W3INIT. - Standalone generation
- Generates program fragment with W3TEXT calls
- Transformation
- Transforms HTML input to W3 calls.
- Supports Templates
- Generates a program to read the HTML file as
template - VARIABLE and W3REPLACE for dynamic content
21Enhanced Web Interface / HTML Template
Windows/Unix
Client
- Natural
- W3READ-ENVIRONMENT
- W3LOAD-RESOURCE
- READ employee...
- W3REPLACE
httpserver
http
CGI/ ISAPI
html
DBMS
22Enhanced Web Interface / XML XSLT
Windows/Unix
Client
- Natural
- W3LOAD-RESOURCE
- READ employee...
- W3REPLACE
- W3APPLY-XSLT
httpserver
http
CGI
html/xml
DBMS
23Enhanced Web Interface
- Web Interface Options
- Set Delete unneccessary white spaces to improve
performance - Using long constants may reduce the number of
W3TEXT calls needed. - Set the delimiter character for variables in
templates as needed
24Enhanced Web Interface
- Benefit
- Enhanced performance
- Reduced number of W3CALLS
- Dynamic variables instead of (A253/1)
- Html design and data processing clearly separated
- Html layout changes do not impact Natural
- Plug in is easier to use.
25Natural 6.1 WindowsImproved editors
- Program Editor
- Expand / Collapse of control structures
- Comment with mouse
- Select and move with mouse
- Automatic upshift of Natural keywords
- Ruler
- Include copycode into editor
- Mark changed lines with comment
- Auto save function
26Natural 6.1 WindowsWizards
- Template support
- Extended Frame Wizard
27Natural 6.1 WindowsWizards
- Data Browser Wizard
- Test tool to get data from Adabas
- Compare results with my program
28Natural 6.1 WindowsSession Parameters
- Change session parameters online.
29Natural 6.1 WindowsNew debugger user interface
30Forever!