Blogs

Gary's Blog

December 2010 - Posts

  • XAF – Web Applications: Lightweight Rendering Mode

         

    XAF_LargeBefore I disappear for a few days holiday over the Christmas period, I just wanted to leave you with a little “present” from the XAF team. Now, you may have already heard that we have planned a lot of improvements to the XAF Web UI for 2011, including web application performance optimization. We have already taken the first few steps in this direction and we’d love to share the results with you. We are excited to let you know that the XAF Web UI now supports the Lightweight Rendering Mode of our web controls! Check out Mehul’s blog for details of the benefits of this mode.

    To make this work, the XAF team carried out deeper testing and fixed a lot of issues, however, we would still like to call it “beta” support in 10.2. Because of this, we would like to ask you to try it out in your own XAF web applications. Of course, we would love to hear your feedback and to fix any issues you may find. If all goes according to plan, we will enable the Lightweight Rendering Mode in XAF by default, in 2011.1. Smile

    So How do You Turn it on?

    You can enable this mode on in your Global.asax.cs code, for instance, using the following statement:

    protected void Application_Start(object sender, EventArgs e) {
        DevExpress.ExpressApp.Web.RenderHelper.RenderMode = 
            DevExpress.Web.ASPxClasses.ControlRenderMode.Lightweight;
    }

    This switch turns on Lightweight Rendering Mode for all controls, as of this time, those are ASPxPageControl, ASPxNavBar and ASPxMenu.

    What are benefits of This Mode?

    Well, numbers showing the improvements are provided in the blog post above. In reality, it depends on your particular case, primarily on how many navigation items are in your application, how many tabbed groups in your views layout, how many nested views you are using, how many actions shown and so on. Using our MainDemo.Web application we have about 20% less traffic using Lightweight rendering mode. So, if you have a slow internet connection it is worth trying.

    As always, we are eager to hear your thoughts in the comments below.

    Well that’s all we have for you this year. I’m sure you’ll agree it’s been a good year for XAF and we’ll be back next year to carry on the good work, so until then, happy XAFing and Merry Christmas Smile

  • XAF–The State of Domain Components Technology in V2010 Vol 2

         

    This post may be outdated. For the latest Domain Components concepts and examples refer to the current online documentation.

    During the 10.2 release cycle, we have been closely working with the XPO team to allow pure XPO to support many popular scenarios for Domain Components (DC) models, which were already supported in XAF. Now DC can work with all of the built-in XAF modules, including Scheduling, Tree List Editors, and File Attachment modules.

    However, there are still some technical obstacles, mostly on the XPO side, which unfortunately prevented us from releasing DC technology in 10.2. Just to keep you up to date with the “state of play”, these issues are:

    • We have no server mode support yet;
    • There is limited functionality in ASP.NET grids;
    • There are issues surrounding complex database table structures generated for DC models;
    • We have problems with certain kinds of validation rules.

    All of this means that we have not been able to move DC out of beta in 10.2. Sad smile

    However, it is not all bad news. As a result of our work on DC in 2010, we have been able to provided an example XCRM application, which is intended to demonstrate the use of DC to solve real business requirements. Briefly, this example is an application for sales, which provides both Windows Forms and ASP.NET user interfaces. This application also utilizes the latest shiny 10.2 features like Dashboards, KPI, Pivot-Charts editors, etc. Here is a screenshot of the Windows Forms UI:

    XCRM win form UI

    Another important aspect of the XCRM application is that it demonstrates all the best development practices that should be used when building XAF applications. In particular, it shows you how to write unit and functional tests for every business entity involved.

    It also provides two ready for use business libraries: the DomainComponents.Common – a library with common and base entities for working with XAF built-in modules and DomainComponents.XCRM – a library, containing entities specific for CRM applications. The completed XCRM application contains entities composed from the above base entities. For example, this is what an ICRMInvoice domain component looks like:

    Example domain compontent

    As you see, it is empty by itself and business logic is injected from the base domain components. This is a direct demonstration of the main advantages of DC – multiple inheritance and easy building libraries of reusable domain models. Finally, you can explore the XCRM application at %PUBLIC%\Documents\DevExpress 2010.2 Demos\eXpressApp Framework\XCRM\. It can also be launched via the Start menu directly or through the DemoCenter.

    Although, these problems look like “showstoppers”, we believe that from 10.2 ownwards you can seriously consider using DC for your future projects, if they are scheduled for release in H2 2011. At this time, DC is already stable and we are commitment to fixing all the known issues. It is also possible that we will release these fixes in minor versions so that you can start using and testing this functionality in real-world scenarios ASAP. As soon as we solve the known problems with DC, we will be happy to release it. If all goes according to plan, it will be done in 11.1, but no promises, because as you understand, DC is a quite a new technology and we still need to polish it to be sure that were are ready for real-world scenarios.

    Meantime, we are also planning to provide a series of in-depth videos and blogs showing, via the XCRM application, how to implement most common business tasks using DC. This should help you see all of the benefits of this technology in action. With the help of XCRM and related learning materials, brand new users will be able to get started with DC faster, whilst advanced users will be able to learn the technology thoroughly.

    As always, we are open to your feedback and would be happy to hear how DC works for you, and will be pleased to improve it if there is an issue or a popular scenario not currently covered.

    That’s all for this post, so until next time, happy XAF’ing. Smile

More from DevExpress
Live Chat
Have a pre-sales question?
Need assistance with your evaluation?
We are here to help.
Chat is one of the many ways you can contact members of the DevExpress Team. We are available Monday-Friday between 8:30am and 5:00pm Pacific Time.
If you need additional product information, require pre-sales assistance, or want help with your order, write to us at info@devexpress.com or call us at
+1 (818) 844-3383.