To continue with this content, please log in with your Data Access ID or create a new account.
Cancel Data Access ID
You may not be authorized to see this content. Please contact Data Access Europe for more information.
Cancel Data Access Europe
You are not authorized to see this content.
Cancel Data Access Europe
Next lesson:
WebApp Framework
Cancel

What's New in DataFlex 2022

Lesson 4 - WebApp Server

In this lesson, we'll emphasize some of the improvements we made to the web server.


  • Smarter Process Pooling logic

When starting a new process, the incoming calls will not wait for that process to be started, that request will be assigned to the first available process, which is likely not the new process with an existing process. So basically, we made the starting of processes an asynchronous thing. And this makes the response times more stable. We also made the disposing of processes that are not needed, because the load has dropped, smarter. So instead of dropping all processes at once, it will basically slowly degrade the size of the pool over a longer period of time. And it will actually base this on the load. So it keeps statistics. And when the load gets below a certain point, it will start disposing processes until it reaches the minimum size of the pool, or the pool size matches the load that is on the web server.


  • More visible in the administrator

We have some new statistics like load indicators, web startup times average response times. And we're showing some other things like the process IDs

Let's take a look at an example, open the WebOrder workspace


And open the Web Administrator.


So now we see that if you select a web application, that on the right, you have a longer list of Statistics. For example, it shows here, the average process startup time, the effort prep process started time for this application is around 600 milliseconds, so about half a second. We also see that currently there is no load on this server, it says current load is 0%. And the peak load has been at 23%. We also see efforts response time being 13 milliseconds, and the maximum response time is 85 seconds, milliseconds. So this is the response time, the time it takes for web server to handle an HTTP request. Of course, this does not include the network communication, because that's outside of the scope of the web server. 


If we look at this SQL application, for example, we see that starting of SQL applications is a little slower because it has to connect to SQL Server and has to do more things. 


  • Administrator now remembers size and position
  • Helps to update WebApp name

  • Automatically replaces name in Global.asa, *.wso and web.config (HTTP Handler)
  • New API for reading webapp.log files
  • From running applications
  • From disk


This API can best be seen by looking at the specialized components workspace.


Here is a project WebAppLogReader.src and if you run that, you get this view.


And it has the option to open a log from disk or from a running web app. So if you open a running web app, it shows you a list of all the active web apps. 



You can also choose to open from disk, I have a copy of a WebApp.log here that I'm going to open.


As you can see this replication has had some errors and all the sessions are actively logged here.


You can use this to analyze log files that you downloaded from one of your deployment servers. Or if you have a customer that sends you one, you can now use this little tool to open it. And because it's all DataFlex source, you can also implement your own tools to work with these log files.