Tools and Frameworks Developers Love To Use

Broadleaf Commerce was developed, from the ground up, with developers in mind. It is an enterprise class, open source eCommerce framework written in Java. It was built on leading open source technology frameworks, including The Spring Framework, Hibernate, Thymeleaf, Smart GWT to name a few. It was designed for easy extensibility and customization with a pluggable, interface-based design and a unique application context merge process.

Here's how it works... (show more)

Broadleaf Commerce provides Java libraries (jars) with default components and configurations. The default components include data entities that map to database tables, services containing business logic such as pricing, data access objects with default queries and persistence logic, and UI controllers. Broadleaf also provides a starter application in the form of a Maven archetype. You can use Broadleaf Commerce, out of the box with no additional configuration. However, many organizations will want to, at least, customize the UI. Many other organizations will want to extend or customize the default behavior of Broadleaf Commerce according to their specific requirements.

The framework is designed to allow you to extend any Broadleaf entity, add your own custom entities, and replace or extend any service, DAO, or controller. You can do all of this without changing the core Broadleaf libraries or source! How is this possible? Broadleaf Commerce provides a unique application context merge process that allows you to override any default configurations or components and to extend or add new data entities. This merge process takes your custom configurations and merges them with Broadleaf's default configurations, overriding Broadleaf's default behavior where appropriate. As long as you implement the appropriate interface(s) and use the same Spring Bean names, Broadleaf will happily use your custom implementation(s) in place of its own default logic.

Broadleaf Commerce also provides a workflow paradigm for complex activities such as add to cart, pricing, and checkout. This allows you to insert custom activities into these workflows. These activities could include decrementing inventory in an external system, notifying a warehouse, sending an email, or any other custom activity that is required by your business.

Broadleaf Commerce can also run on almost any application server or servlet container including Tomcat, Jetty, Glassfish, JBoss, WebLogic, and WebSphere. Broadleaf Commerce provides rich functionality out of the box. It also provides you complete control over what you customize and how you deploy it, with tools, like The Spring Framework, that developers prefer to use.

Java

Java

Java has become the most widely used enterprise application development language and platform in the world. It is used in almost every industry and in almost every country around the world.

Broadleaf Commerce is built using Java and Java-base frameworks. Java SE 6 is a minimum requirement for Broadleaf Commerce.

Spring Framework

Spring

The Spring Framework has become the de facto standard in enterprise Java development. It is the most widely used Java development framework in the world.

The Spring Framework provides container services to Broadleaf Commerce, including dependency injection, transaction management, AOP, environment-based property injection, security, and an MVC framework to name a few. Broadleaf Commerce currently uses Spring Framework version 3.1.

Hibernate

Hibernate

Hibernate is the world's most popular Object-Relational Mapping (ORM) framework. It allows developers write object-oriented Java classes, whose objects are mapped to database tables across any number of popular relational database platforms such as Oracle, MySQL, PostgreSQL, and SQL Server.

Hibernate is an implementation of the Java Persistence API (JPA), which is the ORM standard. Broadleaf Commerce uses JPA 2.0 and Hibernate 3.6.8 for relational database access and data persistence.

Thymeleaf

Thymeleaf

Thymeleaf is Broadleaf's default template engine. It is used with Spring MVC to provide a dynamic user interface.

Broadleaf chose Thymeleaf as a templating engine and default UI rendering engine because of its integration with Spring MVC, the fact that it provides natural templating, and it requires no compilation or pre-processing of templates.

GWT

Google Web Toolkit

Google Web Toolkit is a development framework for building web-based user interfaces. It is used by Broadleaf Commerce, along with Smart GWT to provide the UI for the Broadleaf Administration Console.

The Broadleaf Admin Console is a dynamic console that can automatically adjust to your entity extensions. This happens through Java Reflection. We chose GWT and Smart GWT for the Administration Console to allow for this flexibility.

Solr logo

Apache Solr

Apache Solr is an industry leader in providing blazing fast searches across enormous catalogs. Broadleaf utilizes Solr for product searching and browsing along with per-category facets.

To test Solr, we loaded our dev machines with an index of several million products. After seeing that results were coming back in fractions of a second, it was a no brainer to choose Solr to back our searches.

Technology Partners

The Broadleaf Commerce team would like to thank the following for tools that enable us to provide you with free open source software.
Proud to use "With its robust Java, Spring and Maven support, we think Intellij is an exceptional tool for developing Broadleaf Commerce based e-commerce applications."
Jira "We use Atlassian's JIRA to manage defects, issues, and releases for Broadleaf Commerce."
PHPbb "Broadleaf Commerce forums would not be possible without the great software from the team at phpBB."