Documente Academic
Documente Profesional
Documente Cultură
com
IFS AURENA ARCHITECTURE
IFS APPLICATIONS™ 10
IFS ACADEMY
Technology Training
2
WELCOME
● Timings
● Safety
● Ground rules
● Objectives
3
TIMINGS
Lesson Topic Time
1. Introduction to Aurena Framework Day 1
2. Tooling and Project Setup Day 1
3. Working with Projections Day 1
4. Working with Clients Day 2
5. Working with Multiple Elements on a Page Day 2
6. Searching in Aurena Day 3
7. CRUD Actions Day 3
8. Using Commands Day 4
4 ●INTRODUCTION
TIMINGS
Lesson Topic Time
9. Dialogs and Assistants Day 4
10. Layered application Development Day 5
11. Translations in Aurena Day 5
5 ●INTRODUCTION
IFS AURENA ARCHITECTURE
COURSE OBJECTIVES
● Introduction to IFS Aurena Client
● Overview of IFS Aurena Framework
● Overview of IFS OData Provider
● Introduction to *.projection and *.client files
6
HANDOUTS
SAFETY AND GROUND RULES
● Fire Alarm – process – exits – muster
● Respect
● Access
8
ACCESS?
IFS APPLICATIONS™ 10
MAPPING
CASH FLOW EXPENSE PROJECT CONFIGURE & SUPPLY CHAIN DYNAMIC COMPLEX MRO API & ACCESS
MANAGEMENT REPORTING MAKE TO ORDER PLANNING SCHEDULING
PROJECT PAYROLL PROJECT RISK COMPONENT INVENTORY FIELD VEHICLE CONFIGURATION &
FINANCE ADMINISTRATION DELIVERABLES MANAGEMENT REPAIR REPLENISHMENT SERVICE & INFORMATION EXTENSIBILITY
MOBILE MANAGEMENT
ACCOUNTS QUALIFICATIONS & COMPATIBLE PLANNING & DISCRETE SRM & PRODUCT MAINTENANCE
PAYABLE EMPLOYEE UNITS SCHEDULING MANUFACTURING PROCUREMENT ESTIMATE PLANNING LOBBY
DEVELOPMENT MANAGEMENT
ACCOUNTING SUSTAINABILITY LIFECYCLE DOCUMENT REPORTING & ENTERPRISE QUALITY PROCESS IoT BUSINESS
OPERATIONAL
RULES MANAGEMENT MANAGEMENT MANAGEMENT ANALYSIS INTELLIGENCE MANAGEMENT MODELS CONNECTOR
12
TRULY RESPONSIVE
13
TRULY RESPONSIVE
14
TRULY RESPONSIVE
15
IFS AURENA
OVERVIEW
WEB BASED USER EXPERIENCE
● Visually attractive and appealing experience
● HTML5 based and available on all client operating systems
● Rich user interaction patterns
● Responsive to device size and capabilities
TECHNOLOGY ARCHITECTURE
● RESTful backend following OData V4 protocol
● Easily consume IFS Application’s APIs from other clients
DECLARATIVE DEVELOPMENT
● Efficient page development using Marble, targeting web client technologies.
● Recognized tooling, deployment and life-cycle for IFS Aurena pages.
16
IFS AURENA ARCHITECTURE
OVERVIEW
USING ODATA TO WORK WITH A RESTFUL API
17
TRADITIONAL WEB APPLICATION
OLD WEB CLIENT
Initial request
HTML/JavaScript
18
SINGLE PAGE APPLICATION (SPA)
AURENA WEB CLIENT
Initial request
HTML/JavaScript
19
ARCHITECTURE OVERVIEW
KEY COMPONENTS
http(s) JDBC
IFS Web IFS OData Data & Business
Provider Logic
20
TECHNOLOGY STACK
JavaEE Container
JavaScript Engine (Browser) (MWS)
Client Server
21
IFS WEB
CLIENT RUNTIME
● Client runtime that runs in the browser
● Uses IFS OData Provider as a gateway in order to access data and perform operations on
Logical Units.
● Based on AngularJS Framework
● Communication between IFSWeb and IFS OData Provider is done through REST/HTTP.
22
IFS ODATA PROVIDER
HOW TECHNOLOGIES STACK UP
OData
23
IFS ODATA PROVIDER
ABSTRACT VIEW
Aurena
Metadata Apache
Servlet Statements
Loading Olingo
24
IFS AURENA ARCHITECTURE
IFS ODATA PROVIDER
IFS OData Provider is based on Apache OLingo v4.
APACHE OLINGO
● Parse requests into Syntax Trees
● Validate Metadata
● Parse HTTP request content
● Generate JSON results
25
IFS AURENA ARCHITECTURE
IFS ODATA PROVIDER
DATABASE CONNECTIONS
● IFS OData Provider connects to DB through IFS middleware managed connection pool
(jdbc/fndbas).
● Connections are created as IFSSYS database user.
● Each request invokes Login_SYS.Init_Odp_Session_ to initialize the FndUser.
● IFS OData Provider will end the database transaction at the end of each call (Actions).
● Rollback if an exception occurs, Commit if not.
26
DATA TRANSFER
COMMUNICATION BETWEEN IFS WEB, IFS ODATA PROVIDER
AND DATABASE
27
ARCHITECTURE OVERVIEW
REST CALL TO A DATABASE CALL TRANSFORMATION
http(s) JDBC
IFS OData Data &
IFS Web Business
Provider
Logic
HTTP
Perform this request
28
ARCHITECTURE OVERVIEW
REST CALL TO A DATABASE CALL (READ)
http(s) JDBC
IFS OData Data &
IFS Web Business
Provider
Logic
HTTP - GET
AdminPeople.svc/People?$filter=Age gt 18
29
ARCHITECTURE OVERVIEW
REST CALL TO DB CALL (CREATE)
ADMIN_PEOPLE_SVC.CRUD_Create()
http(s) JDBC
IFS OData Data &
IFS Web Business
Provider
Logic
HTTP - POST
AdminPeople.svc/People
{name:John; age: 25}
30
ARCHITECTURE OVERVIEW
REST CALL TO DB CALL (UPDATE)
ADMIN_PEOPLE_SVC.CRUD_Update()
http(s) JDBC
IFS OData Data &
IFS Web Business
Provider
Logic
HTTP - PATCH
AdminPeople.svc/People(PersonId=2)
{age: 35}
31
ARCHITECTURE OVERVIEW
REST CALL TO DB CALL (DELETE)
ADMIN_PEOPLE_SVC.CRUD_Delete()
http(s) JDBC
IFS OData Data &
IFS Web Business
Provider
Logic
HTTP - DELETE
AdminPeople.svc/People(PersonId=2)
32
PROJECTIONS
SEPARATION OF CLIENT LAYOUT AND CLIENT LOGIC
33
PROJECTION Server
Client
Presentation
or
User interaction
34
PROJECTION
CONCEPT IFS Business Logic
35
PROJECTION
CONCEPT IFS Business Logic
36
PROJECTION & CLIENT PAGES
THE CONCEPT
Projections
IFS Business Logic
Entity Utility
Entity
Entity Entity
EntitySets
Application Utility
Client Entity
Server Actions
Client Pages Entity
(UXX FW) Entity
Functions
Utility
Entity
Entity
Entity
37
MODELS AND CODE GENERATION
INTRODUCTION TO *.PROJECTION AND *.CLIENT FILES
38
AURENA MODELS
THE PROJECTION MODEL
Purpose: Specify data sources and operations that will be made available as a well defined
RESTful webservice (based on the 0Data protocol).
● Modelled using Developer Studio
Main Syntax:
● EntitySet
● Read Data
● CUD (Create/Update/Delete) operations
● Functions
● Actions
39
AURENA MODELS
THE CLIENT MODEL
Purpose: Specify visual UI elements, their layout & data bindings to the projection
● Modelled using Developer Studio
Main Syntax:
● Page Top Level “Containers”
● Assistant (i.e. Wizards)
● Group
● List
● Selector Visual Elements placed inside “Containers”
● Command
● Dialogs
● ….
40
PROJECTION AND CLIENT COLLABORATION
CONCEPT IFS Business Logic
Client Model
Projection model
41
CODE GENERATION
METADATA FOR RUNTIME
Deploy to
Generate Code Database
Client Model CLIENT_CPI Client
Metadata
Deploy to
Generate Code Database
Projection Model PROJECTION_SVC Projection
Metadata
+
CRUD/Custom
Method
Wrappers
42
IFS AURENA
IMPORTANT F1 PACKAGES
● MODEL_DESIGN_SYS
● Manage Projection & Client metadata needed by F1
● NAVIGATOR_SYS
● Manage Client Navigation Entries
● FND_ODATA_PROVIDER_SYS
● Retrieve Projection & Client metadata when necessary for the IFS OData Provider
43
ARCHITECTURE OVERVIEW
RUNTIME METADATA
W
R
http(s) JDBC A IFS Business
IFS Web IFS OData P
P Logic & Data
Provider E
R
Projection Client
Metadata Metadata
44
IFS AURENA ARCHITECTURE
OVERVIEW
Application Models
Web Browser
*.projection
*.client IFS Aurena
*.fragment *.plsvc
Database Server
Generator Storage
45
Browser
Aurena
UI
Shell Service
Page Libraries
AngularJS
Page Context Service
System
Projection Client
Code Generator
Table storage
IFS AURENA UI
TOP LEVEL & ELEMENT LEVEL
47
IFS AURENA
Top Bar
Home
SHELL
Navigation to application Recent
pages through the Screens
Functional Navigation
structure Navigator
Panel
Page hosted
in Shell
48
IFS AURENA
PAGE TYPES
LOBBY
IFS Lobby is an integrated part of
Aurena
49
IFS AURENA
PAGE TYPE
Step
ASSISTANT indicator
Guided data entry take
the user step by step to
enter complex data
Commands
50
IFS AURENA Commands
PAGE TYPE
PAGE
View edit and create Single
column
records
Dual
Collapsible data sections column
that can be arranged in
dual columns and
respond to the device size
Collapsible
and orientation Data
Sections
51
IFS AURENA
DATA SECTION
Card
CARD LIST PAGE
Alternative view for lists where alternative
content for each item is preferred
Heading
RICH CONTENT POSSIBLE
Fields
Fields
Flow text (Markdown)
Images
Charts Commands
52
IFS AURENA Choose List
view
DATA SECTIONS
Export to
LIST
Excel
Lists can either be
stand-alone pages or part
Choose
of a detail page.
columns
Filter rows
Sort (click
on column
header)
Row
actions
53
IFS AURENA
DATA SECTIONS
CHARTS
Embed charts on pages or on cards
CHART TYPES
● Line
● Bar
● Pie
● Radar
● etc
54
IFS AURENA
DATA SECTIONS
TIMELINE
View events as a timeline
55
IFS AURENA
DATA SECTIONS
CALENDARS
Visualize items in “Outlook” style of
calendar
CALENDAR VIEWS
● Month view
● Week view
● Work week view
● Day view
● Agenda
56
IFS AURENA
SOME OTHER AVAILABLE UI ELEMENTS
FIELDS
With reference dropdown
DATE SELECTORS
Time part is optional
RATING, STATUS
BADGE, SLIDER
CONTACT VISUALIZATION
57
YOU CAN ONLY BUILD WITH THE BLOCKS
58
NEW MINDSET
DEMO
IFSworld.com
© COPYRIGHT© 2017 BY INDUSTRIAL AND FINANCIAL SYSTEMS, IFS AB (PUBL). ALL RIGHTS RESERVED. THIS MATERIAL AND ITS CONTENT
IS PRODUCED BY THE IFS ACADEMY FOR AUTHORIZED TRAINING PURPOSES ONLY AND REMAINS THE INTELLECTUAL PROPERTY OF IFS.
NEITHER THE MATERIAL OR ITS CONTENT MAY BE COPIED, REPRODUCED, OR DISTRIBUTED WITHOUT IFS’ EXPRESS WRITTEN PERMISSION.
IFS DOES NOT WARRANT, EITHER EXPRESSLY OR IMPLIED, THE ACCURACY, TIMELINESS, OR APPROPRIATENESS OF THE INFORMATION
CONTAINED IN THIS TRAINING MATERIAL AND DISCLAIMS ANY RESPONSIBILITY FOR CONTENT ERRORS, OMISSIONS, OR INFRINGING
MATERIAL. IFS ALSO DISCLAIMS ANY RESPONSIBILITY ASSOCIATED WITH RELYING ON THE INFORMATION PROVIDED IN THIS DOCUMENT
AND ANY AND ALL LIABILITY FOR ANY MATERIAL CONTAINED ON OTHER CHANNELS THAT MAY BE LINKED TO THE IFS TRAINING MATERIAL.