Product description

Introduction

wEngine is a HTML5 Web Application development platform capable of creating the next generation of powerful Content Management (CM) solutions. The engine is built upon the solid foundation given by the C# language and the Microsoft ASP.NET Core framework.

Our mission is to provide solutions that require modern CM capabilities. As opposed to dated CMS frameworks, wEngine provides superior performance, customization, flexibility as well as remarkable cost effectiveness. wEngine is a proven technology that has been successfully applied to a growing number of projects, replacing existing CMS based solutions.

Definitions

Responsive Design

Web-design that allow the composition of the layout to change depending on user screen-size, resolution and web-browser capability. This will allow users to view the same web-site from different devices such as smart-phones, tablets and PC and the user-interface will adapt to the devices; this will limit the need to scroll and zoom in comparison to traditional web-design.

GUI

Graphical user interface is a type of interface that allows users to interact with a device through graphical icons and visual indicators.

Website

A large collection of pages where the interaction with the user is based on navigating between different pages by HTTP post/get; this is the model that CMS is using. Microsoft did the same initially (2002) with their old webforms software stack, but began to replace it with their more modern MVC software stack in 2008. The Website model creates sites with low performance due to the huge amount of data that is send between servers and web-browsers; in such solutions it is difficult and outright impossible to implement a responsive and performant GUI. Examples of solutions that still use this type of sites are news-sites, blogs and business websites.

Web-application

A site that consist of few web-pages that interact with the user with a fast and responsive GUI implemented by modern technology such as javascript, XHR and AJAX. A web-application behaves as an application that is run within a web-browser. Examples of web-applications are gmail.com, outlook.com and online booking sites.

Content

Digital presentation contents such as text, image, audio and video. Created and used in online publishing.

CM

Content Management, or CM is a process and technologies that support collecting, processing and publishing of information on a media, in our case the web. When stored and accessed via computers, this information has come to be referred to, simply, as content or, to be precise, digital content. Wikipedia

CMS

CMS are a variant of CM – an info-system for managing and publishing different types of electronic information. The purpose of CMS is to minimize development time and programming skills by providing functionality in prefabricated building blocks/modules that can easily be plugged in.

The price it pays for archiving this is bad performance, high development cost when flexibility and customization are needed.

wEngine – the beginning

The developers behind wEngine have had a long experience of designing and developing web-based CM systems in the Self Service business. Their field experience and architectural design experience for developing is the foundation for the development of wEngine.

The selling point is for customers in need of a service where they can publish and manage their content without the drawback of traditional CMS tools regarding to performance, flexibility, customization and responsive design.

Usage

wEngine is an engine and platform for:
  • Web-applications
  • Internet and Intranet online publishing
  • Web-based info-channels for enterprises
  • Social networking
  • Self Service
  • All kind of enterprises that need to manage content on the web
  • Information retrieval by a both powerful search engine and a tag based taxonomy system

Product scope

  • CM Framework supporting editable content for whole pages or sections of pages
  • Complete support for internationalization (i18n)
  • Extensible with new user interfaces and functionality
  • High performance and responsive GUI
  • Optimized database access
  • Modular, flexible and extensible
  • A Powerful and market-leading open-source search engine – Solr
  • Content can be categorized within a taxonomy-system by using tags and topics
  • Market-leading web text editor (CKEditor) to create and edit content
  • Support for GUI themability
  • Template based content for customizability and unification of the GUI
  • Content Delivery Network based media storage for files such as images and movies
  • Flexible security framework based on roles and groups
  • Easy to install and low-cost for the IT-management
  • Extensible context based help system
  • Integrates with external systems using REST/SOAP web services
  • SEO Optimized - Friendly with external search engines like Google and Blink
  • Cross platform - runs on Windows and Linux

A scenario

Company Contoso – new player in the furniture industry Contoso want a new channel for marketing their products on the web.

Background

Contoso want to market all the company's products on the web – both those sold in their stores and on the web. They sell articles both for home and office. The articles is grouped in different categories. Contoso are in the process to expand to Norway and Finland that necessitates multi-language support and internationalization.

Both customers and company administrators shall be able to login to the system with different credentials. Administrators shall be able to manage products, categories, departments, tags etc. Users shall also be able to register as customer. Registration is required for shopping and receiving offerings.

A navigation-menu containing categories, departments and a search-box are to be displayed on all the trading pages. A non-intrusive context-sensitive help system should be available to guide customers. The front page will present the offers of the week. Each department presents their own products and special offers.

Other important requirements for the site is performance, interactivity, responsive design and branding. The site shall work on different types of devices such as smart-phones and tablets and should conform with Contoso's graphics/branding.

Why Contoso chose a wEngine based solution

