SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
www.wayfare.ro
Component based
Progress Programming
VALENTIN 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
About
Wayfare
§ Visit our stand
§ And…
What is Component
based 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

Weitere ähnliche Inhalte

Was ist angesagt?

AngularJS UTOSC
AngularJS UTOSCAngularJS UTOSC
AngularJS UTOSC
roboncode
 

Was ist angesagt? (20)

MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
 
React - поглянемо по іншому на V в MVC
React - поглянемо по іншому на V в MVCReact - поглянемо по іншому на V в MVC
React - поглянемо по іншому на V в MVC
 
Boston, MA Developer Group 2/7/2019 - Introduction to lightning web components
Boston, MA Developer Group 2/7/2019 - Introduction to lightning web componentsBoston, MA Developer Group 2/7/2019 - Introduction to lightning web components
Boston, MA Developer Group 2/7/2019 - Introduction to lightning web components
 
The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page Applications
 
AngularJS UTOSC
AngularJS UTOSCAngularJS UTOSC
AngularJS UTOSC
 
MEAN stack
MEAN stackMEAN stack
MEAN stack
 
Host, deploy & scale Blazor Server Apps
Host, deploy & scale Blazor Server AppsHost, deploy & scale Blazor Server Apps
Host, deploy & scale Blazor Server Apps
 
002. Working with Webpack
002. Working with Webpack002. Working with Webpack
002. Working with Webpack
 
ADOBE CQ5 DEVELOPER ONLINE TRAINING
ADOBE CQ5 DEVELOPER ONLINE TRAININGADOBE CQ5 DEVELOPER ONLINE TRAINING
ADOBE CQ5 DEVELOPER ONLINE TRAINING
 
Amir Zuker: Building web apps with web assembly and blazor - Architecture Nex...
Amir Zuker: Building web apps with web assembly and blazor - Architecture Nex...Amir Zuker: Building web apps with web assembly and blazor - Architecture Nex...
Amir Zuker: Building web apps with web assembly and blazor - Architecture Nex...
 
Net training in bhubaneswar
Net training in bhubaneswar Net training in bhubaneswar
Net training in bhubaneswar
 
Blazor - The New Silverlight?
Blazor - The New Silverlight?Blazor - The New Silverlight?
Blazor - The New Silverlight?
 
Learn VBScript – Part 1 of 4
Learn VBScript – Part 1 of 4Learn VBScript – Part 1 of 4
Learn VBScript – Part 1 of 4
 
Refactoring to a Single Page Application
Refactoring to a Single Page ApplicationRefactoring to a Single Page Application
Refactoring to a Single Page Application
 
Mean stack
Mean stackMean stack
Mean stack
 
Moving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMSMoving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMS
 
Web assembly with PWA
Web assembly with PWA Web assembly with PWA
Web assembly with PWA
 
ITT Flisol 2013
ITT Flisol 2013ITT Flisol 2013
ITT Flisol 2013
 
Workflow driven development
Workflow driven developmentWorkflow driven development
Workflow driven development
 
Features: A better way to package stuff in Drupal
Features: A better way to package stuff in DrupalFeatures: A better way to package stuff in Drupal
Features: A better way to package stuff in Drupal
 

Andere mochten auch

OE Application Server Administratoion
OE Application Server AdministratoionOE Application Server Administratoion
OE Application Server Administratoion
tawatchai.psp
 
Progress Sonic Openedge
Progress Sonic OpenedgeProgress Sonic Openedge
Progress Sonic Openedge
aflierman
 

Andere mochten auch (18)

Progress Openedge performance management
Progress Openedge performance managementProgress Openedge performance management
Progress Openedge performance management
 
Progress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and referenceProgress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and reference
 
OE Application Server Administratoion
OE Application Server AdministratoionOE Application Server Administratoion
OE Application Server Administratoion
 
VN Real Estate insights
VN Real Estate insightsVN Real Estate insights
VN Real Estate insights
 
Progress Sonic Openedge
Progress Sonic OpenedgeProgress Sonic Openedge
Progress Sonic Openedge
 
