Funktionale Programmierung mit Kotlin – Was ist das eigentlich?

Die Errungenschaften funktionaler Sprachen haben längst Einzug gehalten in moderne Programmiersprachen und Frameworks. Auch Kotlin bietet hier einiges an Unterstützung an. Aber, was bedeutet funktionale Programmierung eigentlich genau? Was hat es für Vorteile? Und, ist Kotlin nicht eigentlich eine imperative Sprache, also etwas ganz anderes? Hier mal eine pragmatische Einführung in das Wesen funktionaler Entwicklung mit Kotlin.

Weiterlesen

Mac Mini als Time Machine Server

Als Apple 2008 die Airport Time Capsule heraus brachte, war ich sofort vom Konzept überzeugt, habe ein Jahr später zugegriffen und war sehr zufrieden mit der transparenten komfortablen Datensicherung, die ich auch ein paar mal in Anspruch nehmen musste. Nach 11 Jahren Einsatz und 2018 abgekündeten Support von Apple war eine Aktualisierung dringend notwendig. Ich habe mich für einen Mac Mini mit einer externen RAID-Festplatte entschieden. Inzwischen läuft die Kombination bei mir gut, der Weg dorthin war allerdings holpriger als gedacht.

Weiterlesen

MEAN SCS in der Cloud

Das Interesse an Microservice Architekturen scheint ungebrochen. Eine Sonderform sind die sogenannten Self Contained Systems (SCS), als vollumfängliche Microservice Variante (Microservice mit UI). Im Zuge eines Kundenprojektes hatten wir die Chance, eine Portallösung zu entwickeln, mit deren Hilfe Self Contained Systems auf einfache Art und Weise integriert werden sollen.

Spannende Aspekte waren dabei der MEAN Stack (MongoDB, Express, Angular, NodeJS) und Microsoft Azure als Cloudplattform.

Weiterlesen

Funktionale reaktive Programmierung mit Sodium

Reaktive Programmierung hat sich über RxJS in der Web-Entwicklung als Standardentwicklungsmuster etabliert. RxJS selber ist zwar sehr mächtig aber gleichzeitig auch sehr komplex und damit anfällig für Fehler, die aus Unverständnis entstehen. Alleine die Unterscheidung zwischen heißen, kalten und lauwarmen Strömen können einen Entwickler bei dem ersten Kontakt mit dem Framework nachhaltig verwirren.

Weiterlesen

Tagung Industrie 4.0: Security in Rechenzentren und Fabriken – Ansätze und Parallelen

Mit dem Begriff Industrie 4.0 verbindet sich die Idee, dass durch Integration klassischer Produktionsmaschinen, Lagersysteme und Betriebsmittel als Cyber-Physikalische Systeme sogenannte Smart Factorys entstehen, die neue Geschäftsmodelle ermöglichen und durch Prozessoptimierung Kosten sparen können. Ein kritischer Erfolgsfaktor hierfür ist das Thema Sicherheit. Aufgrund der immer engeren Vernetzung und der damit einhergehenden Öffnung vorher isolierter Systeme entstehen neue Angriffsflächen für Angreifer.

Im Rechenzentrumsbetrieb gab es vor einigen Jahren ebenfalls eine Phase, in der ehemals isoliert betriebene, Hardware-nahe Systeme geöffnet und vernetzt wurden. Inzwischen sind die damals entstandenen Herausforderungen bewältigt worden.

Auf der Tagung Industrie 4.0 – “Mit Sicherheit gut vernetzt” haben wir von unseren Erfahrungen aus dem Rechenzentrumsbetrieb berichtet, die unserer Meinung nach im Industrie 4.0 Umfeld helfen können, Chancen zu nutzen und Risiken zu vermeiden.

Hier unser Vortrag:

In dem Tagungsband Industrie 4.0 – Safety und Security werden Sie einen ausführlichen Artikel von uns zu dem Thema finden.
Wenn Sie Kommentare, Anregungen oder Fragen haben, kontaktieren Sie uns einfach per Mail an torsten.fink@akquinet.de.

 

Get Rolling – Anschubentwicklung für Start-ups

Wir haben unseren Firmensitz in Berlin, der Startup-Metropole Europas (https://www.mckinsey.de/berlin-gruendet). Daher haben wir auch häufig Kontakt mit Kunden aus der Gründerszene. Wir konnten beobachten, dass Startups häufig die Herausforderung haben, schnell ein Entwicklungsteam aufzusetzen und hoch zu skalieren. Je anspruchsvoller die zu erstellende Software ist, umso herausfordernder der Aufbau einer Entwicklungsmannschaft.

Ein Herausgeben der Entwicklung an externe Dienstleister, wie z.B. an uns, ist für ein Startup durchaus heikel. Erstens muss es eine ausreichende Kapitalversorgung haben, um sich eine externe Entwicklung überhaupt leisten zu können. Zweitens gehört meistens neben der eigentlichen Geschäftsidee das Entwicklungs-Know-How zu dem Kernvermögen des Unternehmens. Ein Halten und Ausbau der Entwicklungskompetenzen ist daher im Interesse des Unternehmens.

Ein möglicher Ausweg aus diesem Dilemma ist eine externe Projektentwicklung, die von Anfang an darauf ausgelegt ist, vom Auftraggeber übernommen zu werden.

Dies klingt einfach und ist es nach unserer Erfahrung auch, wenn ein paar Dinge beachtet werden.

Weiterlesen

AngularJS in WARs – Das Problem des Session-Timeouts

Artikel in english ⤴︎

AngularJS ist ein hervorragendes Framework für moderne Webanwendungen. Java EE bietet vielfältige und komfortable Möglichkeiten für sichere und skalierbare Serveranwendungen. Die Kombination von beiden ist recht einfach: In das Web-Archiv (WAR) kommen alle HTML und JavaScript Dateien, der Zugriff auf den Server geschieht per JAX-RS.

Auch der Zugriffsschutz lässt sich mit Bordmitteln einfach erledigen. Über Form-based Authentication bekommt der Anwender ein Formular präsentiert, in das er Name und Passwort eingibt. Erst dann hat er Zugriff auf die Web-Seiten und auch auf das Servlet, welches von AngularJS angesprochen wird.

Damit ist dann alles kein Problem mehr, oder? Fast. Was nicht automatisch passiert, ist die Behandlung von Session-Timeouts. Läuft die Sitzung ab, bekommt ein Anwender wieder das Formular präsentiert, um sich zu authentifizieren. Das ist für den Anwender ok, für die AngularJS-Anwendung, die asynchron mit dem Server kommuniziert, ist es aber verwirrend. Wir zeigen hier eine Lösung für das Problem.

Weiterlesen