Subido por diego rodriguez

Diseño de M4Objects

Anuncio
Developing Basic
Functionality
Copyright®2000 Meta4 Spain S.A.

Introduction

Overview

Lesson 1: Creating Basic Meta4Objects

Lesson 2: Creating the Default Menu-driven User Interface

Lesson 3: Working with the Multicompany Feature

Lesson 4: Implementing Change Management

Lesson 5: Applying Reusability

Summarizing What You Have Learned
Copyright®2000 Meta4 Spain S.A.
•1
Module Goals
At the end of this module students will be able to

State the definition of a Meta4Object

List the technologies involved in a Meta4Object

Identify the components of the Meta4Object Structure
and which ones can be reused in other Meta4Objects

Interpret how data are organized in the Meta4Object

Create a default presentation

Create a menu option
Copyright©1999 Meta4 Spain S.A.
Copyright®2000 Meta4 Spain S.A.

Introduction

Overview

Lesson 1: Creating Basic Meta4Objects

Lesson 2: Creating the Default Menu-driven User Interface

Lesson 3: Working with the Multicompany Feature

Lesson 4: Implementing Change Management

Lesson 5: Applying Reusability

Summarizing What You Have Learned
Copyright®2000 Meta4 Spain S.A.
•2
Conceptual Architecture
PRESENTATION
LAYER
REPORTS
SCREENS
Job Scheduler
LOGICAL
LAYER
MENUS
...
QUERIES
Workflow
Events
Meta4Objects
DATA
LAYER
Logical Database (LDB)
(PDB)
(PDB)
DATA
LAYER
REPORTS
SCREENS
MENUS
Job Scheduler
LOGICAL
LAYER
PRESENTATION
LAYER
Copyright®2000 Meta4 Spain S.A.
S E C U R I T Y LAYER
S E C U R I T Y LAYER
Meta4Object = The CORE of Meta4Mind FUNCTIONALITY
...
QUERIES
Workflow
Events
l
Meta4Objects
Logical Database (LDB)
(PDB)
(PDB)Copyright®2000 Meta4 Spain S.A.
•3
Copyright®2000 Meta4 Spain S.A.
How can I CALCULATE the
experience of each HR role
in each Work Unit?
How can I
DISPLAY the
HR history?
Meta4Object
How can I DISPLAY the HR
Role History in different Work
Units in different periods?
How can I DEFINE A
PROCESS to automatically
start calculating experience?
How can I MANIPULATE AND
RETRIEVE HR and Work Unit data
according to different periods?
Copyright®2000 Meta4 Spain S.A.
•4
HR Role History in Work Units
We need to keep track of the Work Units
the HR has been in
during a given period of time
while in a specific Role.
We want to know the Experience (years)
of each HR Role in each Work Unit.
Copyright®2000 Meta4 Spain S.A.
HR Role History in Work Units
Copyright®2000 Meta4 Spain S.A.
•5

Introduction

Overview

Lesson 1: Creating Basic Meta4Objects

Lesson 2: Creating the Default Menu-driven User Interface

Lesson 3: Working with the Multicompany Feature

Lesson 4: Implementing Change Management

Lesson 5: Applying Reusability

Summarizing What You Have Learned
Copyright®2000 Meta4 Spain S.A.
Meta4Object
• Relational Database
• Component Oriented
• Spreadsheet
Integration with XML-based tools
Copyright®2000 Meta4 Spain S.A.
•6
Logical Access
Statement
Meta4Object
...
...
LDB
PDB
Translates Logical
access to a Physical
access
Copyright®2000 Meta4 Spain S.A.
Modularity
Loose Coupling
Encapsulates
Data + Processes
Meta4Object
Incremental Delivery
Reuse
Advantages:
 Compatible with other Object Technology Standards
 Flexible to support a continuously changing environment
 Easy to implement and maintain
Copyright®2000 Meta4 Spain S.A.
•7
Stores Data and Processes
 Information optimally organized in memory
 Rules and calculations easily externalized
 Flexible navigation among rows
