component based progress programming

Post on 22-Jan-2018

115 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

www.wayfare.ro

Component based Progress ProgrammingVALENTIN DURICU

VALENTIN.DURICU@WAYFARE.RO

www.wayfare.ro

About me§ Progress OpenEdge developer

at Wayfare ~ 3 years

§ 5 years web development experience

§ Some projects related to OpenEdge◦ Cloud Developer Studio (cloud-studio.ro)◦ OpenEdge mode for ACE Editor (bit.ly/1iqCa6u)◦ Omen (bit.ly/1jAkwp5)

§ Hobbies: Photography, Recreational Gaming

§ Contact me at valentin.duricu@wayfare.ro

§ More about me: valentin.duricu.ro

AboutWayfare§ Visit our stand

§ And…

What is Componentbased Programming?

§ branch of software engineering that emphasizes the separation of concerns

§ it is a reuse-based approach to define, implement and compose loosely coupled independent components

§ Example:• a checkout component, responsible for a

users order

• a card processing component, required by the checkout one to charge the users credit card

§ An individual software component is a• software package• a web service• a web resource• a module that encapsulates a set of related functions (or data)

§ With regard to system-wide co-ordination, components communicate with each other via interfaces

In a much simple way…

http://www.tofucar.com/the-car-components-that-you-must-check-regularly

http://www.artenediana.com/wp-content/uploads/2015/03/parti-de-masina.jpg

OOP vs CBP

§ OOP• Software should be written according to a mental model

• Modeling of real-world interactions

• Attempt to create “nouns” and “verbs” to be used in more human readable ways

§ CBP (Component Based Programming)• Developers should create software by gluing together

prefabricated components

• Modularizing software as software components

• It is desirable to build complex system by assembling highly cohesive loosely coupled large components

Examples

§ Bundles as defined by the OSGi Service Platform

§Component web platform for modular js, css, and other assets

§Component Object Model (OCX/ActiveX/COM) and DCOM from Microsoft

§Enterprise JavaBeans from Sun Microsystems (now Oracle)

§The System.ComponentModel namespace in Microsoft .NET

§Unity3D developed by Unity Technologies

§XPCOM from Mozilla Foundation

§.NET Remoting from Microsoft

§CORBA and the CORBA Component Model from the Object Management Group

CBP in Progress

§ Already exists:

Procedure Library

§ Another way: Through a dependency manager

•Omen – a dependency manager for OpenEdge projects§ Written in JavaScript to be ran in Node.JS

§ Available for free in NPM repository

§ Commands available to:• create, install, update or publish project

• create eclipse project, initalize appserver, generate propath

§ Private repository for private usage

THANK YOU

top related