|
Comments
|
Today's Top SOA Links
DataWindows Prognos with DataWindow.NET 2.0 and PowerBuilder 11 Web Services
Calculate Your Scholarship Online
By: Arthur Hefti
Jun. 5, 2007 11:30 AM
Prognos is an application used over the Internet to determine if it makes sense to apply for a scholarship. It's part of a program package used in a couple of cantons (the equivalent of a state in the U.S.) in Switzerland to manage applications for a scholarship.
Initial Version Configuration The application consists of two parts (see Figure 1). The visual part is a standard ASP.NET 2.0 application using DataWindow.NET 2.0. The other part of the application consists of PowerBuilder 11 Web Services. The visual part talks to the Web Services either directly from the browser using AJAX or from the back-end for calculations. You might ask why we didn't use a PowerBuilder 11 WebForm for the front-end. There are several considerations: Another point is the use of a Web Service instead of creating a .NET assembly and using the assembly in the application. Our decision was based on the following issues: Short Intro to AJAX AJAX means Asynchronous JavaScript and XML. The idea behind it is that a browser can make calls to the server in the background without needing to leave or refresh the page. The technique has been around for quite some years but only got its catchy name in 2005. Nowadays it makes use of the XMLHTTPRequest that's available natively in most browsers. However there are other techniques around like using an IFRAME that work in older browsers as well. Making use of this technique creates Web-based applications that behave like traditional client/server apps. When driving it to the edge, you can create a Web application with one single page like a MDI Frame that never gets refreshed and where all the processing and work is done in this one page. I saw different frameworks to create this type of application at the AJAXWorld Conference East (a Sys-con conference) in New York this spring. This behavior is certainly a trend for upcoming Web applications. Currently there are about 200 AJAX frameworks around. They range from simple JavaScript libraries to full-blown back-end/front-end solutions. As DataWindow.NET generates a lot of JavaScript already and we didn't need catchy screen effects (which wouldn't be too easy with DataWindow.NET) and a lot of other features we decided to write the asynchronous calls to the back-end ourselves. The Front-End For many labels there's a help button available. By clicking on it you get context-specific help for this label. The help information is retrieved through a Web Service and displayed in a dynamically created DIV tag in the current browser window (see Figure 2). Of course we implemented a fallback too where an additional browser window opens showing the help (just in case there's no way to make an asynchronous call). We also made use of AJAX in complex validations. Not for empty fields or simple values but for checking the possible ways the two parents of the applicant can live together and how they can take care of their child. As there are around 70 possibilities and we had the logic already implemented in the client/server management application in PowerBuilder, we decided to offer it as Web Service. We also overwrote the default Alert function in JavaScript, which shows a gray pop-up window, with a nice error message displayed in a DIV tag like the help information. In the ASP.NET part, when the page executes on the server, the text of the labels depends on the language the user has chosen. The translation is based on the name of the label and is done by the DataWindow.NET method Modify(). Reader Feedback: Page 1 of 1
Your Feedback
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||