17. August 2017

synTechTalk: Ergänzen der comuny-API um weitere Funktionen

synTechTalk: Ergänzen der comuny-API um weitere Funktionen (pixabay.com / simplu27)

Im ersten Teil dieses Artikels haben wir begonnen, das Grundgerüst für eine Applikation, die die comuny API nutzt, zu erstellen. Über diese API können Anbieter aus verschiedenen Bereichen des Gesundheitswesens ihre eigenen Lösungen mit geringem Aufwand an die comuny Plattform „anschließen“ und so die Vorteile der comuny-Plattform Infrastruktur, wie sicheren Zugang und Datenschutzkonformität, nutzen.

Mit dem bisherigen Grundgerüst lassen sich Daten ablegen und abrufen; in diesem Teil werden wir Funktionen zum Ändern, Löschen und Teilen hinzufügen und unsere CRUD-Anwendung somit fertig stellen.

Bearbeitung eines Payloads

Daten, die in comuny abgelegt wurden, können natürlich auch wieder verändert werden. Da wir bereits einen Payload abgelegt haben und dessen RegistryEntry-ID kennen, können wir ganz einfach einen neuen Inhalt für diesen hinterlegen:

function editPayload(payloadId, content) {
    comunyPut('payloads/' + payloadId, {
        payload: content
    });
}

Als neuen Inhalt nehmen wir hier das auf die ersten zwei Worte gekürzte Lorem Ipsum in umgekehrter Reihenfolge. Ganzen Beitrag lesen

03. August 2017

synTechTalk: Einstieg in die comuny-API

synTechTalk: Einstieg in die comuny-API (Bild: whiteMocca/shutterstock.com)

comuny bietet eine zentrale Plattform, auf der Anbieter aus den verschiedensten Bereichen des Gesundheitswesens ihre Lösungen mit wenig Aufwand datenschutzkonform entwickeln und über eine definierte Schnittstelle „anschließen“ können. Durch die Mischung aus erfüllten Datenschutzauflagen, dem bereitgestellten Platz für eigene Apps und dem Zugang zu einer Community für den Wissensaustausch stellt comuny für Entwickler eine Plattform voller Vorteile dar. Teil eins dieses synTechTalk-„Zweiteilers“ beschäftigt sich mit der angesprochenen Schnittstelle (API) und zeigt, wie sie benutzt werden kann, um Daten abzulegen.

Die comuny-Schnittstelle ist eine gewöhnliche REST-API. Die Anfragen und Antworten sind in JSON gehalten. Die Authentifizierung erfolgt via OAuth2. Alle weiteren Informationen können in der API-Dokumentation (siehe ZIP-Datei im nachfolgenden Abschnitt) nachgelesen werden.

Voraussetzungen

Um comuny nutzen zu können, wird ein Konto benötigt. Dieses lässt sich hier in wenigen Schritten erstellen. Im Anschluss muss die „comuny CRUD“-Applikation freigeschaltet werden. Diese ist unter Meine Dienste » Store zu finden. Ganzen Beitrag lesen

25. April 2017

synTechTalk: Jenkins für Entwickler

