A method to be executed at least in part by a web front end, WFE, server, in a system for extensible web based diagram visualization services, the method comprising: in response to receiving a request for a diagram from a browser, being executed as a client application on a client device, including references to external data sources, forwarding, by the WFE server, the request to an update engine; receiving, by the WFE server, a rendered diagram from the update engine, wherein for each diagram element with a reference to a supported external data source, a backend server executing said update engine calls a built-in data provider for connecting to the supported data source, and retrieves data by running a query against the supported data source; providing, by the WFE server, the rendered diagram to the browser, the rendered diagram having updated attributes of elements received from supported and non-supported data sources that are polled at render time; wherein for each diagram element with a reference to a non-supported external data source, when the update engine encounters a connection string that cannot be handled by the built-in data providers, the method further comprises: determining, by the backend server, a connection string for a custom data module; if no custom data module is found, returning an error code to the WFE server, else if a custom data module is found, returning, by the backend server, the connection string for the custom data module to the WFE server; receiving, by the WFE server, the connection string from the update engine, wherein the custom data module implements a predefined abstract class; invoking, by the WFE server, the custom data module for retrieval, generation, and aggregation of data from the external data source; receiving, by the WFE server, data in a predefined format from the custom data module; and forwarding, by the WFE server, the received data to the update engine. in response to receiving a request for a diagram from a browser, being executed as a client application on a client device, including references to external data sources, forwarding, by the WFE server, the request to an update engine; receiving, by the WFE server, a rendered diagram from the update engine, wherein for each diagram element with a reference to a supported external data source, a backend server executing said update engine calls a built-in data provider for connecting to the supported data source, and retrieves data by running a query against the supported data source; providing, by the WFE server, the rendered diagram to the browser, the rendered diagram having updated attributes of elements received from supported and non-supported data sources that are polled at render time; wherein for each diagram element with a reference to a non-supported external data source, when the update engine encounters a connection string that cannot be handled by the built-in data providers, the method further comprises: determining, by the backend server, a connection string for a custom data module; if no custom data module is found, returning an error code to the WFE server, else if a custom data module is found, returning, by the backend server, the connection string for the custom data module to the WFE server; receiving, by the WFE server, the connection string from the update engine, wherein the custom data module implements a predefined abstract class; invoking, by the WFE server, the custom data module for retrieval, generation, and aggregation of data from the external data source; receiving, by the WFE server, data in a predefined format from the custom data module; and forwarding, by the WFE server, the received data to the update engine. determining, by the backend server, a connection string for a custom data module; if no custom data module is found, returning an error code to the WFE server, else if a custom data module is found, returning, by the backend server, the connection string for the custom data module to the WFE server; receiving, by the WFE server, the connection string from the update engine, wherein the custom data module implements a predefined abstract class; invoking, by the WFE server, the custom data module for retrieval, generation, and aggregation of data from the external data source; receiving, by the WFE server, data in a predefined format from the custom data module; and forwarding, by the WFE server, the received data to the update engine.