Products

Declarative Configuration when Change is Constant

By DMcLeish

This article introduces a new series on web development using declarative configuration, which simplifies how your IT team can deliver an adaptive product lifecycle management (PLM) environment. Learn about the Siemens strategy to help you deliver Active Workspace solutions tailored to your unique business processes through declarative configuration of re-usable components, instead of writing custom software code. From here, you can continue the series by reading the declarative UI and declarative programming blogs.

herculaneum_heraclitus.jpgSo I thought the best way to start a blog posting on declarative web development and declarative configuration is to start in Ancient Greece. 😉


Heraclitus of Ephesus (b.535 – d.475 BC) was a pre-Socratic Greek philosopher and pioneer of wisdom. Heraclitus was famous for his insistence on ever-present change as being the fundamental essence of the universe: “The only thing that is constant is change.” Clearly he predated the web by a little while, nonetheless I am sure he would feel that his world view is as fitting now as it ever was in his time…Change is in fact increasing!

Change for the good


Change is a double-edged sword. To set the scene let’s first focus on recent change for the good as relates to our own domain of product lifecycle management (PLM). In the past few years, increased mobility with smart phones and tablets has provided new opportunities for mobile access to PLM. Adoption of familiar user interface (UI) patterns from everyday life (shopping cart, smart search) and enhanced possibilities for user experience through touch and virtual assistants have enabled more of the “extended enterprise” to embrace PLM. From the shop floor where there’s touch screen access to work instructions to executives empowered to simply search, sign off and interact with dashboards on their device of choice, increasingly the whole enterprise can contribute to and view the digital thread from product development to delivery.


At the heart of this change for the good is the rich web-based access to PLM that has been made possible by html5. Rich capabilities that have meant we can begin to reimagine how we collaborate and deliver products from inception, through realization and utilization. Zero-install rich, browser-based solutions remove the need for desktop install and reduce the IT deployment overhead through firewall friendly standard https requirements.


But developing in the browser has its challenges when targeting rich capabilities over high latency WAN and with limited memory resources. Arguably the greatest challenge is managing change. Whilst the emergence of HTML5 and CSS3 among other standards have provided a reliable basis for developing web solutions, the same cannot be said for much of the web development space. 

The other side of change 


One of the standard ways of providing web solutions is to create a rich, single page application (SPA). As a single page application, Active Workspace solutions do not reload the single page at any point, nor does control transfer to another page. Instead the perception of navigability of logical separate pages is provided by dynamically modifying the HTML DOM for the application. Content is dynamically loaded and swapped-out. History is managed as is the lifecycle of the pages, its state, resource consumption etc. There are several ways of providing for these features, however instead of reinventing the wheel there are web frameworks. However, web frameworks come in and out of fashion at a similar rate as clothing lines and herein lies a significant problem. 


Declarative configuration_history-of-web-frameworks-timeline.pngSource: https://raw.githubusercontent.com/mraible/history-of-web-frameworks-timeline/master/history-of-web-frameworks-timeline.png


The only thing that is constant is change” huh. Yep. No kidding. Web frameworks come and web frameworks go. This change has been due to evolution and experimentation before standards shake out. In short it’s a painful part of the process.


With such change comes significant challenges. There is the cost to react to change and adopt new versions or entirely new frameworks. Coupling large numbers of developers’ activity directly to a given web framework increases that liability and inhibits agility and the ability to evolve.


OK so it’s a headache for Siemens, but you may be wondering how that affects you? Well, what about extensibility? The same challenges faced by the Siemens development organization are also felt by all customizers of those solutions, and sometimes become barriers to entry to keep pace with the challenges of technology know-how. How do we continue to provide the benefits of open products and platforms without the headaches of such constant change in the web world?

Declarative configuration_longevity.pngSource: https://twitter.com/iamdevloper


A better way with declarative configuration for web development


So what is the strategy? Backing the big guy isn’t always a winning formula. We found that out a few years ago when it looked like Silverlight would be the best framework to use. But, unless every browser on the planet provides support as part of its core capabilities there is no guarantee for longevity. When tablets came onto the market with alternative OS options and browsers, the industry and the provider of Silverlight quickly shifted from that technology.


So having hopefully whetted your appetite here is a teaser for next time. What if we could significantly reduce the amount of code that needs to be written? What if there was a codeless way we could declaratively create and configure Active Workspace solutions? Not only would this significantly reduce liability and touch points to a given web framework, but we’d deliver increased performance and configurability to boot.


Declarative configuration of the UI is a new capability provided by the Active Workspace framework that allows for a concise, codeless and prescriptive definition of the UI view content, its layout, routing and behaviours. Actions, messages, events, service calls and their inputs/outputs can be mapped and described. It provides an abstracted means of declaratively defining the client UI and its behaviours so that how it is implemented is hidden.


Watch for my next blog for more details on declarative configuration.

Dave McLeish     


Senior Key Expert, CTO Office of Architecture & Technology, Siemens PLM Software

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/teamcenter/declarative-configuration-when-change-is-constant/