8
www.infoteam.de iAutomation - Software Architecture for Mobile Devices Whitepaper

Whitepaper iAutomation - Software Architecture for Mobile ...donar.messe.de/exhibitor/hannovermesse/2018/G... · 1 Introduction infoteam Software AG uses the term „iAutomation“

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Whitepaper iAutomation - Software Architecture for Mobile ...donar.messe.de/exhibitor/hannovermesse/2018/G... · 1 Introduction infoteam Software AG uses the term „iAutomation“

www.infoteam.de

iAutomation - Software Architecture for Mobile Devices

Whitepaper

Page 2: Whitepaper iAutomation - Software Architecture for Mobile ...donar.messe.de/exhibitor/hannovermesse/2018/G... · 1 Introduction infoteam Software AG uses the term „iAutomation“

2

iAutomation - Software Architecture for Mobile Devices

1 Introduction

infoteam Software AG uses the term „iAutomation“ for a system which al-lows intuitive and user-friendly control of industrial applications via smart-phones and tablets, which has already been successfully implemented for several customers.

This white paper introduces the basic software architecture for client, ser-ver and communication of the multi-platform system. It explains the basic technology for the visualisation and server, a technology that is independent from the platform. These components can be reused and employed flexibly as an iAutomation toolkit. This framework allows the quick development of prototypes and a significant reduction of development costs.

Industrial software development faces the current challenges of transferring complex coherences from PC to mobile devices. Detailed views, which can still operated precisely using a mouse, are simply unsuitable for tablets and smart phones. The necessary usability for such purposes cannot be compa-red with conventional operating concepts. The user must be able to fulfil his technical task reliably and at the same time wants to operate the software intuitively without having to spend much time getting used to it. Last but not least, operating a device should be enjoyable and comfortable (joy of use).

The technological decisions are also becoming increasingly complex. The monotony of the Windows PC has given way to a variety of target platforms with very different development tools and operating systems. There are va-rious problem-solving approaches for this multi-platform development:

