General Information

On-site trainings in Jena

Due to the current situation, we have not planned any dedicated dates. However, we are happy to accept requests. Provided there are enough requests, we will plan trainings for smaller groups.

Our trainings usually take place for groups of three or more participants. In case of a cancellation, we will always inform you in advance. Meals are not included. At our location in Jena, there is the option of having lunch in a nearby canteen. Drinks such as water will be available for participants. If you have any questions about travel or accommodation, please contact us.

For all enquiries, please use this e-mail adress: info[at]datainmotion.com

These are the trainings we offer:

  • OSGi and bndtools (2-3 days)
  • Practical Modelling (2 days)
  • Modelling and Digital Transformation (2 days)

Pricing:

  • OSGi and bndtools (2 days): 1.309,- € (incl.VAT) or OSGi and bndtools (3 days): 1.547,- € (incl.VAT)
  • Practical modelling: 1.428,- € (incl.VAT)
  • Modelling and Digital Transformation: 1.428,- € (incl.VAT)

Our training on BND

As an industry standard, OSGi offers a set of powerful tools and specifications that make your software more effective, efficient and maintainable. Modular software development and microservices are on everyone’s mind at the moment. OSGi has been doing both for a long time. And if used optimally, it leads to a decoupled way of programming.

OSGi and its development are often considered as complicated, which was the case in the past. However, with the current versions of BND, development is easier than ever. Moreover, BND instinctively teaches the right way to handle dynamics and allows for an efficient yet clean development process.

As an active developer as well as user of BND and BNDTools, we provide insight into their use. From the local development environment to release builds on the CI server: BND can do it all. Embedding in Maven as well as Gradle is an option that will be covered in our training.

Course duration: 1 day

The courses are partly based on theoretical presentations and partly on hands-on training to actively learn and practise the use of this technology.

Topics

  • Introduction to Bnd and BNDTools
  • BND Workspace and Workspace templates
  • Bundle development and Api baselining
  • Macros and Exporters
  • BND Project Templates
  • CI and release processes

Our training on modelling

Data is the precious commodity of today’s world. Well-structured data and processes can boost the efficiency of a company. Modelling is thus an essential success factor for digitalisation. Optimal formalisation of existing knowledge creates the framework for a better understanding of products and processes. Likewise, it opens up new opportunities and business concepts.

What we mean by modelling and transformation and how we work with it

Digitalisation and digital transformation are THE subjects for companies in this day and age. The Internet of Things (IoT), artificial intelligence (AI) or Big Data are all developments that constantly fall within the context of digitalisation.

In times of digital change and in modern software development, modelling of data and processes are key factors for increasing efficiency in companies.

Modelling is a methodology that not only forms the foundation of these technologies, but also contributes to a better process and product understanding within the company. Formalising data structures and processes creates a common ground for both business and technical departments and improves the understanding of the product or service.

The importance of this topic is often underestimated. In software development, however, data models are often considered to be just database schemas or pojos. UML as a relevant and well-known tool, both for business and technology, seems too academic to many. These data models often only have a documentational character.

This does not have to be the case! Model-driven software development - MDSD can make many things easier by using the right tools and frameworks. Although the UML tool set is applied, only practice-oriented components are used that are essential for development efficiency.

Thus, the introduction of a language or nomenclature for the non-technical department as well as the technically oriented development ensures a better understanding of the departments already at the use-case level. In development, MDSD ensures higher efficiency, better communication and a reduction of error sources in the right places.

On the technical level - for example - MDSD ensures higher efficiency, increased efficiency, better communication and the reduction of error sources through code generation.

Introduction to our range of courses on modelling and transformation.

The courses are aimed at different target groups:

  1. modelling in the enterprise - for decision-makers, managers, architects.
  2. model-driven software development in practice - for software architects and software developers

These topics are awaiting you

Modelling in the enterprise as a tool for digital transformation (course duration: 2 days).

This course is mainly of a non-technical nature. It highlights the advantages of modelling in companies and how it can help to increase efficiency.

At the same time, it highlights the challenges associated with modelling. Besides a new way of thinking and approaching problems or tasks, there are also social aspects to be mastered.

We will introduce you to the modelling language “UML”. In addition, we will use practical examples to illustrate how powerful UML can be. Since the focus of the course is on explaining the principles behind modelling, UML serves as a tool but is not the focus of the course content. Nevertheless, some diagram types are highlighted:

  • Class diagrams and relationships between objects
  • Use-case diagram
  • Sequence diagrams
  • Infrastructure diagrams

