Dear Roger/All
What is the difference between CXP and WAA ?
With the availability of CXP do we still need WAA for Web application development ?
I am asking this because Alaska still features WAA as a product in their website.
Thanks.
Joe
CXP vs WAA
Re: CXP vs WAA
I have never been a fan of the WAA concept. I tried it a few years ago. I would have probably gone on to use it if Xb2.Net had not come along. Xb2.Net simplifies web development with it's client and server capabilities and its excellent performance. WAA and Xb2.Net have something in common, in that they both require recompiling when making source code changes. Xb2.Net IS the web server. It talks directly to sockets whereas WAA talks to a web server like IIS or Apache via CGI (very slow).
CXP is a very different concept. CXP pages are compiled on-the-fly and therefore do not require rebuilding the executable DLLs and/or EXE. CXP is similar to ASP and PHP in that they merge code and html in a single source file.
CXP is designed to work with a web server like IIS or Apache, but is in no way similar to WAA. It uses fastCGI which greatly improves performance.
Think of CXP like you think of HTM files. If you develop web apps then you know that you can simply modify the HTM files with an editor and nothing else is required. The next time the page is visited, the new html is sent to the browser. CXP works in the same way. IIS or Apache are setup to call CXPworker.Exe any time the web server sees a .CXP extension on the resource being requested. CXPworker.Exe then compiles and links the CXP into a runtime DLL which is loaded into memory, executed and released. The DLL will only need to be recompiled if the date/time stamp on the CXP file is later than the DLL. It performs very well. I am using CXP pages on my http://donnay-software webpage now, including the ordering page. It is running under Apache. I like this solution because I also use Apache for this phpBB forum. Click here to see the ordering page: https://donnay-software.com/ds/orderprocess.cxp.
CXP also has a robust system of session management and a unique feature in which form elements are automatically read as class variables in the CXP application class. Query string variables can be received as parameters in your code too. Programming in CXP is unique and fun but could even be better if there were a few additions. For example, CXP pages have sections called page-render and page-global. I would like to be able to merge code and html in the page-global functions as easily as I can do it in the page-render area. I have been discussing this with Andreas at Alaska and I think he favors it.
Alaska also plans to give full CXP support to the WebHandler class. This will allow CXP pages to be run from within an Xbase++ application. Actually, I am doing this now in a few test cases but it is not ready for prime time. I am using HttpEndpoint and WebHandler to create a web server in Xbase++. It is still not as good as Xb2.Net in features but is very fast and has great features on the horizon, especially when it fully supports CXP.
I can understand why WAA still is available. It is a fully-documented, mature system which probably has a lot of users. Alaska tends to maintain support for older technologies and this is good.
The attachment contains OrderProcess.Cxp and Order.Htm. You will see how these work together to create an ordering page that handles form input and validation and also sends a copy of the order by email.
CXP is a very different concept. CXP pages are compiled on-the-fly and therefore do not require rebuilding the executable DLLs and/or EXE. CXP is similar to ASP and PHP in that they merge code and html in a single source file.
CXP is designed to work with a web server like IIS or Apache, but is in no way similar to WAA. It uses fastCGI which greatly improves performance.
Think of CXP like you think of HTM files. If you develop web apps then you know that you can simply modify the HTM files with an editor and nothing else is required. The next time the page is visited, the new html is sent to the browser. CXP works in the same way. IIS or Apache are setup to call CXPworker.Exe any time the web server sees a .CXP extension on the resource being requested. CXPworker.Exe then compiles and links the CXP into a runtime DLL which is loaded into memory, executed and released. The DLL will only need to be recompiled if the date/time stamp on the CXP file is later than the DLL. It performs very well. I am using CXP pages on my http://donnay-software webpage now, including the ordering page. It is running under Apache. I like this solution because I also use Apache for this phpBB forum. Click here to see the ordering page: https://donnay-software.com/ds/orderprocess.cxp.
CXP also has a robust system of session management and a unique feature in which form elements are automatically read as class variables in the CXP application class. Query string variables can be received as parameters in your code too. Programming in CXP is unique and fun but could even be better if there were a few additions. For example, CXP pages have sections called page-render and page-global. I would like to be able to merge code and html in the page-global functions as easily as I can do it in the page-render area. I have been discussing this with Andreas at Alaska and I think he favors it.
Alaska also plans to give full CXP support to the WebHandler class. This will allow CXP pages to be run from within an Xbase++ application. Actually, I am doing this now in a few test cases but it is not ready for prime time. I am using HttpEndpoint and WebHandler to create a web server in Xbase++. It is still not as good as Xb2.Net in features but is very fast and has great features on the horizon, especially when it fully supports CXP.
I can understand why WAA still is available. It is a fully-documented, mature system which probably has a lot of users. Alaska tends to maintain support for older technologies and this is good.
The attachment contains OrderProcess.Cxp and Order.Htm. You will see how these work together to create an ordering page that handles form input and validation and also sends a copy of the order by email.
- Attachments
-
- orderprocess.zip
- (6.95 KiB) Downloaded 518 times
The eXpress train is coming - and it has more cars.