�� individual native development (Java for Android, C# for Windows RT/8, ObjectiveC for iOS) �� use of cross compilers (Mono, MonoDroid, MonoTouch, PhoneGap) �� web-based development for the ubiquitarily available browsers (HTML5, CSS3 JavaScript)

While native development for each individual target platform is both time-consuming and expensive since the code cannot be reused. Cross com-pilers, on the other hand, are still living a niche existence which is threa-tening to the investment protection.

AutHorDirk Beinertinfoteam Software AG

SummAry�� Intuitive and user-friendly control of industrial appli-cations�� Software architecture for client, server and commu-nication�� iAutomation toolkit

KeywordSiAutomation, Softwarearchi-tektur, Google Web Toolkit, mobile devices, firmware, web technology, HTML5, CSS3, JSON-RPC

Version 1

# WP-13-06-2

© 2013, infoteam Software AG

Page 3: Whitepaper iAutomation - Software Architecture for Mobile ...donar.messe.de/exhibitor/hannovermesse/2018/G... · 1 Introduction infoteam Software AG uses the term „iAutomation“

3

2 GWT client

Thanks to software development using Java type-safe programming is pos-sible, which will detect the majority of errors early on during the compilation. The programming language allows the use of established design patterns, thereby ensuring the clean structuring of larger applications.Comprehensive software solutions typically include a large variety of user interface (UI) elements, which are connected by data relationships. In order to separate the responsibilities of the software modules and avoid any cou-pling within the code, the model view controller (MVC) design or an extensi-on is commonly used (see fi gure 1).

The direct controller-to-controller coupling in the MVP architecture is repla-ced by a standardised event bus. The various views register their events at this event bus as a central location. They also subscribe to the events of the neighbouring views without having to know any details concerning their im-plementation. The body of literature about design patterns now refers to the control as the „Presenter“, and GWT developers use the term „Activity“. In addition, this is given a status class („Place“) for storing the internal states of the views. This way numerous views can be processed in parallel without having to fear repercussions on other views.

Figure 1: Draft pattern MVC and extended MVP

Controller

Model View

MVC

GWT-MVP

Eventbus

Activity Place Event Event-HandlerActivity Place Event Event-Handler

ActivityActivityActivityActivityActivityActivity PlacePlacePlacePlacePlacePlace EventEventEventEventEventEventEvent-HandlerEvent-Event-Event-Event-HandlerHandlerHandlerHandlerEvent-HandlerActivity Place Event Event-Handler

Model View

Controller

Model View

Compared to JavaScript the web-based approach using the Google web tool-kit (GWT) allows a comfortable, model-based and type-safe development. The following JavaScript transformation in carried out by the GWT engine. Below this concept is illustrated in further detail.

Page 4: Whitepaper iAutomation - Software Architecture for Mobile ...donar.messe.de/exhibitor/hannovermesse/2018/G... · 1 Introduction infoteam Software AG uses the term „iAutomation“

4

A similar principle of event centralisation is employed for the use of the OSGi framework as a firmware counterpart to the visualisation software. OSGi is based on a service-oriented architecture (SOA). The applications show only a small degree of coupling with each other. At the start of an application bund-le, so-called activators check the availability of the services that are to be subscribed. If this fails, only the individual application will be affected. New packages or software updates are introduced to the file system by a simple copying process. This means that there is no need for a complex installation.

A special OSGi bundle, the so-called „eventadmin“, is used as a transfer en-tity for events, which come from the client or the underlying fieldbus (see figure 2). A web server addresses the calls by the client to the respective firmware application. An optional management component is responsible for persistence and memory administration.

3 OSGi server

web server application

OSGi

fieldbus stack

http servlet

eventadmin management

Figure 2: Firmware-Eventadmin

Page 5: Whitepaper iAutomation - Software Architecture for Mobile ...donar.messe.de/exhibitor/hannovermesse/2018/G... · 1 Introduction infoteam Software AG uses the term „iAutomation“

5

Insta Elektro GmbH, a German manufacturer of building system technology, and its OEM customers Gira and Jung rely on infoteam Software AG and GWT for their new eNet system. This easy-to-retrofit radio system for state-of-the-art building automation allows the easy installation and comfortable operation of, for example, lighting actors and blind actors in a residential property. The software can be operated both via the PC and via smartpho-nes and tablets that are used in the household.

Using the eNet commissioning software networks can be planned and their sensors and actors wired easily and intuitively by drag and drop techniques (see figure 3). Radio diag-nosis and automatic de-vice learning are just some of the many features that are offered by this system.

Figure 3: eNet commissioning software

4 Communication via JSON-RPC

In our example, client and server are communicating by http/https via LAN and WLAN. The net data correspond to the so-called JSON-RPC format. This serialisation of objects and methods in strings, which is well supported by Java, as well as the respective deserialisation at the recipient represent an open and extendable interface between the firmware and the mobile device.

5 Application example

Page 6: Whitepaper iAutomation - Software Architecture for Mobile ...donar.messe.de/exhibitor/hannovermesse/2018/G... · 1 Introduction infoteam Software AG uses the term „iAutomation“

6

infoteam Software AG and its customers have been developing tablet and smartphone software at an early stage. The decision to use the browser-ba-sed GWT technology has proven to be the right decision in many successful projects. Experience up to now has shown that the Google compiler works perfectly. Thanks to HTML 5 and CSS 3 all kinds of requirements towards UI design can be fully satisfied.

The use of Java for the client and server allows a uniform software architec-ture for the entire system. Due to its possibilities of extension, the Eclipse development environment meets all requirements of professional software development. Also, it can easily be integrated in application lifecycle solu-tions such as the Microsoft® Team Foundation Server (TFS) and continuous integration build servers like Hudson/Jenkins.

6 Conclusion

Innovatives Interaktionskonzept in der Gebäudeautomatisierung (innova-tive interaction concept for building automation), Christof Burmann, Insta Elektro, Automation Day Franken 2012, Nuremberg, 11 July 2012.

Google Web Toolkit (GWT): Open Source mit Netz und doppeltem Boden (open source with a safety net and double bottom), Dirk Beinert, infoteam Software AG, Cluster mechatronik & automation Workshop “Open-Sour-ce-Software”, Augsburg, 14 May 2012.

7 Literature

8 Credits

We would like to thank Insta-Elektro GmbH in Lüdenscheid, Germany, for its kind permission to present our joint development results.

Page 7: Whitepaper iAutomation - Software Architecture for Mobile ...donar.messe.de/exhibitor/hannovermesse/2018/G... · 1 Introduction infoteam Software AG uses the term „iAutomation“

7

Continuous- Process for the daily compilation and testing of softwareIntegration (during the night)(G)UI (Graphical) user interfaceGWT Google web toolkitMVC Model-view-controlMVP Model-view-presenterOSGi Java firmware framework, SOA-basedTFS Microsoft® Team Foundation Server – PLM/ALM toolSOA Service oriented architecture

9 Glossary

Page 8: Whitepaper iAutomation - Software Architecture for Mobile ...donar.messe.de/exhibitor/hannovermesse/2018/G... · 1 Introduction infoteam Software AG uses the term „iAutomation“

Contact

infoteam Software AGEmil-Figge-Straße 80D-44227 Dortmund

Phone: +49 (0) 231 / 97 42 56 - 00 Fax: +49 (0) 231 / 97 42 56 - [email protected]

infoteam Software AGAm Bauhof 9D-91088 Bubenreuth

Phone: +49 (0) 9131 / 78 00 - 0 Fax: +49 (0) 9131 / 78 00 - 50 [email protected]

infoteam Software AGLaubisrütistrasse 44CH-8712 Stäfa

Phone: +41 (0) 44 927 15 15 Fax: +41 (0) 44 927 15 10 [email protected] www.infoteam-software.ch

infoteam Software (Beijing) Co., Ltd.Zhongguancun North Street 151Yan Yuan Resource Tower, Room 820 100080, Haidian District Beijing China

Phone: +86 (0) 10 5887 6786Fax: +86 (0) 10 5887 [email protected]