Foundations of Rich Internet Applications (RIA) - Wiki - OpenEdge General - Progress Community

Foundations of Rich Internet Applications (RIA)

Foundations of Rich Internet Applications (RIA)

Preparing For and Using 3rd Party Control Libraries for Rich Internet Applications (RIA)

This series of short video presentations walks you through the steps involved in laying the foundation within OpenEdge to allow you to develop a modern user interface using one or more 3rd-part technologies that support what we call RIA, for Rich Internet Applications. There are a wide variety of such products that can communicate with an OpenEdge application using the OpenEdge AppServer, WebSpeed, or Web services. This video series, and the white papers that accompany it, review the different ways you can establish a connection to OpenEdge business logic and data management code running on the server side of your application, and provide an introduction to some of the libraries and plug-ins that are available for building the user interface on the client side. This initial series of videos and papers will be extended over time to show additional RIA alternatives.


Video Title Video Description

This video introduces the OpenEdge Explorer tool for managing AppServers, WebSpeed brokers, and Web Service Adapters, and uses it to configure and start a sample AppServer.

This two-part session shows you how to configure a project in OpenEdge Architect to publish code to a local AppServer for testing, how to define a connection to an AppServer in Architect, and how to develop and test code that runs between an OpenEdge client session and an AppServer session.
This two-part session reviews the installation of the Apache HTTP Web server as a Web server for use with OpenEdge WebSpeed, configuring and starting a WebSpeed broker in OpenEdge Explorer, and setting up an Architect project for developing and testing an application that uses WebSpeed as a transport mechanism to communicate between client and server.
The first part of the session is intended for OpenEdge users who have not used WebSpeed before, and want to add support for it to an existing OpenEdge installation.
The second part of the session shows OpenEdge 10 features such as Architect support, which help you to integrate WebSpeed into other ABL development. As a whole, the session lays the groundwork for using WebSpeed to communicate between an RIA library that creates a browser-based user interface and an OpenEdge backend.
This video is the first of two parts that show you an example of a simple user interface coded in the ExtJS 3rd-party control library, retrieving data from an ABL procedure to display in the UI, via WebSpeed. In this session we show how to install ExtJS and set up your directories where your project can locate the support code, and how to define a static web project in OpenEdge project to hold the ExtJS HTML and JavaScript code that defines the user interface.
Part two of this two-part session walks you through a simple ExtJS example, showing you the HTML file that is loaded into your browser, and the extended JavaScript program that uses custom ExtJS code to define UI controls, a client-side data store, and the call to an ABL procedure using WebSpeed to retrieve data into the UI.
This video continues the series on exposing ABL procedures as Web services by showing the steps involved in using ProxyGen to generate the necessary Web service proxy and other supporting components, and using OpenEdge Explorer to deploy a procedure as a Web service. Finally, we run a test procedure in an OpenEdge client that invokes another procedure as a Web service.
Web services are one of the mechanisms you can use to make calls from a client-side 3rd-party user interface control library to OpenEdge business logic running on the server side. This video establishes the foundation for deploying ABL procedures as Web services by reviewing how to install the Apache Tomcat Web server and use the OpenEdge install script that configures Tomcat for use with the OpenEdge Web Services Adapter.
This two-part video provides an introduction to AJAX, a technique for combining HTML and JavaScript on the client, ABL procedures that returning data as XML (or in other formats) on the backend, and the special XMLHttpRequest object to allow asynchronous update of data in the client. The example in the videos uses WebSpeed to communicate client requests to OpenEdge and return data via the webstream.
This video provides an introduction to JSON, JavaScript Object Notation, an alternative to XML for representing complex hierarchical data in character format. The video shows how OpenEdge provides a method to convert a temp-table or ProDataSet to JSON in a single step, and how that data can be passed across the network to a client application, including one built using AJAX, in the same way as the XML data representation.
This video provides an introduction to Silverlight, a major user interface initiative from Microsoft. It briefly shows some examples of the kinds of applications you can build using Silverlight, and how you can use Visual Studio to create a user interface by dragging controls onto a design surface, with Visual Studio generating the user interface definition in XAML, Microsoft's XML-based UI definition language. This introduction serves as the starting point for an extensive series of videos and papers to be published in stages, which will show how to build a Silverlight user interface for an ABL business application.
Comments
  • Can anyone give me a link to the sample code used for the javascript in the static web project?

  • Is there a link to download the sample code for the static web project?This should include viewcustomers.js and some resources and javascript directories.

  • In answer to both questions (this post and the next), the code samples are embedded in the paper that accompanies the ExtJS series. In other papers the complete code sample have been repeated at the end of the paper to make them easier to copy and paste (and easier to keep in sync with the content of the presentations). In this case, I see that viewcustomers.js is in several pieces in the document, with descriptive comments in between, which is a nuisance. Sorry for that. I will endeavor to repost the paper with the code samples complete.

  • John, can you put together all the files as a zip that we can download ? Thanks

  • Thank you for this series.I'm trying to work with ExtJS. I got to do your examples. I have it working. But I have a question, how to make changes in ExtJS -> READ-JSON -> WebSpeed ​​to the table? For example, if I changed one record from customer table. Could you describe an example?