Copyright®2000 Meta4 Spain S.A.
Node Structure
Fields
Meta4Object
Concepts
Methods
Properties
ROOT Node
Connectors
PARENT Node
FREE Node
CHILD Node
Copyright®2000 Meta4 Spain S.A.
•8
Multinode
Meta4Object
ROOT Node
Single-node
Meta4Object
…
PARENT Node
ROOT Node
…
Copyright®2000 Meta4 Spain S.A.
Developer view
End-user view
Good design
means good
performance
The way a Meta4Object is designed depends on
what you want to do with data and how
Copyright®2000 Meta4 Spain S.A.
•9
Node Structure
Fields
Node
Structure
=
The skeleton of a Node
Concepts
Methods
METHOD
Properties
REUSABLE UNIT
Field
Property
Concept
Node Structure Items
Copyright®2000 Meta4 Spain S.A.
SCO_HR_ROLE
CXX_WORK_UNIT
CXX_H_HRR_WUNIT
t dc
V9 ID_HR
N4 OR_HR_ROLE
DT1 DT_START
DT2 DT_END
V8
ID_WORK_UNIT
V1 ID_CHANGE REASON
V254 COMMENT
np
S
P
V9 ID_HR
N4 OR_HR_ROLE
N2 OR_HR_PERIOD
DT DT_LAST_WORK
DT1 DT_START
DT2 DT_END
V4 ID_INT_ROLE_TYPE
CK MAIN_ROLE
V3 ID_DURATION
P
V8 ID_WORK_UNIT
V62 N_WORK_UNIT
DT0 DT_START
DT1 DT_END
V3 ID_WORK_UNIT_TYPE
1p
1p
Copyright®2000 Meta4 Spain S.A.
•10
Node Structure
Fields
Concepts
Methods
Properties
Logical Object Columns
Copyright®2000 Meta4 Spain S.A.
Node Structure
Fields
Concepts
Methods
Properties
 LN4 Editor
 C++ functions (calls directly)
 DLLs
Copyright®2000 Meta4 Spain S.A.
•11
Node Structure
Fields
Concepts
Methods
Properties
 LN4 Editor
 C++ functions (calls directly)
Items defined directly by:
 DLLs
•Data type
•Precision
•Scale
Global Parameters
 Variables
Copyright®2000 Meta4 Spain S.A.
Node Structure
Fields
Concepts
Methods
Properties
Items defined directly by:
•Data type
•Precision
•Scale
Global Parameters
 Variables
