Blog
Blog

In unserem Blog stellen wir Ihnen Themen vor, die unsere Belegschaft und das Unternehmen bewegen.

Unsere Belegschaft setzt sich aus einer Menge von Menschen zusammen, die bereits viele Erfahrungen in unterschiedlichsten Branchen und Aufgabenfeldern sammeln konnten. Bei unserer t├Ąglichen Zusammenarbeit wird nat├╝rlich auch diskutiert, voneinander gelernt, Entscheidungen getroffen, gro├čartige Dinge geschaffen aber auch Fehler gemacht. In unserem Blog m├Âchten wir Ihnen davon erz├Ąhlen.

Vor allem aber m├Âchten wir mit Ihnen sprechen und Ihre Meinung zu unseren Beitr├Ągen erfahren. Wir w├╝rden uns sehr freuen, von Ihnen zu h├Âren.



Programmiersprache Kotlin - Nicht nur im Android-Umfeld interessant

Kotlin ist eine relativ neue, statisch typisierte, JVM-Programmiersprache, die von JetBrains [1] entwickelt wird. Die Version 1.0 wurde Anfang 2016 ver├Âffentlicht. Trotzdem ist Kotlin bereits seit l├Ąngerem verf├╝gbar und wurde auch vor diesem Release produktiv eingesetzt. Vor allem in der Android-Community hat Kotlin einige Anh├Ąnger gewinnen k├Ânnen und ist sp├Ątestens seit der diesj├Ąhrigen Google Konferenz "I/O" in aller Munde, als man erkl├Ąrte, dass Kotlin nun "offizielle Sprache f├╝r Android" ist. Wir bei der Firma n-design sind st├Ąndig gespannt, wenn es um neue Frameworks und Programmiersprachen geht, sodass auch diese Entwicklung mit Interesse verfolgt wird.

Warum ist Kotlin so interessant f├╝r Android?

Der Grund ist relativ einfach, denn Kotlin kann zu Java 1.6 Bytecode kompiliert werden. Android unterst├╝tzt in den meisten Versionen nicht das neuste JDK 1.8, wodurch Android-Entwickler auf moderne Java-Sprachfeatures wie Lambdas und Streams [2] verzichten m├╝ssen. Kotlin jedoch bietet diese Features, und viele weitere, nat├╝rlich ebenfalls an, obwohl lediglich Java 6 ben├Âtigt wird, um den kompilierten Code auszuf├╝hren. JetBrains' Idee beim Entwickeln der Sprache war, eine Alternative zu Java zu schaffen, die Probleme behebt, die Produktivit├Ąt steigert und weiterhin mit Java-Code vollst├Ąndig interagieren kann. Ich denke, dass jeder Java-Entwickler, der bereits mit JVM-Sprachen wie Groovy und Scala gearbeitet hat, wei├č, dass Java oft sehr "geschw├Ątzig" ist und viel Boilerplate-Code geschrieben werden muss, auch um simple Dinge zu bewerkstelligen. Kotlin setzt hier an und erm├Âglicht das Schreiben von deutlich k├╝rzerem Sourcecode, wobei Scala erkennbar als Inspiration diente.

Weiterlesen...
 

Die Kurve kriegen -- Hacking the JVM for Enhanced Crypto

Die Kurve kriegen -- Hacking the JVM for Enhanced Crypto

Bei einem staatlich getriebenen Projekt wie der Einf├╝hrung der elektronischen Gesundheitskarte steht die IT-Sicherheit an oberster Stelle. Dass aber die Anforderungen des Auftraggebers und der Zulassungsstelle ├╝ber das hinausgehen, was die von uns gew├Ąhlte Plattform f├╝r unser embedded device in der Telematik-Infrastruktur von Haus aus liefern kann, ruft bei uns Entwicklern und Software-Ingenieuren gemischte Gef├╝hle hervor: Der Kitzel, etwas wirklich Neues zu schaffen, aber auch die Ahnung, dass man sich auf unbekanntem Gebiet ziemlich verirren kann.

So auch bei n-design, als die neuen Spezifikationen des Auftraggebers vorschrieben, dass TLS mit ECDHE Cipher-Suiten umgesetzt werden muss. ECDHE steht f├╝r die Schl├╝sselaushandlung nach Diffie-Hellman mit Verfahren ├╝ber elliptischen Kurven. Grunds├Ątzlich ist das kein Problem, da Java schon seit einigen Jahren in diesem Bereich auch mit elliptischen Kurven umgehen kann. Au├čerdem ist es sehr zu begr├╝├čen, dass diese modernen Verfahren Aufnahme in die Spezifikation finden. Sie bieten bei vergleichbarem Rechenaufwand ein deutlich h├Âheres Sicherheitsniveau als die klassischen RSA-basierten Verfahren. Das ist f├╝r die Entwicklung eines embedded Ger├Ąts auf der Basis eines Mobilprozessors ein Segen, da die zuk├╝nftig notwendigen Schl├╝ssell├Ąngen mit der im Projekt gegebenen Hardware nicht gut zu berechnen w├Ąren.

Weiterlesen...
 

Testautomatisierung mit der Test Workbench

