ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.

Slides:



Advertisements
Similar presentations
Apache Struts Technology
Advertisements

DEV-2: Getting Started with OpenEdge® Architect – Part I
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Introducing OpenEdge BPM: Ken Wilner, VP of Technology, OpenEdge Integrating Business Process Management Capabilities Into Your OpenEdge Application.
ARCH-01: Introduction to the OpenEdge™ Reference Architecture Don Sorcinelli Applied Technology Group.
ARCH-13 Developing WebSpeed  Applications Chris Skeldon Principal Consultant.
ARCH-13: Multiple "Views" with WebSpeed® Chris Skeldon Principal Consultant.
02/12/00 E-Business Architecture
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Apache Struts Technology A MVC Framework for Java Web Applications.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Terminal Services Terminal Services is the modern equivalent of mainframe computing, in which servers perform most of the processing and clients are relatively.
DEV-14: Understanding and Programming for the AppServer™
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
Punit Shah Technical Lead | Microsoft
By Bob Bunson  Simulation of software development project  Fictitious system from Concept to Code  Oriented around the.
UNIT-V The MVC architecture and Struts Framework.
A New Object Model for WebSpeed and HTTP
ARCH12: QA Considerations - OERA ARCH-12: QA considerations for applications following the OpenEdge Reference Architecture SMAT-Team Tobago Thomas Hutegger.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
MVC pattern and implementation in java
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
© 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical.
Using the WDK for Windows Logo and Signature Testing Craig Rowland Program Manager Windows Driver Kits Microsoft Corporation.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical.
ARCH-03: Implementing the OpenEdge™ Reference Architecture – Part 1 John Sadd Progress Fellow and OpenEdge Evangelist.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
DEV-05: Ratcheting up your OpenEdge™ Development Productivity Sunil S Belgaonkar Principal Software Engineer.
DEV-36: Composite MVP – Building Blocks in Presentation Layer
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
DEV-16: Leveraging the Power of Advanced GUI Power is nothing without control Erwin in ‘t VeldCCS Tony VertentenIntris Eric DebeijProgress Roland de PijperProgress.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
JSF Framework Java Server Faces Presented by Songkran Totiya (6/10/2014)
Model View Controller Architecture of Java Web Applications Dr. M V S Peri Sastry, Ph.D.[BITS-Pilani]
Building a real-world, Internet- scale stock trading application Naveen Prabhu Quadwave Consulting Pvt. Ltd.
ARCH-07: Implementing the OpenEdge™ Reference Architecture – Part 2
MOVE-5: Improving the look and feel of your OpenEdge® Application The OpenEdge User Interface Jiri De Jagere Product Consultant.
Model View Controller MVC Web Software Architecture.
ARCH-11: Building your Presentation with Classes John Sadd Fellow and OpenEdge Evangelist Sasha Kraljevic Principal TSE.
I Copyright © 2007, Oracle. All rights reserved. Module i: Siebel 8.0 Essentials Training Siebel 8.0 Essentials.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
A New Object Model for WebSpeed and HTTP
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
ARCH-7: Integrate this! SonicMQ® and the OpenEdge® Reference Architecture Christian Stiller Technical Architect.
ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect.
ARCH-04 Before You Begin Your Transformation Project… Phillip Magnay Architect – Applied Technology.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
MOVE-15: Leveraging Business Entities, Data Access Objects and ProDataSets with a Progress Dynamics® or ADM2 GUI Peter Judge Principal Software Engineer.
ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group.
CEG 2400 FALL 2012 Windows Servers Network Operating Systems.
DEV221 Windows Forms in Visual Studio 2005: An Overview Saurabh Pant Program Manager Microsoft Corporation.
Apache Struts Technology A MVC Framework for Java Web Applications.
High degree of user interaction Interactive Systems: Model View Controller Presentation-abstraction-control.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
N-Tier Architecture.
The Client/Server Database Environment
Continuous Automated Chatbot Testing
Lecture 1: Multi-tier Architecture Overview
ARCH-1: Application Architecture made Simple
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
An Introduction to Software Architecture
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Choosing between Silverlight and AJAX
ARCH-2: OpenEdge Reference Architecture (OERA) Latest Thinking
ARCH-14: Power Your Organisation with OpenEdge
Mark Quirk Head of Technology Developer & Platform Group
Running C# in the browser
Presentation transcript:

ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant

