OERA in practice: NSRA

OERA in practice:
NSRA
David Abdala
Nómade Soft SRL
OERA in practice:
NSRA

Background

Theory

Writing applications

Runtime Behaviour

Common Infrastructure Layer

Questions
OERA in practice:

NSRA
Background

Why building a full framework

Goals of the framework
OERA in practice:

NSRA
Why building a full framework

There wasn't a framework that fullfils all our
requirements.

There wasn't OOABL frameworks to use.

Previous experiences in migrations with third party
frameworks failed.
OERA in practice:

NSRA
Goals of the framework

Storage independent

Oriented to services

Applications common requirements already solved




Report generation / retrieval / printing
Background execution
Security
Global data filters

Familiar to ABL programmers

Low migration impact
OERA in practice:
NSRA

Background

Theory

Writing applications

Runtime Behaviour

Common Infrastructure Layer

Questions
OERA in practice:

NSRA
Theory

Layers

Design time VS runtime

Data entity VS business entity

PDS role and TMTT issue
OERA in practice:

NSRA
Layers

Design time VS runtime
OERA in practice:

NSRA
Data entity VS business entity
OERA in practice:

NSRA
PDS role and TMTT issue

ProDataSet role
Is the “glue” of the
Data Entity, inside the
Business Entity.
Used by
proDataSource for
filling and saving.
OERA in practice:

NSRA
PDS role and TMTT issue

Too Many TempTables issue
Searches for the
Has as many
factory of the
factories as different
requested object. If
business objects had
not available
been instantiated
instantiates it.
Never destroyed.
Searches for an
Has as many
unused instance. If
business objects
none available a
instances as
new one is
required
instantiated.
simultaneously
Once finished, the
Requests a business
requested objects
object to the object
are “returned” to the
broker.
broker.
Usually never
destroyed, reused in
every service
request.
OERA in practice:
NSRA

Background

Theory

Writing applications

Runtime Behaviour

Common Infrastructure Layer

Questions
OERA in practice:

NSRA
Writing Applications

Business Layer

Data Source Layer

Service Layer

Client
OERA in practice:

NSRA
Business Layer
 Define the data entity
 Define the business entity main class
 Define the business entity satellite classes
OERA in practice:

NSRA
Data Source Layer
 Referential integrity rules
 Filling logic
 Saving logic
 Compatibility & migration
OERA in practice:

NSRA
Service Layer
 Required services
 Service packages (.p) and service logic
 Service configuration and security
OERA in practice:

NSRA
Client
 Client logic
 nsXUL: Nómade Soft XUL framework
OERA in practice:
NSRA

Background

Theory

Writing applications

Runtime Behaviour

Common Infrastructure Layer

Questions
OERA in practice:

Runtime Behaviour
NSRA
OERA in practice:
NSRA

Background

Theory

Writing applications

Runtime Behaviour

Common Infrastructure Layer

Questions
OERA in practice:

NSRA
Common Infrastructure Layer

Background Manager

Context Manager

Expression Parser

Report Manager

Security Manager

Session Manager

Template Parser
OERA in practice:
NSRA

Background

Theory

Writing applications

Runtime Behaviour

Common Infrastructure Layer

Questions
OERA in practice:

Questions
NSRA
Thank You
Nómade Soft SRL
www.NomadeSoft.com.ar/nsra