Leverage the Power of Progress Developer Studio …...Introduction to Eclipse and PDS OE Eclipse...
Transcript of Leverage the Power of Progress Developer Studio …...Introduction to Eclipse and PDS OE Eclipse...
Leverage the Power of Progress
Developer Studio for OpenEdge
Srinivas Kantipudi Swathi Yellavaram
Sr Manager Principal Engineer
8th Oct, 2013
© 2013 Progress Software Corporation. All rights reserved. 2
Agenda
Brief Introduction to Eclipse and PDS for OpenEdge
Different Development Environments in PDS OE
Improving Progress OpenEdge Developer Productivity
Demo
© 2013 Progress Software Corporation. All rights reserved. 3
Introduction to Eclipse and PDS OE
Eclipse based IDE
Highly customizable and easily navigable user interface
Extensive plug-ins available for extending the functionality
Progress Developer Studio for OpenEdge
© 2013 Progress Software Corporation. All rights reserved. 4
Development Lifecycle
Define/Configure Project types, Preferences, Properties
AppBuilder, GUI for .NET, Web, REST, Mobile, OE
BPM, OE-Corticon, Advanced Editing capabilities
Servers, Remote Publish
Debugger
Develop
Publish
Test
Define/Configure Project types, Preferences, Properties
AppBuilder, GUI for .NET, Web, REST, Mobile, OE
BPM, OE-Corticon, Advanced Editing capabilities
Servers, Remote Publish
Debugger
Develop
Publish
Test
© 2013 Progress Software Corporation. All rights reserved. 5
Project Types
OpenEdge Project is facet based
• Specific project type for each development domain
• Ability to create custom project types
• Advantages
– Provides better visibility and organization of code
– Tailored functionality based on the project type
Different Project Types
10.2B
• AppServer
11.0
• WebSpeed
• GUI for .NET
• Dynamics
• Static web
• ChUI
11.2
• REST
• Mobile
© 2013 Progress Software Corporation. All rights reserved. 6
Custom Project Types
Done using Customization editor
• Tree node named OpenEdge Custom
Projects
A custom project type’s details are
stored in the extensibility user
plug-in
• Share by making this plug-in available in
other Eclipse environments
© 2013 Progress Software Corporation. All rights reserved. 7
Configuring Your Projects and Workspace
Project properties
Build destination Build destination
PROPATH
Shared AVM
Project A
Project B
Project AVM 1
Project C
Properties Propath
Project AVM 2
Project D
Properties Propath
© 2013 Progress Software Corporation. All rights reserved. 8
Development Lifecycle
Develop AppBuilder, GUI for .NET, Web, REST, Mobile, OE
BPM, OE-Corticon, Advanced Editing capabilities
Project types, Preferences, Properties
Servers, Remote Publish
Debugger
Define/Configure
Publish
Test
© 2013 Progress Software Corporation. All rights reserved. 9
AppBuilder Integration
Moved to Menu &
Toolbar
Moved to dockable
Palette
Brings native
AppBuilder
functionality to
PDS OE
Dock-able widget
palette inherits look
and feel of GUI for
.NET Designer
Hierarchical widget
outline view
Synchronization
between design and
source editor
© 2013 Progress Software Corporation. All rights reserved. 10
Improved ABL Source Editor
Ease of editing AppBuilder
generated source file
Protects AppBuilder generated
code
AppBuilder Editor preference
options are provided to turn
on/off this feature
Code folding for AppBuilder
specific blocks
Customized Find and Replace
dialog
Non-editable section for
AppBuilder generated
code
By default AppBuilder
read-only code block will be
close folded
Editable code
block
© 2013 Progress Software Corporation. All rights reserved. 11
Progress OpenEdge GUI for .NET
A Microsoft® .NET based Windows graphical user interface
• Sleek, Competitive UI in ABL
• .NET object features (methods, properties, events)
Leverages what you know
• ABL (events, business logic, data constructs)
Wealth of .NET controls available
• OpenEdge Ultra Controls for .NET (Infragistics™ NetAdvantage)
• Microsoft® controls
• Third party controls
– Component One, DevExpress, Telerik, …
© 2013 Progress Software Corporation. All rights reserved. 12
Visual Designer Perspective for GUI for .NET
Properties &
Events view
Control Groups:
• Microsoft
• OpenEdge
• Ultra Controls
Custom Controls:
• User Controls
• Inherited Controls
Document Outline
view
Different Visual
containers:
• ABL Form
• ABL Dialog
• ABL MDI Form
© 2013 Progress Software Corporation. All rights reserved. 13
Reusable Custom controls
Two different types
• User controls
– A collection of controls
• Inherited controls
– Control derived from another control
User Address Control Individual Controls Inherited Button Control
© 2013 Progress Software Corporation. All rights reserved. 14
WebSpeed Development
Completely revamped in 11.0
• Initial support was through WebSpeed workshop
• All capabilities bought into PDS OE
New WebSpeed project type
• Ability to configure the project with WebServer and WebSpeed broker
Different templates provided for SpeedScript
Multi-tabbed SpeedScript Editor
• SpeedScript, Generated ABL, Preview
• Support for editor actions in SpeedScript editor
© 2013 Progress Software Corporation. All rights reserved. 15
SpeedScript Editor
Multi Page Editor
with three tabs
• SpeedScript
• Generated ABL
• Preview
HTML section
SpeedScript
section
Supported Actions:
• ABL color coding
• Correct case
• Expand keywords
• Compile/ Syntax check
• Hover/ Keyword help
• Content Assist / Open
declarations
• Surround with Catch/
finally block
• Add Procedure/ Add
Function
© 2013 Progress Software Corporation. All rights reserved. 16
REST
Resource based, light weight, stateless
Can use JSON or XML
CRUD Model
• Create, Read, Update and Delete
When to use REST
• Cloud-based and mobile applications
• Highly scalable stateless applications
OE Mobile uses REST as its protocol
© 2013 Progress Software Corporation. All rights reserved. 17
Create REST project
Map resources Test
REST Application Flow
© 2013 Progress Software Corporation. All rights reserved. 19
Step 1 Step 2 Step 3 Step 4 Step 5
Create Mobile Project
Build UI Build OE services
Bind data and UI
Build and deploy
Mobile Application Flow
© 2013 Progress Software Corporation. All rights reserved. 20
Progress OpenEdge BPM
Swim lane
“Performer”
System step
“Managed Adapter” User activity
“Task” Decision
Provides ability to develop both transaction-oriented and process-centric applications
Allows customers to automate the workflows
Allows customers to get visibility into how well their processes are performing
Allows customization without code changes
© 2013 Progress Software Corporation. All rights reserved. 21
Progress OpenEdge – Corticon
Define Schema Create Rules Deploy Invoke Decision
Service
Export Schema from PDSOE and Import it as
Vocabulary
Create Business Rules
Design Ruleflow and Deploy
Invoke Decision Service from OE
© 2013 Progress Software Corporation. All rights reserved. 22
Advanced Editing Cpabilities
Color
Coding
Content Assist
& Data aware
Correct
Indentation
Tabular
formatting
Hover help for all
keywords
Templates/
macros
© 2013 Progress Software Corporation. All rights reserved. 23
Development Lifecycle
Publish Servers, Remote Publish
Project types, Preferences, Properties
AppBuilder, GUI for .NET, Web, REST, Mobile, OE
BPM, OE-Corticon, Advanced Editing capabilities
Debugger
Define/Configure
Develop
Test
© 2013 Progress Software Corporation. All rights reserved. 24
Three types of Servers
• AppServer, Web Server, WebSpeed
Servers can be stopped and started from Servers view in PDSOE
Server Editor to modify Server properties
• Connection information, timeouts, publish location
Servers in PDSOE
© 2013 Progress Software Corporation. All rights reserved. 25
Publish
Configure resources to be published
Associate module/project to the Server
Configure Publish settings
Publish options
• Publish
• Clean
© 2013 Progress Software Corporation. All rights reserved. 26
Development Lifecycle
Test Debugger
Project types, Preferences, Properties
AppBuilder, GUI for .NET, Web, REST, Mobile, OE
BPM, OE-Corticon, Advanced Editing capabilities
Servers, Remote Publish
Define/Configure
Develop
Publish
© 2013 Progress Software Corporation. All rights reserved. 28
Debugger
Support for both Local
and Remote Debugger
Operates on compiled
r-code
Can attach to an
external AVM