UML serves as a visual aid and is therefore not the focus of the course content. In addition to the diagram types, the standard “UML” is also examined with regard to the possibilities of data transformation: as well as the possibilities of data transformation:

  • Class diagrams and relationships between objects
  • Use-case diagrams
  • Sequence diagrams
  • Infrastructure diagrams
  • Object constraints / restrictions
  • Model to Text Transformation
  • Model to Model Transformation

Another component of this course is practical data modelling and the optimal composition of several data models. In addition, we discuss object constraints and limitations as well as options for data transformation.

At the same time, the challenges of this methodology are looked at. This is because in parallel to a different way of thinking and approaching problems or tasks, there are social aspects to be tackled as well. Particular attention will be paid to the introduction of this methodology within a company, as an inexperienced use can lead to poor results.

Participants will be taught the advantages and disadvantages of the tools to ensure that they are used in the appropriate context. As a result, attendees should be able to identify the appropriate modelling tool or approach and select from the plethora of options.

A practice-oriented example should illustrate a reference to reality across all topics. These are the main learning contents of this non-technical course.

Modelling in Software Development (Course duration: 2 days).

This course is mainly of a technical character. It highlights the advantages of model-driven software development (MDSD). Using the Eclipse Modeling Framework (EMF) as an example, the life cycle from idea to product integration will be shown.

This course is primarily Java-centred, but shows principles and architectures that allow integration into other languages as well. This course is primarily focused on Java. Within the course, we will of course also show you the principles and architectures that allow integration into other languages.

  • Introduction to modelling (UML and the Eclipse Modelling Framework)
  • Difference between MDSD and MDA
  • Data modelling hands-on (practical)
  • Principles of using MDSD
  • Separation of interface, model, serialisation and transport
  • EMF architecture
  • Model-to-Model Transformation
  • Model-to-text transformation
  • MDSD in an application
  • EMF Architecture
  • Model-to-Model Transformation (QVT)
  • Code Generation
  • Model-to-text transformation (Acceleo, XTend)
  • Ecore to TypeScript as NPM Package
  • Ecore to Gson for Android
  • DSL - Domain Specific Languages
  • Tools and Best Practices

Our training on OSGi

An important aspect of our courses is to teach the core ideas of modularity and dynamics on which OSGi is based. These paradigms are often described as “complicated”. This is because they require different ways of thinking compared to non-modular systems. At the same time, however, they enhance both the quality and maintainability of software and architecture.

As an active member of the OSGi Alliance, in all its working groups, we have valuable background knowledge on specifications around OSGi. This includes not only programming but also architecture, product development, development processes and tooling.

Course duration: 3 days

The courses comprise a portion of presentation and a large portion of hands-on, in order to actively learn and practise the use of the technology. The tooling we use is bndtools, as it simplifies the handling of the development and makes it easier to get started.

What is OSGi?

As an industry standard, OSGi offers a set of powerful tools and specifications that make your software more effective, efficient and maintainable. Modular software development and microservices are on everyone’s mind at the moment. OSGi has been doing both for a long time. And if used optimally, it leads to a decoupled way of programming.

As an active member of the OSGi Alliance, we offer training courses on OSGi. In addition to the specification itself, the characteristics of modular, dynamic and distributed systems are covered. As an active member of the OSGi Alliance, we offer training courses on OSGi. In addition to the specification itself, the characteristics of modular, dynamic and distributed systems are covered. Participants also get an understanding of suitable tooling as well as build and deployment processes.

Day 1:

  • OSGi Introduction - Dynamic and Modular Software with Java.
  • Framework, Dependencies and Versioning - Basics of OSGi
  • Requirements, Capabilities and the Resolver (Elastic Assembly)
  • Specifications and Implementations - A Guide to the OSGi Ecosystem
  • Tooling, Testing and Build Process - The Development Process with OSGi
  • OSGi Services - The foundation of the OSGi programming model
  • Declarative Services - The tool to orchestrate services
  • Whiteboard Pattern - A powerful pattern for a service-based application

Day 2:

  • Configurable Systems - Configuration Admin and Configurator
  • Events in OSGi - EventAdmin
  • Connection to web applications - HTTP and Jax-Rs Whiteboard
  • Dependency Injection with CDI
  • Distributed systems - Remote Services and Remote Service Admin
  • Reactive with Pushstreams and Promises

Day 3 (optional):

  • Development of an OSGi application
  • Development of different services
  • Web interfaces e.g. REST
  • Database connection
  • Distributed application with remote services
  • Tooling bnd/bndtools