Top Banner
CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina, 842 48 Bratislava, Slovakia email: [email protected]
20

CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Dec 22, 2015

Download

Documents

Magnus Freeman
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

CONFIGURATION-ORIENTED PROGRAMMING

Introduction into the new paradigm

Radovan BrečkaDepartment of Computer Science, Comenius University,

Mlynská dolina, 842 48 Bratislava, Slovakia

email: [email protected]

Page 2: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Content

History

Illustrative examples

COP definition

How it works

Blox® Framework

Advantages

References

Page 3: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

History of programming

Imperative programmingSimple computing definition Pseudo codes

Structured & procedural programmingData types, Control structures, ProceduresPL/1, C, Pascal, …

Object-oriented programmingObject (data + code), Inheritance, Dynamic method bindingC++, Java, .NET, …

Configuration-oriented programmingConfiguration

Page 4: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

From OOP to COP

OOP ClassData

Code

OOP Instance

COP ModuleDataSetup (configuration form definition)

Code

COP ConfigurationAtributtes

Submodules

Inheritance + Dynamic method binding

Page 5: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

OOP vs. COPillustrative example

OOP

COP

Page 6: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

COP definition

COP ModuleData: constants & module configurations (COP configuration)

Setup: definition how this module will be configured

Code: imperative code with direct configuration support

COP ConfigurationAttributes: defined with respect to Setup part of Module

Sub-modules: defined with respect to Setup definition

Page 7: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

How it works:Example 1 – CMS

CMS – Content Management SystemModules:

Portal, Page, Section, Text, Image

Configuration:Representation of Content

Page 8: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

How it works:Example 1 – CMS

Illustrative video 1.

Page 9: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

How it works:Example 2 – Form

Form layerModules:

Data source, Data type, Data attributes

Forms, Form attributes

Configuration:Data table type

Form structure

Prerequisites:Created table example with columns: id, name, desc

Page 10: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

How it works:Example 2 – Form

Illustrative video 2.

Page 11: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Programming with configuration patterns

New programming technique

Result is achieved by executing an altered configuration

1. Module / Data – contains the configuration pattern

2. Pattern is modified by code

3. Execution of pattern achieves desired result

Page 12: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Programming with configuration patterns

Module Person:Method draw alters a configuration stored in Data part according to values of attributes Point X, Point Y and executes it.

Page 13: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Programming with configuration patterns

Section + TextNew module with attributes:

userText: String

userSkin: String

Draws the section with userSkin color with text with userText inside

Page 14: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Programming with configuration patterns

Illustrative video 3.

Page 15: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Blox® Framework

Full framework for project developmentCore implemented in Java

executable on J2EE application servers

Configuration tool implemented in COPImplemented in itself

Modules are defined as configuration of special Setup modules

Configuration refactoring

Over 1000 modules

Page 16: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Blox® FrameworkArchitecture

CMSDataFormSecurityViewExtensions

OLAPDMSWfMS

Page 17: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Blox® FrameworkArchitecture

Illustrative video 4.

Page 18: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

COP Advantages

Simpler and faster IS building using configurationSplitting development: Code implementation & ConfigurationBetter reusability of COP modules

Setup function directly defines how to use the modulesComplex configuration patterns can be hidden in special modules

New programming techniquesProgramming with configuration patterns (sub-problem abstraction)Power of configuration polymorphism (better level of domain decomposition)

Simpler IS maintenanceTransparent architecture in configurationConfiguration refactoring

New point of view on Rapid Application DevelopmentPrototypes can be build only by configurationDriven through configuration refactoring and module upgrading

Page 19: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Practical results

Orange Slovensko, a.s.Major mobile operator in SlovakiaBack-end of portal: www.orange.sk

Slovak Bar AssociationIndependent professional organization,

currently associating cca 4100 lawyers and 1220 trainee lawyers

Extranet systemIntranet system

Železničná spoločnosť, a.s.Leader in providing services in rail passenger transport in Slovakia Intranet information system

Document management systemWorkflow management system

Page 20: CONFIGURATION-ORIENTED PROGRAMMING Introduction into the new paradigm Radovan Brečka Department of Computer Science, Comenius University, Mlynská dolina,

Thank you for your attention!