Anda di halaman 1dari 21

www.IFSWORLD.

com
LAYERED APPLICATION
ARCHITECTURE
Introduction

IFS TECHNOLOGY TRAINING TEAM

© 2015 IFS
ARCHITECTURAL CHANGES OVER TIME

IFSAPP75 SP4 IFSAPP8 IFSAPP9


 IEE client instead of Centura  Models in Developer Studio  Layered Application
client instead of Rational Rose Architecture

 Report Designer instead of  RDL instead of XSL for report  New Session Handling
Report Builder layouts

3
© 2015 IFS
DEFINITION
LAYERED APPLICATION ARCHITECTURE

Make a clear separation between core code,


localizations/extension and customizations.

4
© 2015 IFS
BACKGROUND

The Layered Application Architecture (LAA) was initiated as a solution to the


“Intrusive customization” problem due to high upgrade costs.
System integrators/partners cannot change R&D core code
Ownership of Code
Supportability
Extensions and localizations are expensive to maintain, support and
upgrade.
Layered Application Architecture provides a new way to develop these.
LAA is one step to be able to have a more efficient support process with “IFS
Updates”, previously known as “Accumulated Group Patches or IFS Update”

5
© 2015 IFS
BACKGROUND
Today IFS Applications 9

Configuration
Configuration

Customization X
Customization X, Y & Z
P
Complete Customer Solution

Customization Y Patches (IFS Update)

P
Standard functionality
Standard functionality
P
P

Customization Z

6
© 2015 IFS
CONCEPT

LAYERS IN IFS APPLICATIONS 9

Personalization
Configuration
Configuration

Customization

Localization/Extension Code

Core

Base Technical Platform

7
© 2015 IFS
RESULTS
IFS Applications 9
EASIER TO UPGRADE SOLUTION
Lower cost
Configuration
Upgrade more frequently
EVERYBODY WINS
Customization X, Y & Z
IFS Customer
Patches (IFS Update)
Lower costs and a better suitable solution
IFS System Integrator
Easier to implement
Standard functionality IFS
Less hours on supporting old versions, more
hours to develop new functionality
A BASE FOR IFS UPDATE CONCEPT !

8
© 2015 IFS
CODE LAYERS
APPLICATION CODE IS SEPARATED IN LAYERS
Code layers are separated with different source files or folders

PLSQL

TRANSLATIONS

CLIENT

9
© 2015 IFS
LAYERED SUPPORT

LAYERED RUNTIME TECHNOLOGIES


Application Models (IFS Developer Studio)
Business logic (PL/SQL)
ApplicationForms pages (forms, tables and dialogs)
Translations
Presentation objects

TECHNOLOGIES WHERE NO LAYERED SUPPORT EXISTS


Reports
Middle Tier Services and Activities
IFS Webclient pages
Special Components

10
© 2015 IFS
DATABASE CODE GENERATION

SOURCE CODE (SVN) DEPLOYABLE CODE

*.views *.api

*.storage *.apy
Code
*.plsql Generator *.cre

Model File *.ins

 IFS Developer Studio


 IFS Installer
 Other Tools

11
© 2015 IFS
LAYERED BUSINESS LOGIC
IMPLEMENTATION
CORE - LAYER
PROCEDURE Validate_Order_Date(
order_no_ IN VARCHAR2 ) IS
BEGIN
IF Get_Order_Date(order_no_ ) < sysdate THEN
Error_Sys.Appl_General(‘ERROR: Before today.‘);
END IF;
END Validate_Order_Date;

CUSTOMIZATIONS - LAYER
--@Override
PROCEDURE Validate_Order_Date (
order_no_ IN VARCHAR2 ) IS
BEGIN
IF Get_State_Db(order_no_) <> ’Cancelled’ THEN
Error_Sys.Appl_General(‘NOTCANC: Cancelled…‘);
END IF;
super(order_no_);
12
END Validate_Order_Date; © 2015 IFS
LAYERED BUSINESS LOGIC
IMPLEMENTATION
PROCEDURE Validate_Order_Date (
order_no_ IN VARCHAR2 )IS