© 2006 Progress Software Corporation2 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Agenda  Introduction  Separation of the user interface  Client-side options  Design using MVC pattern  Connecting to the Business Servicing Layer  Looking ahead  Q&A The Presentation Layer in the OpenEdge RA

© 2006 Progress Software Corporation3 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture What’s this? Presentation Business Services Data Access Data Sources Common Infrastructure Enterprise Services

© 2006 Progress Software Corporation4 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Problems  User Interface Options Implications Contracts Considerations What? How? When?

© 2006 Progress Software Corporation5 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Agenda  Introduction  Separation of the user interface  Client-side options  Design using MVC pattern  Connecting to the Business Servicing Layer  Looking ahead  Q&A The Presentation Layer in the OpenEdge RA

© 2006 Progress Software Corporation6 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Separation of the user interface  Market Pressure Technology Look and Feel (‘sizzle’)  Change ‘way of working’ E.g. Form-based to Task-based  Extending Application Reach E.g. “Webify” a rich client application What are the business drivers?

© 2006 Progress Software Corporation7 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Separation of the user interface  Presentation Layer Platform changes often  Business Logic Platform does not What are the business drivers?

© 2006 Progress Software Corporation8 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Separation of the user interface  Business Logic often assumes knowledge of the UI E.g. coloring a field when given a value  Different Presentation Layers have different inherent capabilities E.g. can we still color a field when given a value  UI Performance can influence implementation E.g. gather more data before sending The problems involved

© 2006 Progress Software Corporation9 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Separation of the user interface  The user experience remains critical! About Face 2.0 – The Essentials of Interaction Design – Alan Cooper The problems involved

© 2006 Progress Software Corporation10 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Separation of the user interface  Decouple presentation from business logic Define service interface & data requirements  Integrate local and remote data sources prior to display  Enable connected and disconnected use Requirements for a new presentation layer

© 2006 Progress Software Corporation11 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Agenda  Introduction  Separation of the user interface  Client-side options  Design using MVC pattern  Connecting to the Business Servicing Layer  Looking ahead  Q&A The Presentation Layer in the OpenEdge RA

© 2006 Progress Software Corporation12 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Client-side options  Rich client  Thin client  Smart client  Special devices Types of clients

© 2006 Progress Software Corporation13 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Client-side options Client Type Comparison Rich ClientThin ClientSmart Client Advantage  Performance  Offline availability  High integration  Rich UI  Deployment  OS independent  Reach  Performance  Offline availability  High integration  Rich UI  Deployment Disadvantage  Deployment  OS dependent  Online availability  Simple UI  Limited integration  Performance  OS dependent Service Interface  Client based  Proxy  Late vs Early binding  Server based  Proxy or direct  Late vs Early binding  Client based  Proxy  Late vs Early binding Client Technology  Progress 4GL GUI  Microsoft.NET GUI  Java™ GUI  Progress WebSpeed®  Microsoft ASP.NET  Java™ JSP  Progress WebClient™  Microsoft.NET  Java™ WebStart

© 2006 Progress Software Corporation14 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Agenda  Introduction  Separation of the user interface  Client-side options  Design using MVC pattern  Connecting to the Business Servicing Layer  Looking ahead  Q&A The Presentation Layer in the OpenEdge RA

© 2006 Progress Software Corporation15 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Design of the Presentation Layer  Separate modeling of domain, presentation and actions based on user input into three classes [Burbeck92] Model –Manages behavior and data of application domain Control –Processes user input and informs model and/or view of change if appropriate View –Manages display of information MVC (Model View Controller) Pattern

© 2006 Progress Software Corporation16 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Design of the Presentation Layer  Passive Model Model does not report state changes  Active Model Model reports state changes to view(s) –Observer pattern (Publish/Subscribe) MVC (Model View Controller) Pattern

© 2006 Progress Software Corporation17 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Design of the Presentation Layer MVC (Model View Controller) Pattern – Passive Model

© 2006 Progress Software Corporation18 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Design of the Presentation Layer MVC (Model View Controller) Pattern – Passive Model

© 2006 Progress Software Corporation19 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Design of the Presentation Layer MVC (Model View Controller) Pattern – Active Model

© 2006 Progress Software Corporation20 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Design of the Presentation Layer MVC (Model View Controller) Pattern – Active Model

