Sunday, November 1, 2015

(Java) Development Stack 2015

So, I switched company last year. My current company is a e-commerce B2B which also built it's offering based on Java and Open Source technologies. Here my technology stack per Oct 2018:

Presentation Layer
Depending on the nature of the project (urgency). My default stack is still to use JSF 2.x with Primefaces for rapid development. I also still working with Spring MVC, Angular.JS and Twitter Bootstrap. Lately, I also start to work with SpringBoot. I found it kinda tricky sometimes (maybe I'm too conservatives)

Business Layer
Still using Spring Framework and Spring Security. Similar like in the web arena (presentation layer), I also start to use SpringBoot for several independent tasks, especially batch jobs.

Data Access Layer
I'm using Hibernate - JPA combo! For my latest webservice project, I'm using Spring JDBC (JdbcTemplate).

Build
Start to use Maven 3.x.x. Currently evaluating Graddle, but I'll give it a pass.

Testing
Using JUnit with some mocking library (JMockit and/or Mockito). To test REST webservice, I'm using Rest Assured.

Continuous Integration and Code Quality
Now I'm becomes a fan of Continuous Integration. We are using Jenkins for CI. Sonarqube for code quality is a must!

Application Server
I'm still using Tomcat 7.0.x for development and production.

Database Server
My company using Oracle DB. For my own side projects, I'm move away from MySQL and using PostgreSQL.

Source Control
Pretty much I'm using both Mercurial (bitbucket) and Git (bitbucket & github).

Linux?
Currently I'm move away from Ubuntu to CentOS.

What do you think compared to this?

I'm sure you also notice that lately I've been posting about Python and pyramid framework. Yes, Python is my 2nd programming language now (I mean for back-end). And I pretty much love SQLAlchemy. Maybe in the future I'll touch Django, who knows...