Practice – Java
Java is an ubiquitous technology in many modern engineering organizations. Speed and Function provides expertise with the latest technologies in the Java ecosystem such as Spring, Guice, Hibernate, Gradle, Maven, and JUnit. We also leverage the latest practices such as Continuous Integration (with Bamboo or Jenkins), unit testing and integration testing with JUnit, code coverage with the Cobertura and Clover, and monitoring code quality with SonarQube. We also highly recommend working with repeatable infrastructure such as Docker or Vagrant.
While working on a recent Java project with W2O Group, we implemented new functionality in their SBP product (using Maven, Guice, and Apache Streams) at a critical point in their timeline. Through all this, at the same time we had the opportunity to greatly simplify their use of Guice which allowed for much smaller and easier-to-understand unit tests, and simpler easier-to-read code. The new functionality came in at 100% code coverage too!
Spring is at the heart of many Java projects, and for good reason. It provides you with a cohesive set of libraries that all work together, and you can use as much or as little as you like. We can bring proficiency to your organization in many popular Spring modules such as:
- Spring Framework
- Spring Boot
- Spring Security
- Spring Data / REST
- Spring MVC
- Spring HATEOAS
Hibernate is probably the foremost JPA implementation and general purpose ORM library in use. We provide extensive Hibernate expertise across a variety of situations:
- Reverse engineering JPA entities from existing databases
- Analyze performance and make improvements, possibly with custom queries
- Manage and convert legacy XML mappings
- Optimize JPA Annotations
If your mission critical software is running on a legacy versions of Java (6 or 7) then your software – and your company – is at risk. Public updates are only available for Java 8, so running older versions means you are missing important security patches and bug fixes, not to mention missing out on years of performance improvements. Java is advertised as strongly backwards-compatible, and Oracle provides a Java 8 Compatibility Guide, but are you ready to tackle a migration yourself? We have experience with migrating large enterprise systems to run on Java 8, and can bring that expertise directly to you.