PROCEDURE Core (
order_no_ IN VARCHAR2 ) IS
BEGIN

IF Get_Order_Date(order_no_ ) < sysdate THEN


Error_Sys.Appl_General(‘ERROR: Before today.‘);
END IF

END Core;

PROCEDURE Cust (
order_no_ IN VARCHAR2 ) IS
BEGIN

IF Get_State_Db(order_no_) <> ’Cancelled’ THEN


Error_Sys.Appl_General(‘NOTCANC: Cancelled…‘);
END IF;
Core(order_no_);
END Cust;
BEGIN
General_SYS.Init_Method(lu_name_, 'Tst_Order_API', ‘Validate_Order_Date‘…);
Cust(order_no_);
END Validate_Order_Date;

13
© 2015 IFS
LAYERED APPLICATION MODEL
IMPLEMENTATION
APPLICATION MODEL IS NOW AN ACTIVE PART OF IFS APPLICATIONS SOURCE CODE
Template code is 100% generated from model
Behaviour changes are achived by overriding template methods
(not changing template methods)

ADDING AN ATTRIBUTE

Do not edit generated files!

14
© 2015 IFS
LAYERED APPLICATIONFORMS CLIENT
IMPLEMENTATION
BASED ON FORM VISUAL INHERTIANCE

Layers separated per assembly (DLL).


One layer per assembly
15
© 2015 IFS
LAYERED TRANSLATION
IMPLEMENTATION
LAYER IN TRANSLATION MANAGER

Scan/Export/Import of translation per layer.


Scanning of logical units done through file scanning (not deployed DB objects)
Translation overrides

16
© 2015 IFS
LAYERED PRESENTATION OBJECT
IMPLEMENTATION
PRESENTATION OBJECT (PO) SCANNER
Presentation Object scanner read layer from client source
New Presentation Object dependency type, inherited for layered forms
To start a layered form, the layered Presentation Object must be granted

17
© 2015 IFS
TOOLING SUPPORT

IFS DEVELOPER STUDIO

IFS APPLICATIONFORMS CLIENT DEVELOPMENT TOOLS

IFS SOLUTION DEVELOPER

IFS CONFIGBUILDER & IFS INSTALLER

18
© 2015 IFS
APPLICATIONS 9 - CORE CODE CHANGES

APPLICATION MODELS
All models has been verified and changed to match implementation
New model types and model properties added and used to support common
application development scenarios

BUSINESS LOGIC
Template code has been separated from business logic files.
Template overrides used where changes/additions was needed
Business logic resides in new files (.plsql & .views)

APPLICATIONFORMS CLIENTS
Old style, ported child tables (nested child tables) transformed into
ApplicationForms child tables (cChildTable instances).
All over changes regarding navigation, protection level etc (scripted by tool)
19
© 2015 IFS
LAA DESIGN PRINCIPLES
TECHNICAL DOCUMENTATION
http://wis.ifsworld.com/f1docs/apps9/
http://wis.ifsworld.com/f1docs/apps9/Foundation1/010_overview/100_arc
hitecture/010_LAA_overview/default.htm

20
© 2015 IFS
www.IFSWORLD.com

THIS DOCUMENT MAY CONTAIN STATEMENTS OF POSSIBLE FUTURE FUNCTIONALITY FOR IFS’S SOFTWARE PRODUCTS AND
TECHNOLOGY. SUCH STATEMENTS OF FUTURE FUNCTIONALITY ARE FOR INFORMATION PURPOSES ONLY AND SHOULD NOT BE
INTERPRETED AS ANY COMMITMENT OR REPRESENTATION. IFS AND ALL IFS PRODUCT NAMES ARE TRADEMARKS OF IFS. THE
NAMES OF ACTUAL COMPANIES AND PRODUCTS MENTIONED HEREIN MAY BE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

© 2015 IFS

Anda mungkin juga menyukai