The company felt that wEngine fulfilled all their current and future requirements due to its flexible architecture. The price was right and no additional investments in hardware, software or licenses were needed.

Usage of wEngine in the project

The system is customized after Contoso's usage of products and departments. The GUI's for the customers and the employees are defined. The employees' GUI's contains administrative functions for tasks such as defining products and departments etc and are only available for users with proper credentials.

A new wEngine theme is created to conform with the company's branding. An integration with the company's CRM and AIS system is developed. Group authorization are defined as public, customer and administrator.

Text in the site is created in Swedish and translated to Norwegian, Finnish and English. List of products and their templates are defined.

Conclusion

wEngine is a flexible and modular platform. You use it like a toolbox, you select those tools/modules that fit your requirements. External libraries like jquery-plugins are easy to integrate and it is easy to extend and create new functionality when needed.

Works great in agile projects!

Advantages of wEngine

  • Flexibility, our experience tells us that each project is unique and flexibility is a requirement
  • Is based on future proof technologies such as html5, SVG, CSS3, ECMAScript 5
  • Uses established platforms such as Microsoft ASP.NET Core, jQuery, Sql Server / PostgreSql, Solr
  • Performance – many studies have shown that fast interactivity on the web is very important, wEngine achieves good performance due to:
    1. .net runtime that are many times faster than interpreted runtimes such as PHP and Python which is used in popular CMS
    2. Optimized usage of databases by using stored procedures with database provider native syntax. We have recorded an average 500% performance increase vs usage of the Entity Framework (EF). For some performance critical tasks we have achieved performance increase of up to 100x times
    3. Usage of asynchronous JavaScript( AJAX ) to provide a fast and more interactive user interface experience
  • Efficiency – low resource requirements for web-servers and databases; achieved by efficient technologies – .net runtime, optimized database queries and AJAX. wEngine also takes advantage of the processing power in modern web-browsers and of-load server processing and minimize communication by scaling out tasks to the web-browsers. This efficiency means that wEngine is often a more environment friendly solution
  • Good support for internationalization, important today due to legal requirements for minority languages such as Sami and Jiddisch
  • Low running costs and minimal need for investments – the efficient engine enables usage of existing infrastructure such as servers, networks and support staff
  • Easy handling of licenses, due to large usage of Open Source technology
  • Fast, powerful and market leading search engine (Solr)

Market evolution – Old truths are not valid any longer!

Historic overview
9 November 2004 (Firefox 1.0 Release ) - 14 Mars 2011 (Internet Explorer 9 Release) This period was characterized by:
  • Microsoft defacto monopoly over the web and its technologies is challenged and a slow process of migration to common standards is started
  • Two camps of competing standards dominates during this period that all web-developers has to consider – Microsoft's standards and common standards from groups like W3c and Ecma
  • Transition from html4 -> xhtml -> html5
  • Two competing future standards for the html, xhtml 2.0 against html5, in the end html5 is adopted by the industry
  • Different interpretations of standards between different web-browsers and different versions of same web-browsers
  • Limitations in functionality and performance in JavaScript hampers development
  • Usage of browser-plugins (Flash, Java Applets, Silverlight, ActiveX etc.) to circumvent the limitations of web-browsers and JavaScript
  • The fragmentation of this period and the limitations of html, css and javascript made it difficult and expensive to develop web-applications. The solution at this time was to develop web-pages as websites based on CMS in combination with plugins such as Flash and Applets to achieve an interactivity that CMS not could provide.
The Web today
  • No supplier has monopoly over web-browsers and a consensus exists by the actors to follow established web standards
  • The different actors on the net collaborate on new standards
  • The Html5 transition is completed and all new versions of web-browsers supports it
  • Differences on how web-browser implements standards have seen a drastic decrease
  • An extensive process of standardization and expansion of the Javascript language is underway under the umbrella of the Ecma association where all the major players are involved. All manufacturers have worked hard to improve the performance of JavaScript in their browsers. Jquery, a JavaScript framework, has been developed to facilitate Javascript programming
  • Web-browser plugins are replaced by new standardized technologies and a number of browsers are dropping plugin support altogether. The usage of plugins are decreasing rapidly
Conclusion

The development of web-technologies makes it easier and less expensive to create interactive applications that are run within web-browser. The addition of technologies like Html5 CSS3, SVG, ECMAScript 5+ enables and ease the development of web-applications. The process of standardization of web-technologies decreases both development time and the money needed to develop and support web-applications. The existing CMS platforms based on existing modules are still a good choice for simple sites and services with limited requirements - in this market the CMS is still relevant. Common requirements today are that services on the net shall act as an application with a performant, interactive and responsive GUI; requirements a CMS can't supply.