Copyright®2000 Meta4 Spain S.A.
•12
FIELD1
FIELD2
PROPERTY1
CONCEPT1
…
Defined once only
Applied to
several rows
Methods do not
return a value
They do not have a place
in the spreadsheet
At runtime …
Copyright®2000 Meta4 Spain S.A.
FIELD1
PROPERTY1
FIELD1
CONCEPT1
PROPERTY1
FIELD1
CONCEPT1
PROPERTY1
CONCEPT1
Blocks
Cell
Copyright®2000 Meta4 Spain S.A.
•13
FIELD1
Node
PROPERTY1
FIELD1
PROPERTY1
FIELD1
Block
CONCEPT1
CONCEPT1
PROPERTY1
CONCEPT1
Record
ITEM
Copyright®2000 Meta4 Spain S.A.
NODE
Block Scope
Record Scope
09/28/1999
225 1
2
Node Scope
3
4
226
PARK
OXFORD
TRAFALGAR
GRAFTON
1
2
3
4
ST. STEPHENS
BAKER
LEICESTER
SLOAN
AVENUE
STREET
SQUARE
SQUARE
AVENUE
STREET
STREET
SQUARE
Block 1
Block 2
Copyright®2000 Meta4 Spain S.A.
•14
Connectores: Definition
USED TO:
• Establish logical relationships between records of
different nodes
• Manage memory
• Propagate executions (Methods & Concepts)
• Synchronize property value
Copyright®2000 Meta4 Spain S.A.
Record–Block
(RB)
For each record of the parent node 
one block of memory (n records in the
child)
For each Block of the parent node
Block-Block (BB)  one block of memory in the child
node
No description of the data
organization in memory. It is used
Free
to connect the processes to run.
Copyright®2000 Meta4 Spain S.A.
•15
ROOT NODE:
Work Location
For each parent
record, we load
a block of memory
This is like
a filter
01 USA
02 CANADA
03 MEXICO
CHILD NODE:
W. Unit in W. Location
01 001 MARKETING
002 SALES
R-B
02 101 TRAINING
102 FINANCES
03 201 MARKETING
202 HHRR
Copyright®2000 Meta4 Spain S.A.
The records
are put in several
blocks
PARENT NODE:
Work Unit Location
01 001 MARKETING
01 002 SALES
01 003 ADMINISTR.
CHILD NODE:
HR Role in Work Unit
01
01
002 EM10 Anne Bell
002 EM12 Richard Hanks
CHILD NODE:
HR Role in Work Unit
R-B
01 001 EM01 James Smith
01 001 EM02 Marie White
01 001 EM08 Sam Hardy
01 001 EM90 Rose Beau
Copyright®2000 Meta4 Spain S.A.
•16
All the information is
stored in one block of
memory
PARENT NODE:
Work Unit Location
All the records
are put in one
block
01 001 MARKETING
01 002 SALES
01 003 ADMINISTR.
CHILD NODE:
HR Role in Work Location
01
01
01
01
B-B
001
001
002
002
EM01
EM02
EM10
EM12
James Smith
Marie White
Anne Bell
Richard Hanks
01 001 EM08 Sam Hardy
01 001 EM90 Rose Beau
Copyright®2000 Meta4 Spain S.A.
Block
Propagate
Copyright®2000 Meta4 Spain S.A.
•17
At Runtime
HOW MANY TIMES?
WHAT?
A
INSTANCE 1
B
Node Structure
C
Fields
Concepts
Methods
Properties
A
INSTANCE 2
D
E
WHEN?
HOW?
AUTOLOAD & PARTIAL LOAD
WHERE?
Connectors
C/S BEHAVIOUR
Copyright®2000 Meta4 Spain S.A.
HOW?
Connectors
WHEN?
AUTOLOAD & PARTIAL LOAD
WHERE?
C/S BEHAVIOUR
Copyright®2000 Meta4 Spain S.A.
•18
Copyright®2000 Meta4 Spain S.A.
Meta4Object
Wizard
Meta4Object
Designer
Copyright®2000 Meta4 Spain S.A.
•19
By Default: Data Model Designer

Works for us:

Generating default Meta4Objects

Single Node
– Maintenance
– List/Validate

Multinode
– Direct Data Model Translation
Copyright®2000 Meta4 Spain S.A.
Meta4Object Designer

More powerful than Data Model Designer Wizard

You control the design:



Creating new Meta4Objects
Modifying and completing default single/multi nodes Meta4Object
definitions
Offers you all the Meta4Object technology
Copyright®2000 Meta4 Spain S.A.
•20

Introduction

Overview

Lesson 1: Creating Basic Meta4Objects

Lesson 2: Creating the Default Menu-driven User
Interface

Lesson 3: Working with the Multicompany Feature

Lesson 4: Implementing Change Management

Lesson 5: Applying Reusability

Summarizing What You Have Learned
Copyright®2000 Meta4 Spain S.A.
TABLE
GRAPHS
FORM
Copyright®2000 Meta4 Spain S.A.
•21
Presentations: Frontend Designer

Work for us :

Powerful default Presentations Engine

Generate presentations automatically

No need to tune parameters

Complete Design Assistant (Personalized Presentations)

Tools:

Preview

Test
Copyright®2000 Meta4 Spain S.A.
First Step in presenting a Meta4Object:
Create the presentations for the single-node
Meta4Object:

Maintenance

