Allgemeine Informationen

Individuelles Schulungsangebot

Wünschen Sie eine auf Sie und Ihr Unternehmen zugeschnittene Schulung? Wir passen Kursinhalte gerne an Ihre Bedürfnisse an. Bei Bedarf bieten wir ebenfalls Schulungen remote, in Ihren Räumlichkeiten oder an anderen geeigneten Orten an.

Für alle Anfragen wennden Sie sich bitte diese E-Mail Adresse: training[at]datainmotion.com

Schulungen Remote

Wir planen remote Schulungen in unser Angebot aufzunehmen, wobei wir persönliche Schulungen wirkungsvoller finden. Die Preisgestaltung werden wir entsprechend veröffentlichen.

Für alle Anfragen oder Interessenbekundungen, wenden Sie sich an uns: training[at]datainmotion.com

Vor-Ort-Schulungen in Jena

Aufgrund der aktuellen Situation haben wir keine festen Termine geplant. Wir nehmen aber gerne Anfragen entgegen und organisieren bei ausreichender Nachfrage Schulungen für kleinere Gruppen am Standort Jena.

Unsere Schulungen finden in der Regel ab einer Gruppengröße von drei Teilnehmern statt. Im Falle einer Absage werden wir Sie in jedem Fall rechtzeitig vorab informieren. An unserem Standort in Jena besteht die Möglichkeit, in einer nahe gelegenen Kantine zu Mittag zu essen, anderweitige Verpflegung ist nicht inbegriffen. Getränke wie z.B. Wasser werden für alle Teilnehmer zur Verfügung stehen. Wenn Sie Fragen zur Anreise oder Unterkunft haben, wenden Sie sich gerne an uns.

Unser aktuelles Schulungsangebot

  • Dynamische, modulare und verteilte Softwarearchitektur mit OSGi (2 Tage)
  • OSGi Entwicklung mit Bndtools (1 Tag) (kann mit OSGi Kurs kombiniert werden)
  • Praktische Modellierung mit UML und EMF in der Softwareentwicklung (2 Tage)
  • Modellierung als Hilfsmittel bei der digitale Transformation (2 Tage)
  • Digitale Transformation in Unternehmen als

Unsere Schulung zu OSGi und Bnd-Tools

OSGi bietet als Industriestandard ein Set an mächtigen Spezifikationen. BND bzw. BND-Tools ist das optimale Entwicklungswerkzeug für die Entwicklung mit OSGi. Als aktive Entwickler des BND-Tools Projekts gewähren wir Teilnehmern umfassende Einblicke in die Benutzung von BND, um einen Einstieg oder eine Migration zu erleichtern.

OSGi

Einführung

Ein wichtiger Aspekt unserer Kurse die Vermittlung von Kerngedanken wie Modularität und Dynamik, auf welchen OSGi fußt. Diese Paradigmen werden oft als “kompliziert” beschrieben. Dies liegt daran, dass sie andere Denkweisen erfordern, als dies bei nicht modularen Systemen der Fall ist. Gleichzeitig erhöht sich allerdings die Qualität und Wartbarkeit der Software sowie Architektur gleichermaßen.

Als aktives Mitglied der OSGi Alliance in allen Arbeitsgruppen, haben wir wertvolles Hintergrundwissen zu Spezifikationen rund um das Thema OSGi. Dies umfasst nicht nur die Programmierung sondern auch Themen wie Architektur, Produktentwicklung, Entwicklungsprozesse und Tooling.

Die Kurse bestehen zu einem Anteil aus Präsentation und zu einem großen Teil aus Hands-On, um den Umgang mit der Technologie aktiv zu erlernen und zu üben. Als Tooling kommt bndtools zum Einsatz, da es den Umgang bei der Entwicklung vereinfacht und den Einstieg erleichtert.

Kursinhalte

Tag 1:

  • OSGi Einführung – Dynamische und modulare Software mit Java
  • Framework, Dependencies und Versionierung – Grundlagen von OSG
  • Requirements, Capabilities und der Resolver (Elastic Assembly)
  • Spezifikationen und Implementierungen – Ein Wegweiser im OSGi Ökosystem
  • Tooling, Testing und Buildprozess – Der Entwicklungsprozess mit OSGi
  • OSGi Services – Das Fundament des OSGI Programmiermodell
  • Declarative Services – Das Werkzeug um Services zu orchestrieren
  • Whiteboard Pattern – Ein mächtiges Pattern für eine service-basierte Anwendung

Tag 2:

  • Konfigurierbare Systeme – Configuration Admin und Configurator
  • Events in OSGi – EventAdmin
  • Anbindung an Webanwendungen – HTTP und Jax-Rs Whiteboard
  • Dependency Injection mit CDI
  • Verteilte Systeme – Remote Services und Remote Service Admin
  • Reactive mit Pushstreams und Promises
  • Web-Schnittstellen bspw. REST
  • Datenbankanbindung

Bndtools

Einführung

OSGi und dessen Entwicklung werden häufig als kompliziert deklariert. Mit den aktuellen Versionen von BND ist die Entwicklung allerdings einfacher als jemals zuvor. Darüber hinaus lehrt BND den richtigen und instinktiven Umgang mit Dynamik. Dadurch wird ein effizienter und sauberer Entwicklungsprozess ermöglicht.

Als aktive Entwickler und Benutzer von BND und BND-Tools geben wir Einblick in deren Benutzung. Angefangen von der lokalen Entwicklungsumgebung bis hin zu Release-Builds auf einem CI Server kann BND alles leisten. Dabei sind sowohl eine Einbettung in Maven als auch in Gradle eine Option.

Die Kurse bestehen zu einem Anteil aus Präsentation und insbesondere aus “Hands-On”, um den Umgang mit der Technologie aktiv zu erlernen und zu üben.