synTechTalk: Jenkins für Entwickler (Bild: https://wiki.jenkins-ci.org/display/JENKINS/Logo / Creative Commons Attribution-ShareAlike 3.0 Unported License)

Jenkins ist ein hervorragendes Tool für DevOps, da es sowohl den Entwicklungsprozess unterstützen als auch automatische Deployments durchführen kann. In diesem Artikel möchten wir uns auf die Vorteile konzentrieren, die Jenkins im reinen Entwicklungsprozess bietet. Für die Durchführung der hier vorgestellten Demo benötigt man ungefähr 30 Minuten.

Inhaltsverzeichnis

  1. Installation
  2. Einrichtung
  3. Das erste Projekt
  4. Entwickler entlasten
  5. Beseitigung potentieller Fehlerquellen
  6. Unit-Tests
  7. Benachrichtigungen
  8. Fazit

Ganzen Beitrag lesen

09. März 2017

synTechTalk: Selenium – Web Browser Automation in Java

Selenium – Web Browser Automation in Java (Bild: http://www.seleniumhq.org/)

Dieser Blogpost richtet sich an alle, die dabei sind, die Nutzung von Selenium zu erlernen oder die ein generelles Interesse an Browser-Automatisierung haben. Anhand eines kleinen praktischen Beispiels wird demonstriert, wie Selenium zum Testen von Webseiten genutzt werden kann. Als Voraussetzung werden Java-Grundkenntnisse angenommen.

Inhaltsverzeichnis
1. Was kann Selenium?
2. Wie funktioniert Selenium?
3. Testen mit Selenium WebDriver
4. Page Object Design Pattern

1. Was kann Selenium?

Seleniums Hauptfeature ist die Browser-Automatisierung. Diese unterteilt sich in zwei Teile – einmal die Selenium IDE und einmal den Selenium WebDriver. Mit der IDE lassen sich im Browser Aktionen „aufnehmen“. Diese Aufnahmen werden in der eigenen Skriptsprache „Selenese“ gespeichert und können beliebig wiedergegeben werden. Dies ermöglicht die Automatisierung von Abläufen im Browser.

Ganzen Beitrag lesen

03. Februar 2017

synTechTalk: Smart Contracts – oder: die vielen Möglichkeiten der Blockchain

synTechTalk: Smart Contracts – oder: die vielen Möglichkeiten der Blockchain (Foto: Minerva Studio/Shutterstock.com)

Mit Blockchain-Technologien lassen sich nicht nur Währungen neu denken und gestalten – unter dem Schlagwort “Smart Contracts” sind völlig neue Geschäftsmodelle bei der Verwaltung von Verträgen möglich. Dieser synTechTalk beschäftigt sich mit Smart Contracts und den konkreten Anwendungsmöglichkeiten. Als digitales Abbild herkömmlicher Verträge haben Smart Contracts insbesondere dort Vorteile, wo mit digitalen Gütern beliebiger Art gehandelt wird. Neben Einheiten einer Währung sind dies etwa Aktien oder Rechte an intellektuellem Eigentum. – Also ein interessanter Ansatz, Rechtssicherheit in der digitalen Welt zu gestalten.

Im ersten Teil ging es um die Funktionsweise der Blockchain und den Anwendungsfall für eine Kryptowährung am Beispiel Bitcoin. Es lässt sich allerdings noch weitaus mehr mit einer Blockchain ermöglichen. Mit Hilfe von Smart Contracts können alle Arten von digitalen Gütern verwaltet und organisiert werden. Dazu gehören neben Einheiten einer digitalen Währung (z.B. Bitcoin) beispielsweise Identitäten, Firmenanteile, Stimmrechte oder Zugangsrechte. Ganzen Beitrag lesen

27. Januar 2017

synTechTalk: Die Blockchain – eine Kette voller neuer Möglichkeiten

synTechTalk: Die Blockchain – eine Kette voller neuer Möglichkeiten (Bildquelle: Flickr, Jason Benjamin, CC BY-SA 3.0 DE, https://www.flickr.com/photos/jason_benjamin/12795733984)

Wir beschäftigen uns bei synaix nicht nur damit, wie sich Blockchain-Konzepte in zukünftige Geschäftsmodelle einfügen lassen, sondern auch mit deren konkreter Implementierung. In unserer Reihe „synTechTalk“ stellen wir die Konzepte näher vor.

Die Blockchain ist eine dezentrale Datenbank zur digitalen Organisation von Eigentumsrechten. Das Besondere an diesem Prinzip ist der aus dem Netzwerk hergestellte Konsensmechanismus, der die einzelnen Datenbankeinträge authentifiziert. Aufgrund der Dezentralität lässt sich hier auf Mittelsmänner verzichten. Damit bietet die Blockchain einen neuen Ansatz, sichere Transaktionen in der digitalen Welt abzubilden und bisherige Technologien zu verdrängen.

Technisch betrachtet ist eine Blockchain eine Datenbank, die als Kopie verteilt auf vielen Rechnern liegt. Diese Rechner bilden zusammen ein virtuelles Netzwerk. Dies impliziert, dass jeder Teilnehmer des Netzwerks die Informationen in der Datenbank lesen kann. Änderungen am Stand der Daten werden transaktional durchgeführt, also entweder komplett oder gar nicht, denn im Fehlerfall werden keine Änderungen festgeschrieben. Ganzen Beitrag lesen

08. Dezember 2016

synTechTalk: OSGI Advanced

synTechTalk: OSGI advanced - Bild: Lily http://www.freevector.com/jigsaw-puzzle (CC BY 4.0), synaix

Nach der Einführung in die Welt von OSGI gehen wir in diesem Beitrag einen Schritt weiter und beschäftigen uns mit einigen Tricks und Hilfsmitteln, mit denen wir die Services noch einfacher und besser gestalten können.

Alle hier vorgestellten Beispiele wurden auf dem Apache Servicemix getestet. Die Beispiele sollten auch in anderen Containern laufen, dafür sind ggf. einige kleinere Anpassungen notwendig. (Ein Hoch auf den Standard! ;-))

Funfact: Best Practice

Wenn man sich tiefergehend mit dem Standard beschäftigt und ein wenig recherchiert, stößt man auf einige Best Practices bezüglich OSGI. Doch nun kommt der absolute Geheimtipp: Wenn man mit OSGI arbeiten möchte, dann hält man sich am besten weit entfernt von den implementierten Klassen des Standards.

Uups! Wie kann es denn Best Practice sein, nicht mit OSGI zu arbeiten, wenn man mit OSGI arbeiten möchte? Ganzen Beitrag lesen

22. November 2016

synTechTalk: Stellschrauben der Suchmaschinen-Optimierung

synTechTalk: Stellschrauben der Suchmaschinen-Optimierung - Foto: pixabay.com/geralt

Wer schnell Informationen finden möchte, nutzt heute Internet-Suchmaschinen. Sie durchsuchen Milliarden von Webseiten auf Relevanz für unsere Anfrage und liefern uns vorselektierte Trefferlisten. Ziel jedes Webseitenbetreibers ist es natürlich, eine Platzierung möglichst weit oben in den Suchergebnissen zu erreichen. Im heutigen synTechTalk geben wir einen Überblick über die verschiedenen Stellschrauben, die der eigenen Webseite in den immer komplexeren Suchalgorithmen zu mehr Relevanz verhelfen.

Suchmaschinenanbieter

Die Wahl bei der Suchmaschine ist für die meisten Internetnutzer selbstverständlich Google. Konkurrenten wie Yahoo oder Bing und viele kleinere Suchmaschinenanbieter machen alle zusammen nur einen geringen Prozentsatz aus. Da jeder Suchmaschinen Betreiber das Ziel verfolgt, möglichst relevante Suchergebnisse zu liefern, ist die Suchmaschinen-Optimierung (SEO) für alle Betreiber sehr ähnlich. Ganzen Beitrag lesen

20. Oktober 2016

synTechTalk: GUI-Entwicklung mit JavaFX (Einführung)

synTechTalk: GUI-Entwicklung mit JavaFX (Einführung) - Foto: synaix GmbH

Heute im synTechTalk: Eine Einführung in die GUI-Entwicklung mit JavaFX.

Java bietet schon lange die Möglichkeit, grafische Oberflächen zu erstellen. Mit JavaFX wird dies noch einfacher. Zudem bietet JavaFX erstmals die Möglichkeit, die Anwendung mit Hilfe von CSS zu stylen und damit schnell ein modernes Design bereitzustellen.

Die Vergangenheit

  • AWT – Ein altes Framework für einfachste Oberflächen
  • Swing – Eine Erweiterung für AWT, die viele- aber nicht alle, Standard-Oberflächen-Elemente bereitstellt.

Die Gegenwart

JavaFX – Völlig neu entwickelt, modernes Design und einfach erweiterbar.

Genau wie schon bei AWT und Swing gibt es bereits eine Menge Bibliotheken für JavaFX.
Im Gegensatz zu den alten Frameworks gibt es aber auch einfache Tools zum Erstellen von nativen Launchern/Installern (.exe und co). Ganzen Beitrag lesen

30. August 2016

synTechTalk: AngularJS CRUD Beispielapplikation

Screenshot: synaix, AngularJS Logo by AngularJS.org website, MIT, https://commons.wikimedia.org/w/index.php?curid=19180291

Mit Hilfe von AngularJS lassen sich „leichtgewichtige“ Web-Anwendungen entwickeln. Im heutigen synTechTalk Beitrag stelle ich ein simples Beispiel für eine CRUD (Create, Read, Update, Delete) Webanwendung vor, die sich später einfach erweitern lässt.

Dabei gehe ich davon aus, dass Du erste Grundkenntnisse von AngularJS in der Version 1.x besitzt und daher auch schon einmal mit JavaScript und JSON gearbeitet hast. Außerdem sollten Kenntnisse in HTML(5) vorhanden sein.

Zunächst zeige ich den Inhalt der jeweiligen Datei und erläutere dann ein paar Worte zu den wichtigen Stellen.

Als Beispiel nehme ich eine Task-Entität, mit der wir uns kleine Aufgaben wie auf einer ToDo Liste merken können.

Die Dateistruktur

Fangen wir zunächst mit der Datei-Struktur des Projektes an:

  • Wir benötigen eine index.html, die als unser Frame fungiert, sowie einen js und partials Ordner.
  • Im js Ordner erstellen wir eine app.js. Diese ist das Herz unserer Applikation und versorgt unsere Views mit dynamischen Daten.
  • Im partials Ordner legen wir dann unsere Views in Unterordnern an sowie eine index.html, die den Inhalt der Hauptseite anzeigt.
  • Für die Tasks erstellen wir noch einen Unterordner in partials mit den Views für das Erstellen sowie Anzeigen der Tasks.

Ganzen Beitrag lesen