Mobile Computing UNIT-6
Mobile Computing UNIT-6Mobile Computing UNIT-6
Mobile Computing UNIT-6
 
IT6601 MOBILE COMPUTING UNIT1
IT6601 MOBILE COMPUTING UNIT1IT6601 MOBILE COMPUTING UNIT1
IT6601 MOBILE COMPUTING UNIT1
 
Unit 6
Unit 6Unit 6
Unit 6
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
 
Mobile Computing UNIT-I TO III
Mobile Computing UNIT-I TO IIIMobile Computing UNIT-I TO III
Mobile Computing UNIT-I TO III
 
Mobile computing unit 5
Mobile computing  unit 5Mobile computing  unit 5
Mobile computing unit 5
 
It6601 mobile computing unit 4
It6601 mobile computing unit 4It6601 mobile computing unit 4
It6601 mobile computing unit 4
 
Internet of Things: Challenges and Issues
Internet of Things: Challenges and IssuesInternet of Things: Challenges and Issues
Internet of Things: Challenges and Issues
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
 
Mobile Computing I-Unit Notes
Mobile Computing I-Unit NotesMobile Computing I-Unit Notes
Mobile Computing I-Unit Notes
 
Pervasive Computing
Pervasive ComputingPervasive Computing
Pervasive Computing
 
Introduction To Mobile Computing
Introduction To Mobile ComputingIntroduction To Mobile Computing
Introduction To Mobile Computing
 
Mobile Computing
Mobile ComputingMobile Computing
Mobile Computing
 

Ähnlich wie Component based Progress Programming

SadikulIslamDotNetResume
SadikulIslamDotNetResumeSadikulIslamDotNetResume
SadikulIslamDotNetResume
Sadikul Islam
 
Amit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JS
Amit Kumar
 

Ähnlich wie Component based Progress Programming (20)

Selecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkSelecting the Best Javascript Web Framework
Selecting the Best Javascript Web Framework
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
 
Chinnasamy Manickam
Chinnasamy ManickamChinnasamy Manickam
Chinnasamy Manickam
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Software Engineering 2014
Software Engineering 2014Software Engineering 2014
Software Engineering 2014
 
SadikulIslamDotNetResume
SadikulIslamDotNetResumeSadikulIslamDotNetResume
SadikulIslamDotNetResume
 
Accessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarAccessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup Webinar
 
Introducing Mobile Cross Promotion Framework
Introducing Mobile Cross Promotion FrameworkIntroducing Mobile Cross Promotion Framework
Introducing Mobile Cross Promotion Framework
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
Building Mobile Web Apps with jQM and Cordova on Azure
Building Mobile Web Apps with jQM and Cordova on AzureBuilding Mobile Web Apps with jQM and Cordova on Azure
Building Mobile Web Apps with jQM and Cordova on Azure
 
Amit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JS
 
Apache Cordova
Apache CordovaApache Cordova
Apache Cordova
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
 
Build your next single page app in ClojureScript and re-frame
Build your next single page app in ClojureScript and re-frameBuild your next single page app in ClojureScript and re-frame
Build your next single page app in ClojureScript and re-frame
 
Prashant Patel
Prashant PatelPrashant Patel
Prashant Patel
 
The new way of managing layouts and blocks
The new way of managing layouts and blocksThe new way of managing layouts and blocks
The new way of managing layouts and blocks
 
KATHY ZHANG_3
KATHY ZHANG_3KATHY ZHANG_3
KATHY ZHANG_3
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 

Component based Progress Programming

  • 2. Component based Progress Programming VALENTIN DURICU VALENTIN.DURICU@WAYFARE.RO www.wayfare.ro
  • 3. 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
  • 4. About Wayfare § Visit our stand § And…
  • 5. What is Component based Programming?
  • 6. § 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
  • 7. § 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
  • 8. In a much simple way… http://www.tofucar.com/the-car-components-that-you-must-check-regularly
  • 11. § 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
  • 12. § 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
  • 14. § 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
  • 16. § Already exists: Procedure Library § Another way: Through a dependency manager
  • 17. •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
  • 18.
  • 19.