Part 1: GraphQL with Spring Boot, JPA and Kotlin

GraphQL is a query language for dynamic queries on linked data. In the GraphQL world, there are many tutorials and documentation that illustrate the concrete introduction to GraphQL. Since getting started requires a lot of explanation, regular tutorials usually have a simple setup, which does not reflect the real world complexity. If additional technologies are added or the complexity of the project increases, these “Hello World” examples are usually no longer so helpful.

This article introduces GraphQL on the technology Spring Boot with JPA and Kotlin. I also present some best practices which I have learned while I have worked with it. You can find the source code here: https://github.com/akquinet/kotlin-spring-graphql

Continue reading

Monitoring the JBoss EAP / Wildfly Application Server with the Command Line Interface (CLI)

The JBoss EAP / Wildfly provides a powerful concept for management, configuration and monitoring of the JBoss Application Server itself and its Java EE Applications. The concept is based on the detyped management API. All management clients of the application server use this detyped management API to interact with the server.

In this post we focus on some useful runtime metrics which are of interest when monitoring your application server and application with the Command Line Interface (CLI).

Continue reading

Use jBPM5 embedded within a Java EE 6 application

Since the first final release of jBPM5 at the beginning of 2011 a little more than one year has passed. Despite of being a final release there have been a couple of bugs and the documentation was having many deficiencies. During the last year, however, jBPM5 was quickly moving forward and many bugs were fixed and the documentation has significantly improved.

Notwithstanding the improvements there are still some points which are not covered by the documentation of which the most important one for us is the integration of jBPM5 into a Java EE6 application. In the past we had multiple Java EE 5 projects where jBPM3 could be easily integrated. This is something we want for the current amazing Java EE 6 stack. Unfortunately there is no documentation on how to achieve this goal – maybe because no one succeeded in implementing it? Therefore, we took on this challenge and found a solution which meets our requirements. In this blog post we will describe this solution. Before we start to describe our solution we want to briefly lay out the requirements of the integration of jBPM5 into a Java EE 6 application.
Continue reading

Brave new world – Migrating a Java EE Application from JBoss AS 6 to JBoss AS 7

We are migrating an existing Java EE Application from JBoss AS 6 to JBoss AS 7. This blog post introduces our experience we have gained during the migration of the application to the new JBoss AS 7.

Overview of the application

The application is a Java EE application based on EJB, JPA and it contains a web application built with JSF. Furthermore, the application contains a web service to interact with a third-party system and some MBean’s for administration and configuration.

Continue reading

Creating Web Applications with Play! – An introduction

Play! is an open-source framework for building web applications in Java or Scala. It is stateless and promotes RESTfulness: it embraces web-oriented architecture. But best of all, Play is simple, fast and ultimately fun. It is also pretty powerful and allows the development of sophisticated web applications in an efficient way. akquinet is now using Play as the basis for different applications.

To illustrate how easy and powerful Play is, this blog post presents a miniature web application.

It’s a basic library interface, where books may be checked out and returned at the press of a button. Then, the page reloads and the updated availability status is shown.

The following is just a small sample of what Play can do. Play is a sophisticated framework with many other features that we don’t have room to represent here (such as excellent support for testing, the ability to configure dynamic routing to create clean, RESTful URLs, and access to a wide variety of modules such as user authentication), but the intention of this post is simply to show how Play can enable you to build powerful web applications quickly and easily.
Continue reading

New JSR Proposed: JPA 2.1

Update 01. Feb 2011

akquinet joins the JSR-338 expert group to take active part in developing the JPA 2.1 specification.
 


A new Java Specification Request JSR-338 has been submitted to extend the Java Persistence API (JPA).

The JSR will address a number of features requested by the community:

  • Improvement of the query language and the criteria API
  • Extending the object-relational mapping (custom types, transformation methods, better schema generation, UUID generator types and more)
  • Dynamic definition of persistence unit and object-relational mapping
  • Read-only entities
  • Methods for dirty detection
  • Support for fetch groups or fetch plans
  • and more …

Linda DeMichiel from Oracle, already spec lead of JPA 2.0 and EJB 2.x, 3.x, is the specification lead of the JPA 2.1 expert group. The JCP review ballot closes end of the month and the expert group will be formed as soon as the JSR is approved.

akquinet has a long history in the area of persisting Java objects and object-relations mapping. Michael Bouschen from akquinet is member of the JPA 2.0 expert group, the JDO expert group(s) and the JDO TCK implementation team at apache.

akquinet is supporting this JSR and plans to join the JPA 2.1 expert group to continue the work on Java Persistence.