List/Validate
(Note: Very important in auxiliary tables)
Copyright®2000 Meta4 Spain S.A.
•22
Presentations: Accessing the Tool
Wizard
Palette
Copyright®2000 Meta4 Spain S.A.
Presentations: Frontend Designer
Copyright®2000 Meta4 Spain S.A.
•23
Menus: Two Steps
1) Define the
Task
2) Create the
Menu Option
Copyright®2000 Meta4 Spain S.A.
TASKS = Externalizing Functionality
Example:
TASK
RUNS
Meta4Object
Presentation
Copyright®2000 Meta4 Spain S.A.
•24
SBP_T3
Task Definition
Task Code
Task Parameter Definition
Task QB Filter
Task Security
Copyright®2000 Meta4 Spain S.A.
SBP_T3
Task Definition
Task ID
Task Name
Task Description
Task Security
Task Definition
Meta4 Object ID.
Inherited Meta4 Object Security
Owner Flag
Copyright®2000 Meta4 Spain S.A.
•25
A task can have one or more different code
types associated
SBP_T3
SBP Code
Task Definition
Task Code
Task ID
Code Type:
1 = Windows Client
2 = Job Scheduler
3 = Java Client
4 = Thin Client
Executable Code: Long field for storing the
executable code
Copyright®2000 Meta4 Spain S.A.
Menus: Task Code
“Code executed from a
Windows Client”
SBP_T3
Task Definition
Examples:
•FROM MENU OPTIONS:
1
•Running a Presentation
•Running a Designer
•Running the Query Tool
•Launching a Report ...
•FROM PRESENTATIONS
•IN A WORKFLOW STEP
Copyright®2000 Meta4 Spain S.A.
•26
Menus: Task Code
SBP_T3
“Code executed from
Job Scheduler”
Task Definition
2
Examples:
•Job Scheduler Tasks
This tasks are defined in a special
tool called Task Manager
Copyright®2000 Meta4 Spain S.A.
Menus: Task Code
“Code executed from the
Web Server”
SBP_T3
Task Definition
3
Examples:
•Internet/Intranet
Presentations
Copyright®2000 Meta4 Spain S.A.
•27
Menus: Task Code
SBP_T3
“Thin Client Tasks”
Task Definition
4
•No code for this task.
•Task for defining Security
Copyright®2000 Meta4 Spain S.A.
Windows Client
• From Menu Options
• From Presentations
• In a Workflow Step
SBP_T3
Task Definition
Job Scheduler
• Job Scheduler
Tasks
Task Code
Java Client
• Presentations
Thin Client
• HTML pages
Copyright®2000 Meta4 Spain S.A.
•28
Dll_Name.Class_name
Parameter_Type Parameter_Name, Value
… more parameters lines
Parameter Types
Parameter Values
SetConstStr
SetConstInt
SetConstDate
SetConstBool
“any_string”
any_number
{YYYY-MM-DD HH:MM:SS}
True | False
Copyright®2000 Meta4 Spain S.A.
StForm.PTCMFTASK
SetConstStr #SYS_IDINSTANCE#, “SCH_MT_CURRENCY”
Copyright®2000 Meta4 Spain S.A.
•29
M4Throw.CMFThrowProcess
SetConstStr ID_REPORT, “SCO_IN_INF_APP”
SetConstInt ID_EXECUTION_TYPE, 1
Copyright®2000 Meta4 Spain S.A.
SysTask.TaskExternalEXE
SetConstStr EXE_NAME, “C:\Program Files\Windows NT\Dialer.exe”
Copyright®2000 Meta4 Spain S.A.
•30
Task Parameter Definition
Parameter ID
Parameter Name
SBP_T3
Parameter Description
Type ID :
1 (String)
2 (Number) ...
Task Definition
Parameter Ordinal
Scope Type:
1 (Mandatory)
0 (Optional)
Task Parameter
Definition
Flow Type:
1 (Input)
2 (Output)
Input Task: Task where the parameter receives
a value (fields only valid for LN4 Code Type
Tasks)
Copyright®2000 Meta4 Spain S.A.
SBP_T3
RBP_APPROLE
Task ID
App. Role Task ID: Identifier for the Role permitted to run the Task
Task Role Relationship
Copyright®2000 Meta4 Spain S.A.
•31
Menus: Defining Tasks / Repository Tables
Tables where the Tasks are defined are the following:
•M4RBP_DEF
• M4RBP_CODE and M4RBP_CODE1
• M4RBP_PARAM_DEF
• M4RBP_APPROLE
Copyright®2000 Meta4 Spain S.A.
Menus: Defining Menu Options ...
Copyright®2000 Meta4 Spain S.A.
•32
Menus: Defining Menu Options ...
Copyright®2000 Meta4 Spain S.A.
Menus: Defining Menu Options ...
DRAG & DROP
Copyright®2000 Meta4 Spain S.A.
•33