© 2006 Progress Software Corporation21 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Demonstration

© 2006 Progress Software Corporation22 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Design of the Presentation Layer Components UI Elements UI Controllers Users Service/Data Access Mgr Fn() Business Servicing Layer Request Bus Task Bus EntityService DB Application Features Application Functionality

© 2006 Progress Software Corporation23 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Design of the Presentation Layer Update Customer Save Order Validate Order Check Inventory Navigation Look and Feel Personalization Security Abstract your Functions Be Consistent with Your Features

© 2006 Progress Software Corporation24 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Design of the Presentation Layer Session/Context Management Security Localization Customization/Productization Personalization Rights and accessibility attributes are determined Context is determined and made accessible to the presentation layer Language and cultural features are applied/enabled Company or product features are applied/enabled User-specific attributes are applied/enabled Think in terms of layers Managing the Presentation Layer

© 2006 Progress Software Corporation25 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Agenda  Introduction  Separation of the user interface  Client-side options  Design using MVC pattern  Connecting to the Business Servicing Layer  Looking ahead  Q&A The Presentation Layer in the OpenEdge RA

© 2006 Progress Software Corporation26 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Connecting to the Business Servicing Layer  Early Binding  Late Binding Presentation Layer/s Integration Layer/s Data Access Layers Managed Unmanaged In Out Service Interface Business Workflow Business Tasks Business Entities Alert STOP Service Interface

© 2006 Progress Software Corporation27 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Connecting to the Business Servicing Layer Define input parameter pcParam1 as character. Define input parameter pcParam2 as character. Define output parameter piResult as integer. Define variable hEntity as handle. hEntity = dynamic-function( ‘getEntityHandle’, input ‘theBE’ ). Run internalproc in hEntity ( input pcParam1, input pcParam2, output piResult ). Early Binding Service Interface example

© 2006 Progress Software Corporation28 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Connecting to the Business Servicing Layer Define input parameter pcEntity as character. Define input parameter pcOperation as character. Define input-output parameter table-handle phContext. Define output parameter dataset-handle phOutDataset. Define input-output parameter dataset-handle phIODataset. Define variable hEntity as handle. hEntity = dynamic-function(‘getEntityHandle’, input pcEntity). Case pcOperation: when “fetchWhere” then run fetchWhere in hEntity ( input phContext, output phOutDataset ). when … End case. Return. Late Binding Service Interface example

© 2006 Progress Software Corporation29 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Agenda  Introduction  Separation of the user interface  Client-side and user interface logic  Design using MVC pattern  Connecting to the Business Servicing Layer  Looking ahead  Q&A The Presentation Layer in the OpenEdge RA

© 2006 Progress Software Corporation30 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Looking Ahead  Design for flexibility (MVC)  UI technology will change! Easy replacement of graphical specifics (View) Be prepared!

© 2006 Progress Software Corporation31 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Summary  OpenEdge Reference Architecture provides flexibility for alternative UIs  Architect the presentation layer and business layer appropriately  Target your business logic to the most appropriate device and user  Design for change!

© 2006 Progress Software Corporation32 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Presentation Layer Resources  About Face 2.0: The Essentials of Interaction Design By Alan Cooper ISBN:  Java and MVC .NET and MVC  Interface Hall of Fame/Shame  UI Patterns & Techniques

© 2006 Progress Software Corporation33 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture For More Information, go to…  OpenEdge Reference Architecture  Enhancing the OpenEdge GUI PSDN

© 2006 Progress Software Corporation34 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture For More Information, go to…  ARCH-5: Service Interfaces in Practice  ARCH-9: Systems that Don't Work and Why  ARCH-13: Multiple "Views" with WebSpeed  DEV-13: Super Resize Me!!  MOVE-5: Improving the Look and Feel of Your Application  INNOV-2: Build a Better Web Interface using AJAX  INNOV-8: Demystifying Windows Vista  INNOV-9: OpenEdge Development Products Roadmap  INNOV-14: A Look Inside the OpenEdge UI Research Lab  INNOV-16: Rich User Interface for the Web? AJAX to the Rescue Relevant Exchange Sessions

© 2006 Progress Software Corporation35 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Questions?

© 2006 Progress Software Corporation36 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture Thank you for your time

© 2006 Progress Software Corporation37 ARCH-4: Presentation Layer in the OpenEdge Reference Architecture