Testgetriebene Entwicklung geh├Ârt bei n-design zum Alltag. Hierbei kommt die ├╝bliche Toolchain bestehend aus JUnit, Maven (Surefire Plugin) und Jenkins zum Einsatz. Damit erreichen wir eine hohe Testabdeckung im Bereich der Komponententests und k├Ânnen eine gro├čen Teil von Integrationstests umsetzen.

F├╝r die Durchf├╝hrung von Systemtests kommen zus├Ątzlich unterschiedliche Werkzeuge, z.B. Selenium f├╝r Web-GUI-Tests oder SOAP-UI f├╝r WebServices, zum Einsatz. Diese eher lose Tool-Sammlung ist f├╝r eine begrenzte Menge an explorativen Tests und seltene Deployments beherrschbar. Das wird allerdings schnell anders, wenn die Zahl der Tests steigt und diese h├Ąufig oder regelm├Ą├čig ausgef├╝hrt werden sollen.

Im Rahmen der Entwicklung einer dezentralen Komponente der Telematikinfrastruktur der gematik, die wir bei n-design betreiben, m├╝ssen hohe Anforderungen an Systemtests erf├╝llt werden, so dass wir dringend eine L├Âsung zur Testautomatisierung finden mussten.

Weiterlesen...
 

Dependency Injection - Theorie und Praxis am Beispiel von Google Guice

n-design ist OSGi -Verfechter der ersten Stunde. Dabei basiert die ├ťberzeugung von dieser Technologie allerdings nicht auf der Technologie als solcher, sondern vielmehr auf OSGis Grundprinzipien, die zu einer strukturierten Architektur eines Softwaresystems durch Modularisierung und Serviceorientierung f├╝hren. In einer solchen Architektur bildet Dependency Injection einen grundlegenden Baustein. Gilt es nun Technologien f├╝r die Umsetzung neuer Projekte auszuw├Ąhlen, steht OSGi als bevorzugtes und beherrschtes Mittel im Vordergrund.

Was jedoch, wenn nun kein komplexes System, sondern lediglich ein einfaches Java-Programm, ein (kommandozeilenbasiertes) Tool oder ein strukturiertes Maven-Plugin umgesetzt werden soll? Hier scheint OSGi als Technologie sicherlich ├╝berdimensioniert. Als leichtgewichtige Alternative konnten hier zuletzt gute Erfahrungen mit Google Guice gesammelt werden.

In diesem Blog-Beitrag soll das Thema Dependency Injection und die Design-Prinzipien, aus denen das Dependency Injection Pattern folgt, erl├Ąutert werden. Anschlie├čend wird Google Guice als einfaches Framework zur Umsetzung von Modularit├Ąt und Dependency Injection vorgestellt.

Weiterlesen...
 

Entwicklung zertifizierter Software nach Common Criteria

Erfahrungsbericht ÔÇ×Vom Umbauprozess bis zur EvaluierungÔÇť

Die Entwicklung von Softwarekomponenten, die nach Common Criteria (CC) zertifiziert werden sollen, stellt ein Unternehmen vor gro├če Herausforderungen. Mit dem Auftrag zur Entwicklung des Anwendungskonnektors f├╝r die Telematikinfrastruktur im Gesundheitswesen mussten wir uns diesen Herausforderungen stellen. [Link zur Referenz ÔÇ×Zertifizierte Entwicklung]

Der Konnektor ist die dezentrale Zugangskomponente zur Telematikinfrastruktur.  Er muss vom Bundesamt f├╝r Sicherheit in der Informationstechnik (BSI) nach Common Criteria im Level EAL3+ AVA VAN5 zertifiziert werden. Eine vom BSI anerkannte Pr├╝fstelle nimmt als sachverst├Ąndige Stelle die Pr├╝fung und Bewertung (Evaluierung) des Konnektors vor. Sie stellt die technische Korrektheit und die inhaltliche Vollst├Ąndigkeit der Pr├╝fergebnisse sicher und stellt der Zertifizierungsstelle die vollst├Ąndigen Pr├╝fergebnisse zur Verf├╝gung.

Weiterlesen...
 

eHealth-Gesetz ÔÇô Status quo

Im April dieses Jahres f├╝hrte mich die diesj├Ąhrige Connecting Healthcare IT (conhIT) nach Berlin. Sie gilt als die f├╝hrende Messe f├╝r die Gesundheits-IT Europas. Die Messe, die bereits in die neunte Runde geht, stand unter dem Motto ÔÇ×Patient im Fokus ÔÇô Innovative Healthcare ITÔÇť.

Wie diese technischen Innovationen in naher Zukunft auch einen Nutzen f├╝r den Patienten herbeibringen sollen, beantwortete der Bundesminister f├╝r Gesundheit, Hermann Gr├Âhe, w├Ąhrend seiner Er├Âffnungsrede bei der conhIT mit dem verabschiedeten eHealth-Gesetz. im Folgenden m├Âchte ich daher dieses eHealth-Gesetz  genauer betrachten, um einen ├ťberblick ├╝ber die Thematik und deren aktuellen Stand zu schaffen.

Weiterlesen...
 
  • «
  •  Start 
  •  Zur├╝ck 
  •  1 
  •  2 
  •  3 
  •  4 
  •  5 
  •  Weiter 
  •  Ende 
  • »


Seite 1 von 5