Introduction

Overview

Lesson 1: Creating Basic Meta4Objects

Lesson 2: Creating the Default Menu-driven User Interface

Lesson 3: Working with the Multicompany Feature

Lesson 4: Implementing Change Management

Lesson 5: Applying Reusability

Summarizing What You Have Learned
Copyright®2000 Meta4 Spain S.A.
Multicompany Meta4Objects
Table type
Non-company
Single company
Multicompany
Meta4Object type
Single company
Data on one company
Multicompany
All data
Non-company
Data on all the companies
Name
All the information is shown
Single company and
non-company table
Copyright®2000 Meta4 Spain S.A.
•34
Multicompany Meta4Objects
Name
Multicompany table
Single company
Information of
selected company
is shown
Meta4Object
Information of
all companies
Multicompany and
is shown
no-company
Meta4Object
Copyright®2000 Meta4 Spain S.A.
Multicompany presentations
Name
Company ID field shown only in
Multicompany
multicompany presentations
table
Name
Same behavior regardless of
the type of presentation
Other
tables
Copyright®2000 Meta4 Spain S.A.
•35

Introduction

Overview

Lesson 1: Creating Basic Meta4Objects

Lesson 2: Creating the Default Menu-driven User Interface

Lesson 3: Working with the Multicompany Feature

Lesson 4: Implementing Change Management

Lesson 5: Applying Reusability

Summarizing What You Have Learned
Copyright®2000 Meta4 Spain S.A.
Data Model Changes
•
•
•
Deleting or Adding Logical Columns
Modifying Extended Type
Modifying Temporality
Meta4Object Changes
•
•
Identification Changes
Node Structure Changes
Presentation Changes
•
Recreate the Presentation
Copyright®2000 Meta4 Spain S.A.
•36
Data Model Changes
Deleting Logical Columns
•
•
•
•
•
Delete the column item
Meta4Object Changes
Presentation Changes
Delete the column
Activate Design
Generate Script
Apply Script
View Dependencies Report
in the Node Structures
that use the deleted column
Recreate the default Presentation
Copyright®2000 Meta4 Spain S.A.
Data Model Changes
Meta4Object Changes
Presentation Changes
Adding Logical Columns
•
•
•
•
•
Add the column
Activate Design
Generate Script
Apply Script
View Dependencies Report
Nulls not allowed
• Add the column item to all NS
Nulls allowed
• Add the column to all NS requiring it
Recreate the default Presentation
Copyright®2000 Meta4 Spain S.A.
•37
Physical
Data type
No. of digits:
no. of integers
no. of decimals
Scale
Identifier
Extended Type Changes
Logical
Default function and parameters
Constraint function and parameters
Translation function and parameters
No Meta4Object Changes
Delete and add a
new logical column
Data Model Changes
Copyright®2000 Meta4 Spain S.A.
Node Structure
Modify Node
Structure Definition
Meta4Object Changes
Node
Modify Connector Definition
Change Node Structure
Presentation Changes
Copyright®2000 Meta4 Spain S.A.
•38

Introduction

Overview

Lesson 1: Creating Basic Meta4Objects

Lesson 2: Creating the Default Menu-driven User Interface

Lesson 3: Working with the Multicompany Feature

Lesson 4: Implementing Change Management

Lesson 5: Applying Reusability

Summarizing What You Have Learned
Copyright®2000 Meta4 Spain S.A.
Reusability
Meta4Object Inheritance
Meta4Object
Meta4Object
Inherit
Meta4Object
+
Meta4Object
Change
Meta4Object
as required
=
Final
Meta4Object
Copyright®2000 Meta4 Spain S.A.
•39
Reusability
At this level we can summarize ...
The most reusable element of a Meta4Object
Node Structure
Fields
Concepts
Methods
Properties

Inheritance of complete Node Structure

