Updated: 10/12/2016

Developing Solution: Performance Analysis


Design Guide

The design guide prototype is in fact online already. The website provide intuitive and easy access to the design elements and components needed to develop the front end. Middleman will be implemented in the future to improve access speeds. This website will eventually be deployed through Microsoft Azure. Microsoft Azure’s performance and stability features will sufficiently accommodate our performance needs. The design guide is a simple documentation website with little user input at this stage. For instance, Microsoft Azure promises “99%” uptime which is greater than our 99% uptime constraint.


How to achieve Operational/Functional Capabilities

  • The design guide shall follow professional medical colour scheme guidelines
  • Can be satisfied through modifying our html/css files
  • The design guide shall contain components and code examples with guidelines
  • Components documentation can be acquired from the source and modified to meet our needs
  • Code examples can be achieved with a variety of techniques such as “SyntaxHighlighter” in JavaScript
  • Design elements will be provided by our client and included as content in the design guide
  • The design guide shall be scalable and compatible with mobile devices
  • Achievable through BootStrap’s innate responsive scaling feature
  • The design guide shall be built as a static site with Middleman
  • Achievable through installing and configuring Middleman

  • How to achieve Performance Capabilities

  • The front end shall have a uptime of 99% if project has finished successfully with other peach sub-teams
  • Satisfied by Microsoft Azure
  • The overall front end shall be scalable to meet requirements guidelines
  • The design guide shall contain design to allow expansion of concurrent users
  • Microsoft Azure allows 300 concurrent connections on the basic tier, 600-2,400 on the standard tier and 30,000 on the premium tier. 300 is sufficient for the current stage, however, expansion is possible



  • Form Renderer

    Given that the requirements for the form renderer are at this stage very vague, as Team 41 are yet to finalise details regarding the generator and backend integration. Accordingly, our prototype represents a simple architectural demo of how a web scraper program can be integrated with a script to update HTML pages by data pulled from external HTML files. No specific performance capabilities have been outlined by the client as of yet.


    How to achieve Operational/Functional Capabilities

  • Form renderer shall support constructing forms through components fed through the backend
  • By using a common language and framework for development (React-Bootstrap) and by keeping in constant contact, we will ensure our renderer is compatible with the components fed to it by Team 41’s project
  • Form renderer shall push input data back into the backend
  • We will work closely with Team 4, ensuring they have clear specifications and requirements and keep in constant contact to ensure that we can integrate our renderer with the generator which is the link to the backend
  • Form renderer shall reject inappropriate input formats
  • There are several data validation techniques we can implement in React, however it ultimately depends on how Team 41 implements the templates, which is at this point unknown

  • How to achieve Performance Capabilities

  • Although there is no solid requirement on the speed/latency of the form renderer, we would like the form rendering experience to be as smooth as possible
  • If for example, we were to use a rendering engine similar to Microsoft Dynamics rendering engine, this would allow 300+ fields to be rendered in under 4 seconds
  • [1]

    References

    [1] Microsoft Dynamics CRM Team Blog. (2016). Microsoft Dynamics CRM Online 2015 Update 1 – New Form Rendering Engine. [online] Available at: https://blogs.msdn.microsoft.com/crm/2015/04/29/microsoft-dynamics-crm-online-2015-update-1-new-form-rendering-engine/ [Accessed 10 Dec. 2016].