However long you might have worked in a single industry, there will always be something new to learn, whether that’s fresh technologies, different sectors, specific customer requirements, and so on. As a Developer Advocate, I’m experiencing that first hand, a few months into a new role, and I thought it might be interesting to share some of my learnings with you as I take my first steps into the world of e-commerce.

I’ve used Java (and spoken about it at length) for most of my career, but I’ve never really worked in the e-commerce sphere before. With the popularity of online shopping ever on the rise though, this part of our industry is growing fast, and will continue to do so.

My new company, Loqate, is one of the world’s biggest providers of address (and phone, email and bank account) verification technology. If you’ve ever typed the start of your address into a website and seen it provide suggestions as you’re typing, there’s a good chance this is us working in the background. We serve many different industries and use cases but as you can imagine, e-commerce is one of our biggest.

The DevRel RoleMy goal as a Developer Advocate is to help build a community around Loqate tech; to gather feedback from our users, improve our technical content assets and build brand awareness in the developer community.

As with starting any new role, the first few months have been taken up in large part by starting to understand what the landscape is like:

  • What platforms are we using?
  • What are the most common languages and tools used in this space?
  • What do our competitors look like?
  • What problems are our users trying to solve with our technologies?

While we don’t use Java much for front-end stuff here at Loqate, it’s heavily used in the back-end of many websites so I remain hopeful that I can continue to use Java combined with some front-end languages to build some samples for our documentation.

Interestingly though, that lead me to my next question:

What open-source solutions exist for e-commerce and are there any Java projects I could use?

To answer that question, let’s start by looking at the general landscape of e-commerce today.

The e-commerce LandscapeCompared with 10 years, ago, the e-commerce landscape now is really quite different. Back then, most businesses created their own websites from nothing, with only the bigger retailers and tech companies having the resources to create feature-rich sites offering user-friendly experiences.

That is still true today for big retailers and tech companies, and many of our larger customers here at Loqate use our APIs to access our services. Many small and medium sized enterprises, however, are opting to use e-commerce platforms instead of building their own sites. Crucially, these platforms take away the need for a whole development team to run a feature rich e-commerce site.

Coming from the open-source Java world, I was pleased to find that some of the biggest players in the e-commerce platform game are open-source: such as Adobe Commerce (formally Magento) and WooCommerce, with nearly 2 million customers between them.

There are, however, loads of proprietary alternatives too, as small to medium sized businesses aren’t generally focused on things being open-source, and may not have development skills in house to take advantage of their strengths. This is where platforms like Shopify, Jimdo and Oracle Commerce come into play, with impressive numbers of customers taking advantage of their ease of use (this article on 6sense.com gives a great overview of the market share of these platforms).

IntegrationsMost modern technology platforms include pre-built integrations, and this is certainly true for e-commerce platforms. These provide seamless connectivity between platforms and technologies, for example with payments, address verification, map data for store locations and so on, allowing organisations to integrate something like our Shopify plugin without needing any coding skills whatsoever.

Back in the early 2000s, integrating an online payment system for example would have required considerable development work, the associated cost of which have deterred small businesses from trading online. Nowadays if you look on the Shopify app store, about every type of payment system you can imagine is available as an integration, and most are very easy to integrate.

I recently attended a meetup for Shopify partners and most people in attendance had businesses that exclusively traded via the Shopify marketplace so these integrations can become big businesses on their own. As the popularity of e-commerce platforms keeps growing with businesses, we’re continuing to work on developing powerful, easy to use integrations!

Most-used Languages for e-commerceIt is hard to tell what programming languages most e-commerce sites use. In my experience, larger companies normally use a combination of different languages known as polyglot. It makes sense to use different languages together when you have varied website requirements, as each language will have their own strengths. A combination of HTML, JavaScript and PHP will often be the front-end languages of choice, while back-end systems might be a combination of Java, Python, C#, .Net etc.

Java and e-commerceWhile Java is used heavily as a back-end language for many web-based systems, you don’t see much of it in open-source e-commerce projects. Many of these projects seem to favour using the same language throughout, and given that Java perhaps isn’t the best front-end language this is probably why it’s not used that much.

I did find one open-source Java project: Shopizer. I managed to get this working, however the documentation could do with updating, and likewise the Node & Angular libraries (it uses Node & Angular in the front-end for their sample store – although you could use whatever language you want). The Java back-end is built with Maven and uses the Spring framework that most Java devs are familiar with. While I’ve used this to integrate Loqate’s address, email and phone verification products (with the intention of integrating other products like Store Finder in the future), one of my goals for this year is to contribute to this Java project. Hopefully I can make some useful updates to help make it a little quicker and easier to get up and running while being more secure. The reason for this is to use it as a sample to aid in our documentation and give developers a real-life sample of how to implement our technology.

My thoughtsFor small businesses with little in-house development resources, pre-built platforms clearly make the most sense. They’re highly customizable, with loads of integrations to other technologies that make starting your online selling journey easy.

If your company has reached a certain size however, with multiple requirements for your web presence, having in-house developers and owning your own site starts to make more sense. You’ll want to be able to add new functionality without having to wait for a platform to do it; open-source projects are a good way in if you want to begin owning your site, as you don’t have to start from nothing and they generally will have a community of developer willing to help.

The e-commerce world favours languages such as JavaScript and PHP, with a few Ruby and Python projects kicking around. While Java isn’t heavily used in these open-source e-commerce projects, I do know that it’s used as a back-end language for many of the world’s biggest tech companies. Web servers like Open Liberty and Quarkus will make sure it continues to be used for many years to come – they have made Java application severs very performant in this new cloud world, with sub one-second startup times for microservices allowing scaling to help save money on our cloud bill.

My goal is to update you all in 6 months on anything new I have learned since writing this and if anyone has anything to add that could be of interest then please get in contact with myself and I will consider adding it into my next article.

I’ve only scratched the surface of the e-commerce space here, but this should hopefully help anyone who – like me – is new to this realm get started quickly in understanding the landscape and technologies used in this industry.

The post A Java Developer’s View of the World of e-Commerce  appeared first on JVM Advent.