Items can be called from different items of
another NS of the same or another M4Object
Copyright®2000 Meta4 Spain S.A.
Copyright©1999 Meta4 Spain S.A.
Node Structures: Reuse vs. Inheritance
Inheritance
Meta4Object_1
Reuse
Meta4Object_1
NS_1
NS_1
Node
Node
Changes
to original
NS only here
Meta4Object_2
NS_1
Node
Locked
!
Items can only be added
to this Meta4Object
You can ADD items here but NOT modify original NS
Changes
to original
NS here
Meta4Object_2
OR
HERE
NS_1
Node
Items added
Modificactions affect all
instances Meta4
of the
NS!!
Copyright®2000
Spain
S.A.
•40
Node Structure Reusability: Node Items
Items are defined in a Node Structure. When you add a new item it will be
seen in all the Meta4Objects that have reused this NS.
And … What if I want to define an item only for being used in MY
Meta4Object?
Node Items:
Defined in the NS but associated with a Node
•Properties
•Concepts
•Methods
Copyright®2000 Meta4 Spain S.A.
Node Structure Reusability: NS Dependencies
NODE STRUCTURE = UNIT OF REUSABILITY
M4O1
NS
Fields
...
Concepts
Methods
M4O3
Properties
M4O2
Copyright®2000 Meta4 Spain S.A.
•41
Node Structure Reusability: NS Dependencies
Reusability = A design criteria
Helping you to take a decision
Report
NS DEPENDENCIES
“List of Node Structures Uses”
Meta4Object ID
Meta4Object Name
Node ID
STD_MT _PERSON
Person
STD_MT_PERSON
SCO_PERSON_DEF Person Directory
SCO_PERSON
SCO_MNG_INTERV
Manage Interview
STD_MT_PERSON
SCO_DP_NEW_APP
New Applicant
STD_MT_PERSON
…
…
…
Node Name
Person
Person
Person
Person
…
Copyright®2000 Meta4 Spain S.A.
Node Structure Reusability: Copy Items
Node Structure
...
Properties
Prop1
Prop1_1
Node Structure
...
Properties
PropA
Prop1_1
Copyright®2000 Meta4 Spain S.A.
•42
Reusability Topics …
One design, multiple uses
 Meta4Object
specialization
 Single-node
Meta4Object
 Tasks
Copyright®2000 Meta4 Spain S.A.
Copyright©1999 Meta4 Spain S.A.
Reusability Topics
Save As... !
Copyright©1999 Meta4 Spain S.A.
Copyright®2000 Meta4 Spain S.A.
•43

Introduction

Overview

Lesson 1: Creating Basic Meta4Objects

Lesson 2: Creating the Default Menu-driven User Interface

Lesson 3: Working with the Multicompany Feature

Lesson 4: Implementing Change Management

Lesson 5: Applying Reusability

Summarizing What You Have Learned
Copyright®2000 Meta4 Spain S.A.
Guidelines for building a Meta4Object
 Create the default Single Node
Meta4Objects for each auxiliary table
 Create the default presentation for each
Single-Node M4Object
 Create the Multi-Node M4Object
 Create the default presentation for the
Multi-Node M4Object
 Create a Menu Option
Copyright®2000 Meta4 Spain S.A.
•44
Menu Tree
Web Page
Menu Option
B.P.
(tasks)
M4 Object 1
Presentation
Copyright®2000 Meta4 Spain S.A.
Events -
B.P.
Level 2
(tasks)
Documented Level 2 Call
(maintained and reusable)
Level 2
CALLS
M4 Object 1
Level 2
Payroll M4O
Level 1
Copyright®2000 Meta4 Spain S.A.
•45
Menus: Two Steps
1) Define the
Task
2) Create the
Menu Option
Copyright®2000 Meta4 Spain S.A.
Menus: Defining tasks
Copyright®2000 Meta4 Spain S.A.
•46
Guidelines to building a Meta4Object
• Create
the default Single Node M4Objects for
each auxiliary table
• Create the default presentation for each
Single-Node M4Object
• Create the Multi-Node M4Object
• Create the default presentation for the MultiNode M4Object
• Create a Menu Option
Copyright®2000 Meta4 Spain S.A.
•47
Descargar