Inspiriert von Swagger und OpenAPI ermöglicht die Spezifikationssprache AsyncAPI die Beschreibung asynchroner Schnittstellen. (Jetzt lesen)
Stichworte: API, asynchon, Microservices, EDA, IOT
Quarkus hat die Herzen vieler Entwickler:innen im Sturm erobert. Das liegt unter anderem daran, dass hier Produktivität und Ease of Development großgeschrieben werden. Mit dem Framework zu arbeiten, macht schlichtweg eine Menge Spaß. Zudem gelingt der Einstieg in der Regel recht schnell, da überwiegend bekannte APIs und Technologien zum Einsatz kommen. Dieser Artikel begleitet auf den ersten Schritten mit Quarkus.
Stichworte: Quarkus, Java, Zukunftspfad für Java EE-Anwendungen
Ausgabe 6.22
Die Integration von Softwaresystemen stellt seit vielen Jahren eine wiederkehrende Herausforderung für Entwickler dar. Lediglich die technologischen Ansätze ändern sich. Aktuell gelten HTTP-basierte Schnittstellen als ein beliebtes Mittel. Für den Austausch von Daten kommt dabei zumeist das JSON-Format zum Einsatz. Im Sprachgebrauch haben sich die Bezeichnungen Web-API, HTTP-API oder schlicht API eingebürgert, auch wenn letzterer Begriff natürlich eigentlich viel allgemeingültiger ist. Werden zusätzlich die Empfehlungen des REST-Ansatzes eingehalten (und nur dann), handelt es sich um eine REST-API. Solche HTTP-basierten APIs lassen sich mit gängigen Programmiersprachen, modernen Frameworks und ausreichend Entwicklungserfahrung in verhältnismäßig kurzer Zeit implementieren. Und daraus folgt nicht selten der Trugschluss, dass die Schnittstelle daher ziemlich schnell fertig sein müsste. Tatsächlich ist es dagegen aber äußerst empfehlenswert, sich deutlich mehr Zeit zu nehmen und zunächst einige konzeptionelle Gedanken darüber zu machen, wie genau die API gestaltet werden soll. (Jetzt lesen)
Stichworte: API, HTTP, Design
Bereits seit langer Zeit beschäftigen sich Software-Entwickler immer wieder mit der Frage,
wie geeignete Schnittstellen realisiert werden können, um bestehende oder neue Systeme
miteinander zu integrieren. Über die Jahre sind dabei die unterschiedlichsten Technologien
und Trends zum Einsatz gekommen. In der jüngsten Vergangenheit haben sich so genannte APIs
als eine Lösung etabliert, die von vielen Entwicklungsteams favorisiert wird.
Ein wichtiger Bestandteil der API-Entwicklung ist die Erstellung einer API-Spezifikation.
Diese dient als technische Beschreibung der Schnittstelle und somit an erster Stelle als
Dokumentation für Entwickler, sowohl beim API-Betreiber als auch bei jenen Teams oder Unternehmen,
die Clients für eine jeweilige API implementieren möchten. Neben dem reinen Dokumentationszweck
kann eine API-Spezifikation aber auch für automatisierte Test eingesetzt werden, etwa um die
Kompatibilität zwischen mehreren Kommunikationspartner jederzeit zu gewährleisten
Natürlich ist es sinnvoll, für solche API-Spezifikationen ein einheitliches, standardisiertes
Format zu etablieren. Für synchrone, HTTP-basierte APIs hat sich hierzu OpenAPI [1] durchgesetzt.
Diese ursprünglich aus Swagger hervorgegangene Beschreibungssprache wird verbreitet zur Spezifikation
dieser Gattung von APIs eingesetzt und ist den allermeisten API-Entwicklern inzwischen gut bekannt.
Für die Spezifikation asynchroner APIs gab es jedoch lange Zeit keine äquivalente Unterstützung.
Inzwischen steht aber mit AsyncAPI [2] auch hierzu eine Lösung bereit.
Stichworte: APIs, API-Spezifikation, Event-Driven Architectures, Asynchrone Kommunikation
Ausgabe 10.21
Eine kleine Rundreise
Bei Public APIs handelt es sich um (zumeist HTTP-basierte) Schnittstellen, die öffentlich zur Verfügung stehen und von jedermann genutzt werden können, um die hierdurch zugänglichen Daten oder Funktionen in eigene Anwendungen zu integrieren. Für solche Public APIs hat sich inzwischen ein gewaltiger Markt entwickelt. Ein umfassender Überblick ist kaum möglich, es bieten sich ausgesprochen vielfältige Möglichkeiten. Software-Entwickler finden hier quasi einen Bausteinkasten vor, der fertige Komponenten für alle nur denkbaren Anwendungsfälle bietet. Der vorliegende Artikel stellt einige interessante Public APIs vor und gibt Anregungen, wofür diese in der Praxis eingesetzt werden könnten. (Jetzt lesen)
Stichworte: Public API, HTTP, Software-Entwicklung
Erste Schritte mit Quarkus und MicroProfile
Quarkus hat aus unterschiedlichen Gründen große Aufmerksamkeit auf sich gezogen. Es verbindet technologische Innovation und spannende Features mit hoher Produktivität für Entwickler. Gleichzeitig bietet es weitreichende Kompatibilität mit gängigen Lösungen, die Entwicklern seit Langem vertraut sind. Insbesondere bietet Quarkus die Möglichkeit, zeitgemäße Anwendungen für den Betrieb in der Cloud auf Basis von JAX-RS, CDI und Hibernate zu entwickeln, ergänzt um die Features des MicroProfile. Somit eröffnet es für Unternehmen mit Java-EE-Historie einen möglichen Pfad in die Zukunft. Wächst hier ein ernstzunehmender Konkurrent für Spring Boot heran?
Stichworte: Quarkus, MicroProfile, GraalVM
Ausgabe 08.20
Javas neuer HTTP Client
Aktuelle Trends der Software-Entwicklung, wie Microservices oder Cloud, führen dazu dass immer häufiger verteilte Systeme entstehen. Diese erfordern Kommunikation, und HTTP zählt hier zu den am häufigsten eingesetzten Protokollen. Somit ist es enorm wichtig, dass eine so populäre Programmiersprache wie Java eine zeitgemäße Unterstützung für den Versand von HTTP-Requests mitbringt. Überraschenderweise war dies sehr lange Zeit nicht der Fall.
Stichworte: Java SE, HTTP, APIs
Ausgabe 05.20
Ein erster Schritt in Richtung Zukunft für Enterprise Java
Nach einer kleinen Ewigkeit ist es nun endlich soweit: Das lange erwartete erste Release von Jakarta EE wird öffentlich vorgestellt. Nun darf die Community auf eine rasche Weiterentwicklung der Plattform hoffen. Thilo Frotscher fasst in diesem Artikel die wichtigsten Informationen zum ersten Release von Java EE unter dem Schirm der Eclipse Foundation zusammen. (Jetzt lesen)
Stichworte: Jakarta EE, MicroProfile, Java EE
September 2019
API-Entwicklung mit JAX-RS 2.1 & Co
Das aktuelle Release von JAX-RS bringt einige interessante Neuerungen für API-Entwickler, wie etwa Unterstützung für HTTP PATCH, Server-sent Events oder die neue reaktive Client-API. In Kombination mit JSON-B geht die Implementierung von APIs damit noch leichter von der Hand.
Stichworte: API, JSON, JAX-RS, JSON-B, Java EE 8
Ausgabe 5.19
Aktueller Stand und Blick in die Zukunft
Die bislang unter „Java EE“ bekannte Plattform ist mitten im Umbruch. Nach der Entscheidung von Oracle, die alleinige Kontrolle aufzugeben und die Plattform an die Eclipse Foundation zu übertragen, warten Entwickler nun gespannt auf ein erstes Release unter dem neuen Namen „Jakarta EE“. Während der Umfang dieser initialen Version identisch mit Java EE 8 sein soll, arbeitet das Eclipse-MicroProfile-Projekt in rasantem Tempo an potenziellen neuen Features, die schon bald in die Plattform einfließen könnten. (Jetzt lesen)
Stichworte: Jakarta EE, MicroProfile
Ausgabe 01/2019
MicroProfile als Ideenschmiede für Jakarta EE
Mit Java EE lassen sich problemlos Microservices entwickeln und in modernen Umgebungen betreiben. Dennoch fehlt der Plattform eine Reihe von Features, die andere Frameworks wie etwa Spring Boot schon lange mitbringen. Sie müssen entweder selbst entwickelt oder durch die Einbindung entsprechender Bibliotheken nachgerüstet werden. Während der Übergabeprozess von Java EE an die Eclipse Foundation auf die Zielgerade einbiegt, arbeitet das Eclipse-MicroProfile-Projekt in rasanter Geschwindigkeit an Vorschlägen für neue APIs, die Jakarta EE künftig wieder auf Augenhöhe mit seiner Konkurrenz bringen könnten. (Leseprobe)
Stichworte: Jakarta EE, MicroProfile
Ausgabe 9.18
Neue Features in Java EE 8 und Ausblick auf Jakarta EE
Die bislang unter dem Namen „Java EE“ bekannte Entwicklungsplattform ist wieder im Aufwind. Nach einer längeren Phase der Ungewissheit, während der sogar das Ende der Plattform befürchtet wurde, erschien im September endlich das neue Release Java EE 8. Die ersten kompatiblen Application Server stehen so langsam in den Startlöchern – höchste Zeit also für einen detaillierten Blick auf die Neuerungen. Ebenfalls im Herbst gab Oracle bekannt, die alleinige Kontrolle über Java EE aufzugeben und an die Eclipse Foundation zu übertragen. Ein Schritt, der allseits für große Zuversicht sorgt, der aber auch viele Änderungen mit sich bringt, unter anderem eine Namensänderung.
Stichworte: Java EE, Jakarta EE, MicroProfile
Ausgabe 1-2018
Eine Betrachtung des Übergangs von Java EE zu EE4J
An das Jahr 2016 werden sich Anhänger der Java EE-Plattform nur ungern zurück erinnern. Damals war die Entwicklung von Java EE 8 ins Stocken geraten, da Oracle seine Arbeiten am neuen Release praktisch eingestellt hatte. Gleichzeitig blieben Nachfragen über die Gründe unbeantwortet und Oracle ließ die Community über mehrere Monate im Unklaren über seine Zukunftspläne für die Plattform. Einige Beobachter befürchteten bereits, Oracle hätte das Interesse an Java EE komplett verloren und würde die Weiterentwicklung einfach einstellen. Dies hätte sicherlich das Ende der Plattform bedeutet – ein Schreckensszenario für die zahlreichen Unternehmen, die seit vielen Jahren in Java EE investieren. Jetzt lesen
Stichworte: Java EE, EE4J, MicroProfile
Ausgabe 02/2018
Fallstricke beim Design von Web-APIs
Web-APIs erfreuen sich großer Beliebtheit, bieten sie doch eine scheinbar perfekte Lösung zur Systemintegration. Jedoch gibt es auch einige Fallstricke, die unbedingt beachtet werden sollten. So führen Web-APIs zu einer recht engen Kopplung. Deshalb wird unter anderem eine Strategie für den Umgang mit vorübergehend nicht verfügbaren Kommunikationspartnern benötigt. Weitere Aspekte sind die fehlende Zuverlässigkeit des Netzwerks oder auch die Tatsache, dass SSL in manchen Produktivumgebungen keine ausreichende Sicherheit bietet.
Stichworte: API, Kopplung, Sicherheit, Fehlerfälle, Wiederholbarkeit, Kommunikationsmuster, Wartbarkeit
Ausgabe 04/2017
Beobachtungen aus über fünfzehn Jahren Projektarbeit
Nicht wenige Software-Entwickler sagen von sich, sie hätten ihren Traumberuf gewählt. Viele haben ihr Hobby zum Beruf gemacht. Da sollte man annehmen, dass die meisten auch große Freude an ihrer Arbeit haben. Doch ist das ein Trugschluss?
Stichworte: Arbeitswelt, Karriere
Ausgabe 06/2016
Ein erster Blick auf MVC (JSR-371)
Mit Java EE 8 erhält die Plattform ein neues Web-Framework. Im Unterschied zu JSF wird dieses nicht komponenten-, sondern actionbasiert sein. Eine Entscheidung, die durchaus kontrovers diskutiert wird. Während manche Entwickler eine jahrelange Hoffnung endlich erfüllt sehen, halten andere diesen Schritt für unnötig. Dieser Artikel bietet einen Einstieg in die Thematik, skizziert Gründe für die Entscheidung und wirft einen ersten Blick auf die neue Spezifikation, die stark auf JAX-RS beruht.
Stichworte: MVC, JAX-RS, CDI, Java EE 8, Webentwicklung
Ausgabe 06/2015
von Lars Röwekamp, Arne Limburg, Thilo Frotscher, Bernhard Löwenstein und Jens Schumann
Hätte man noch vor wenigen Monaten einen Ausblick auf Java EE 7 gegeben, wären Buzz Words wie Multi-Tenancy und Cloud-Support die Aufhänger des Schwerpunkts gewesen. Mittlerweile ist die JSR 342 Expert Group allerdings ein wenig zurückgerudert und hat sich deutlich realistischere Ziele gesteckt. Welche, verrät Ihnen diesem Buch. Lars Röwekamp und Arne Limburg stellen die wichtigsten Ziele der neuen Spezifikation in ihrem einleitenden Beitrag vor. Einen ersten Blick auf die wichtigsten Neuerungen in JAX-RS 2.0 sowie in JMS 2.0 wirft Thilo Frotscher. Auch, was Java EE 7 weg lässt, bleibt nicht außen vor: Bernhard Löwenstein kommentiert die Verschiebung der Cloud-Features für Java EE 7. Und nach all der Zukunftsmusik liefert der shortcut noch ein wichtiges gegenwärtiges Thema, an dem Sie sofort losarbeiten können: Jens Schumann zeigt, wie ein Wechsel zum aktuellen Java EE 6 Stack erfolgen kann und warum eine Migration sich lohnen kann.
Stichworte: Java EE 7
erschienen 04/2013
Ein erster Blick auf die wichtigsten Neuerungen in JAX-RS 2.0
In Java EE 6 war mit JAX-RS 1.1 erstmals standardisierte Unterstützung für REST-basierte Anwendungen enthalten. Während diese erste Version im Allgemeinen sehr gut angenommen wurde, zeigte sich jedoch schon bald, dass das eine oder andere noch fehlte, um JAX-RS wirklich rund zu machen. Insbesondere existierte bislang keine standardisierte Client-API. Dies und vieles andere mehr soll in JAX-RS 2.0 nun nachgereicht werden.
Stichworte: JAX-RS 2.0, Java EE 7, REST
Ausgabe 02/2013
JMS 2.0 bietet Entwicklern die lang erwartete Modernisierung
Vor über zehn Jahren, anno 2002, erschien J2EE 1.4. Zu den Neuerungen zählten damals unter anderem JSP 2.0 inklusive Expression Language, EJB 2.1 oder Support für XML Schema. Im gleichen Jahr wurde der Euro wurde als Bargeld in Umlauf gebracht, Rudi Völler war Bundestrainer und.. Das alles scheint eine halbe Ewigkeit her zu sein. Ist es auch. Aus dem gleichem Jahr stammt die noch immer aktuelle API für JMS 1.1.
Stichworte: JMS 2.0, Java EE 7, Messaging
Ausgabe 02/2013
Lose gekoppelte Services mit ActiveMQ und Camel
Nachdem im ersten Teil des Artikels die Theorie im Vordergrund stand, geht es dieses Mal um die praktische Umsetzung. Dabei wird ein möglicher Weg skizziert, wie eine typische eng gekoppelte Lösung schrittweise zu einer loser gekoppelten Variante umgebaut werden kann. Ebenfalls wird betrachtet, ob man zu diesem Zweck einen ESB einsetzen sollte.
Stichworte: Services, SOA, Lose Kopplung, WS-* Stack, Messaging, JMS, ActiveMQ, Camel, Routing, Mediation, ESB
Ausgabe 07/2009
Der Einsatz von Services resultiert in lose gekoppelten Systemen. Oder?
Der service-orientierte Ansatz hat weite Verbreitung gefunden. Zu den am häufigsten genannten Gründen oder Zielen für den Einsatz von Services ist dabei die viel zitierte lose Kopplung von Systemen. Erstaunlicherweise zeigt sich in der Praxis jedoch vielfach, dass selbst fortgeschrittene Entwickler tatsächlich sehr eng gekoppelte Lösungen erstellen. Dieser Artikel beleuchtet die Problematik am Beispiel des Web Service-Technologiestacks.
Stichworte: Services, SOA, Lose Kopplung, WS-* Stack, Messaging, Point-to-Point, JMS
Ausgabe 06/2009
Mit Spring-WS tritt eine Lösung von SpringSource gegen die etablierten Web Service-Frameworks an
Wird eine serverseitige Anwendung, die auch Web Service-Schnittstellen erhalten soll, ohnehin auf Basis des Spring Frameworks implementiert, so scheint es nahezuliegen diese Schnittstellen mit Spring-WS zu realisieren. Aber ist dies immer eine gute Wahl? Dieser Artikel stellt Besonderheiten und Einschränkungen der Spring-Erweiterung vor.
Stichworte: Web Service-Frameworks, Spring-WS
Ausgabe 05/2009
Entscheidungshilfe für die Auswahl eines Web Service-Frameworks
Web Services werden heute in einer Vielzahl von Projekten eingesetzt. Die zunehmende Verbreitung der Technologie führte unter anderem auch dazu, dass inzwischen eine ganze Reihe von Frameworks erhältlich ist, welche die Entwicklung von Web Service-Anwendungen vereinfachen sollen. So stehen Entwickler einmal mehr vor der Aufgabe, das richtige Framework auszuwählen.
Stichworte: Web Service-Frameworks, Metro, Apache Axis2, Apache CXF, Spring-WS
Ausgabe 02/2008
Color Modelling unterstützt die Erstellung von Domänemodellen mit Farben
Nicht alles, was schon ein paar Jahre älter ist, muss deswegen gleich schlecht sein. Gerade in einer Branche, in der nichts so konstant ist wie der stetige Wandel, sollte man sich dies immer mal wieder ins Gedächtnis rufen. Während sich Technologien rasant verändern und verbessern, haben grundlegende Erkenntnisse, Methodiken oder Ansätze in der Regel deutlich länger Bestand. Die Analysetechnik des „Color Modelling“ wurde bereits vor zehn Jahren erstmals vorgestellt, begeistert ihre Anhänger jedoch noch heute.
Stichworte: Color Modelling, Domain-driven Design
Ausgabe 12/2007
Eclipse-Plugins für Apache Axis2 1.2 kurz vorgestellt
Das Web Service-Framework Apache Axis2 hat inzwischen bereits Version 1.2 erreicht. Neben verschiedenen Detailverbesserungen und einigen wenigen neuen Features gegenüber Version 1.1 wurden unter anderem auch die beiden Plugins für Eclipse aktualisiert. Sie können insbesondere Einsteigern die Arbeit mit dem Framework erleichtern.
Stichworte: Axis2, Eclipse, Plugins
Ausgabe 02/2007
In Unternehmensanwendungen essentielle Aspekte wie Sicherheit, Transaktionen und Zuverlässigkeit ließen sich anfangs im Webservice-Umfeld schwer umsetzen, weil Standards fehlten. Mit WS-Policy, WS-Reliable Messaging und WS-Addressing lassen sich einige Fähigkeiten nachrüsten.
Stichworte: WS-Policy, WS-Reliable Messaging, WS-Addressing
Ausgabe 01/2007