Skip to content

About apps

Tiberiu Craciun edited this page Nov 9, 2015 · 5 revisions
About the framework

Currently LWAS wraps the Page model implemented in ASP.NET WebForms, hooked to the Webparts framework that was originally developed for Sharepoint. The Webparts framework comes with powerful features to manage components in a plugin manner, things that every platform have out of the box. Although Webparts were developed only for Sharepoint there are ways to reuse that code for different purpose. LWAS only uses the framework and greatly extends it to be an IoC container, thus is not compatible with Sharepoint and can't run hosted in Sharepoint. However LWAS runs as an ASP.NET Web Forms app and can be easily used as a class library to build custom extensions.

Also because the Webparts framework was not ported to Mono LWAS runs only on Windows.

About lifetime

A LWAS app is a web app thus is bound to the same restrictions imposed by the stateless nature of the web. Moreover a LWAS app is an ASP.NET Web Forms app thus it has the same ASP.NET Page life cycle. Every screen in LWAS runs inside a Page and every component available to a LWAS app is an ASP.NET Control and every thing that happens in a LWAS app may happen within each request, be it get or post of a webpage, full or partial postback.

That been said, LWAS does implement it's own lifetime.

About app structure

A LWAS app consists of database and screens.

A LWAS app database is a representation of a database structure including keys and relations (the Tables ) and ways to aggregate the data (the Views). The views were inspired from Drupal views and have the same logical role to present to the developer the entities that are stored in the database as he understands them. Accordingly the views are available to the developer only thru a component which has to present in the screen structure (as Drupal Views is a Module and has to be installed and activated to work), even though they're builtin LWAS.

The screens are the user interface in LWAS and have components that make available all the LWAS features (such as the Views) including two special components, one to run the workflow and another to bind SqlServer objects. The later can totally replace the Views in an alternate app structure (e.g. to maximize performance). Is essential to note that flows are bound to a screen and can only run in a screen, tight to the lifetime. Read more here about how LWAS screens plug into ASP.NET pages.

A LWAS screen structure may vary depending on which components where made available in the ASP.NET master or individual page.aspx. The typical, complete app structure is:

More reference documentation for screen components in this separate page.

Clone this wiki locally