Kursinhalte

  • Einführung in Bnd und Bnd-Tools
  • BND Workspace und Workspace Templates
  • Bundle development und API Baselining
  • Makros, Exporter und Libraries
  • BND Project Templates
  • CI und Release-Prozesse
  • Bnd mit Maven

Unsere Schulung zu Modellierung

Daten sind das Gold der heutigen Zeit. Wohl strukturierte Daten und Prozesse können die Effizienz eines Unternehmen steigern. Modellierung ist also der Erfolgsfaktor für die Digitalisierung. Die optimale Formalisierung bestehenden Wissens schafft den Rahmen für ein besseres Verständnis von Produkten und Abläufen. Gleichermaßen eröffnet sie neue Möglichkeiten und Geschäftskonzepte.

Einführung

In Zeiten des digitalen Wandels und der modernen Softwareentwicklung ist Modellierung von Daten und Prozessen ein Schlüsselfaktor für die Effizienzsteigerung in Unternehmen. Oftmals wird die Bedeutung dieses Themas verkannt. In der Softwareentwicklung werden Datenmodelle allerdings oft nur mit Datenbankschemas oder Pojos gleichgesetzt. UML als relevantes und bekanntes Werkzeug, sowohl für Business als auch Technik, erscheint vielen als zu akademisch. Diese Datenmodelle haben dann oft nur einen Dokumentationscharakter.

Unsere Schulungen widmen sich dem Sinn hinter der Modellierung, genauer dem Einfluss dieser Modellierung auf Unternehmen. Wir zeigen anhand von Praxis-Szenarien wie das UML Tool-Set befähigt ist, die Kommunikation zwischen Fachabteilung und technischen Bereichen zu erleichtern.

So sorgt die Einführung einer Sprache beziehungsweise Nomenklatur für den nicht-technischen Fachbereich - neben der technisch gelagerten Entwicklung - bereits auf Use-Case Ebene für besseres Verständnis der Abteilungen. Auf technischer Ebene sorgt bspw. MDSD (Model-Driven Software Development) - u.a. durch Code-Generierung für höhere Effizienz, bessere Kommunikation und die Reduktion von Fehlerquellen.

Die Kurse richten sich an unterschiedliche Zielgruppen:

  1. Modellierung als Hilfsmittel bei der Digitalen Transformation – Entscheider, Manager, Software-Architekten
  2. Modell-Getriebene Softwareentwicklung in der Praxis – Software-Architekten, Softwareentwickler

Modellierung als Hilfsmittel bei der Digitalen Transformation (Kursdauer: 2 Tage)

Digitalisierung und Digitale Transformation sind DIE Themen für Unternehmen in der heutigen Zeit. Das Internet of Things (IoT), künstliche Intelligenz(AI) oder Big Data sind Entwicklungen, die stets in dem Zusammenhang der Digitalisierung fallen.

Modellierung ist eine Methodik, die nicht das Fundament dieser Technologien bildet, sondern auch zu einem besseren Prozess- / Produktverständnis im Unternehmen beiträgt. Die Formalisierung von Datenstrukturen und Prozessen schafft eine gemeinsame Grundlage sowohl für Fach- als auch Technik-Abteilungen und verbessert das Verständnis für das Produkt oder die Dienstleistung.

Gleichzeitig werden auch die Herausforderungen dieser Methodik beleuchtet. Denn neben einer anderen Denkweise und Herangehensweise an Probleme oder Aufgaben, sind auch soziale Aspekte zu meistern. Ein spezielles Augenmerk wird auf auf die Einführung dieser Methodik in ein Unternehmen gelegt, da ein ungeübter Einsatz, zu suboptimalen Ergebnissen führen kann. Dies sind wesentliche Lerninhalte dieses nicht-technischen Kurses.

Wir führen in die Modellierungssprache “UML” ein und zeigen anhand praxis-relevanter Beispiele, wie mächtig UML sein kann. Da der Schwerpunkt des Kurses auf der Erläuterungen der Prinzipien hinter der Modellierung liegt, dient UML als Werkzeug und steht aber nicht im Zentrum des Kursinhaltes. Trotzdem werden einige Diagrammarten beleuchtet:

  • Klassendiagramme und Beziehungen zwischen Objekten
  • Use-Case-Diagramm
  • Sequence-Diagramme
  • Infrastruktur-Diagramme

Ein weitere Bestandteil dieses Kurses ist die praktische Datenmodellierung und die optimale Komposition mehrerer Datenmodelle. Zudem besprechen wir Objekt-Bedingungen und -Beschränkungen sowie Möglichkeiten der Daten-Transformation.

Modellierung in der Softwareentwicklung (Kursdauer: 2 Tage)

Dieser Kurs ist hauptsächlich technischer Natur. Er beleuchtet die Vorteile der modellgetriebenen Softwareentwicklung. Am Beispiel des Eclipse Modeling Framework soll der Lebenszyklus von der Idee bis zur Produktintegration gezeigt werden.

Dieser Kurs ist primär Java zentriert, zeigt aber Prinzipien und Architekturen, die eine Integration in andere Sprachen ebenso ermöglichen.

  • Einführung in die Modellierung (UML und das Eclipse Modelling Framework)
  • Unterschied MDSD und MDA
  • Datenmodellierung
  • Prinzipien der Benutzung von MDSD
  • EMF – Architektur
  • Model-zu-Model Transformation (QVT)
  • Codegenerierung
    • Model-zu-Text Transformation (Acceleo, XTend)
    • Ecore zu TypeScript als NPM Package
    • Ecore zu Gson für Android
  • DSL – Domain Specific Languages
  • Tools und Best Practices