presentation - CEE

January 6, 2018 | Author: Anonymous | Category: Business, Management, Business Information Systems
Share Embed Donate


Short Description

Download presentation - CEE...

Description

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]

Content History Illustrative examples COP definition How it works Blox® Framework Advantages References

History of programming Imperative programming Simple computing definition Pseudo codes

Structured & procedural programming Data types, Control structures, Procedures PL/1, C, Pascal, …

Object-oriented programming Object (data + code), Inheritance, Dynamic method binding C++, Java, .NET, …

Configuration-oriented programming Configuration

From OOP to COP OOP Class Data Code

COP Module Data Setup (configuration form definition) Code

OOP Instance

COP Configuration Atributtes Submodules

Inheritance + Dynamic method binding

OOP vs. COP illustrative example OOP

COP

COP definition COP Module Data: constants & module configurations (COP configuration) Setup: definition how this module will be configured Code: imperative code with direct configuration support

COP Configuration Attributes: defined with respect to Setup part of Module Sub-modules: defined with respect to Setup definition

How it works: Example 1 – CMS CMS – Content Management System Modules: Portal, Page, Section, Text, Image

Configuration: Representation of Content

How it works: Example 1 – CMS

Illustrative video 1.

How it works: Example 2 – Form Form layer Modules: Data source, Data type, Data attributes Forms, Form attributes

Configuration: Data table type Form structure

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

How it works: Example 2 – Form

Illustrative video 2.

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

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.

Programming with configuration patterns Section + Text New module with attributes: userText: String userSkin: String

Draws the section with userSkin color with text with userText inside

Programming with configuration patterns

Illustrative video 3.

Blox® Framework Full framework for project development Core implemented in Java executable on J2EE application servers

Configuration tool implemented in COP Implemented in itself Modules are defined as configuration of special Setup modules

Configuration refactoring Over 1000 modules

Blox® Framework Architecture CMS Data Form Security View Extensions OLAP DMS WfMS

Blox® Framework Architecture

Illustrative video 4.

COP Advantages Simpler and faster IS building using configuration Splitting development: Code implementation & Configuration Better reusability of COP modules Setup function directly defines how to use the modules Complex configuration patterns can be hidden in special modules

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

Simpler IS maintenance Transparent architecture in configuration Configuration refactoring

New point of view on Rapid Application Development Prototypes can be build only by configuration Driven through configuration refactoring and module upgrading

Practical results Orange Slovensko, a.s. Major mobile operator in Slovakia Back-end of portal: www.orange.sk

Slovak Bar Association Independent professional organization, currently associating cca 4100 lawyers and 1220 trainee lawyers

Extranet system Intranet system

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

Thank you for your attention!

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF