BT

KonaKart: Free Java-based online shopping cart

by Ryan Slobojan on Oct 22, 2007 |

KonaKart, a free Java-based online shopping cart, just released version 2.2.0.7. InfoQ spoke with KonaKart founder Paolo Sidoli to learn more about this release, and how KonaKart fits into the online shopping cart space.

Sidoli told InfoQ that KonaKart originates from a perceived void in the Java eCommerce solution space - although there are many PHP-based free solutions, the only two Java solutions of which he was aware, ElasticPath and SoftSlate, were not free. KonaKart is separated into two parts - an open source API, and a closed-source but free engine. Sidoli described KonaKart's business model:

Our business model is to gain revenue on consulting and support so our product is free. If you buy a product like Softslate, they will also include the source code and teach you how to customize it to meet your requirements. This approach is fine until they come out with a new major release since at that point you have to almost start from scratch again as well as pay again. Our approach is to make KonaKart partly open source with the GNU LGPL license and partly closed source. Everything that we feel may need to be customized is Open Source. However the core of KonaKart which is accessible through an API, is not open source. The advantage of this approach is that we make an effort to retain backwards compatibility every time we come out with a new release. Therefore if you completely change the UI in today’s version, it will still work with the next version we release because *all* functionality uses our API.

KonaKart has several major features:

  • Standard shopping cart features - Order status, order history, customer accounts, product reviews, best-seller lists and product search are supported
  • Easy migration from osCommerce - KonaKart's datamodel and database are compatible with osCommerce 2.2 for easy migration
  • Modular design - Shipping, payment, order total and promotiom modules can be added, and BIRT reports are also supported
  • Multiple database support - KonaKart supports MySQL, PostgreSQL, Oracle, DB2, and Microsoft SQL Server
  • Fully skinnable - All functionality is accessible via Java APIs and SOAP web services so that the entire UI can be rewritten (in OpenLaszlo, for example) - Struts integration is also supported
  • AJAX components - one page checkout is implemented using AJAX, and the administration interface is also implemented with AJAX and JavaScript via the Google Web Toolkit (GWT)

KonaKart also has role-based security and auditing, internationalization (I18N) support, a robust promotions subsystem, and support for search engine optimization (SEO).

InfoQ asked Sidoli about future development plans:

We are very customer driven and so if we have a customer that is keen on using KonaKart but is missing some functionality that we consider to be of general use and not specific to that customer, then we tend to give it a high priority.

Our current roadmap involves:
  • Developing an OpenCMS module with KonaKart to allow OpenCMS users to download and install KonaKart as a module.
  • Develop themes, to allow users to easily change the look and feel of the application UI. This is already easy to do since the JSPs contain no business logic, but we want to achieve it through a wizard.
  • More payment gateways, shipping modules
  • Some more store features such as support for bundled products and shipping to multiple addresses.

Sidoli also mentioned that future integration points for business events (e.g. stock of a product going below a certain threshold) will depend upon customer feedback.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Softslate misconceptions by Ashish Jain

--------------------------------
If you buy a product like Softslate, they will also include the source code and teach you how to customize it to meet your requirements. This approach is fine until they come out with a new major release since at that point you have to almost start from scratch again as well as pay again.
-------------------------------
I have been working as developer for Softslate. Softslate is highly customizable (not just jsps, but any source code class can be extended) and all customizations occur in extension folders. Hence, whenever there is any upgrade, softslate is 100% backward compatible. You can customize your portal as you want in extension folders and if any upgrade happens, it doesn't touch your changes.

No, Softslate doesn't charge single penny for any upgrades to existing customers.

Yes, providing source code is big plus for most of medium to big business houses, as they tend to customize and integrate with their existing infrastructure.

Re: Softslate misconceptions by David Tobey

I would just add, it's also misleading to say SoftSlate is not free. The Free Edition is free, and has been for years. Two restrictions: a limit of 100 active products, and (as with KonaKart) the core Java source code is not included.

Re: Softslate misconceptions by Stefan Tilkov

You might note that there's a difference between "free beer" and "free speech".

Re: Softslate misconceptions by Paolo Sidoli

No, Softslate doesn't charge single penny for any upgrades to existing customers.
--------------------------------------------------------------------------

There are not many traditional software vendors that give a perpetual license for a product. Even though I bought Windows 95, Microsoft will not give me Vista for free! From what is written in the Softslate licensing agreement www.softslate.com/licensePage.do it appears that Softslate also “reserves the right” to charge for a new major release of their product.

ii. Major Upgrades. At LICENSOR's discretion, LICENSOR may deem a set of error corrections, bug fixes, patches or other updates to the SOFTWARE PRODUCT to be a major release, constituting significant enhancements and modifications ("MAJOR UPGRADE"). Distribution of MAJOR UPGRADES may be subject to separate license agreement and additional license fees, in LICENSOR's sole discretion.


Yes, providing source code is big plus for most of medium to big business houses, as they tend to customize and integrate with their existing infrastructure.
--------------------------------------------------------------------------

There are many ways to achieve integration, and this is one of them. Each approach has pros and cons. The approach of KonaKart is to attempt to avoid developers from changing the “core code” since I think that anyone will agree that such changes are not very resilient to change. For example, it is very tempting for a developer to add an extra query and to make some optimizations here and there. These will not be guaranteed to work in the next major release of any product because even the persistence layer may change between releases. Also they may introduce bugs that are tricky to find. Our approach is to add API calls and integration points to endeavour to guarantee compatibility between releases while at the same time giving users the flexibility they require. We prefer to keep control of the core source code and to provide access to this through an API. Let’s face it, we managed to integrate KonaKart with Oracle without requiring the source code of Oracle .

Re: Softslate misconceptions by John Hornsby

I'd just like to clarify that KonaKart is free as in beer and has no restrictions such as product limits.

There is an Open Source Java ECommerce solution... by Christian Geisert

... and it's called Apache OFBiz

Re: There is an Open Source Java ECommerce solution... by Mike P

Yea,

But OFBiz is a trainwreck. It is a mishmash consisting of very imaginable open source library, an abundance of XML configuration files, and a homemade persistence engine which robs you of normalized data.

"Everything that we feel may need to be customized is Open Source" Really? by DB Whitaker

"Everything that we feel may need to be customized is Open Source". It's hard to take this statement seriously. I downloaded the package and the only .java files were under the "example" directory. The company's position must be that they feel no part of the product may need to be customized. I don't find this position to be credible.

A quick examination of the product finds it to be seriously under-documented. It's hard to believe that anyone could build to the WSDL with based only on the public documentation. (Perhaps there is a problem with the packaging of the download. For example, the PaymentInterface method getPaymentDetails takes a parameter of type com.konakart.app.Order, but I couldn't find any documentation on a package named com.konakart.app. More importantly, I could find nothing describing how to invoke the PaymentInterface in terms of prerequisites and return values.)

Re: Everything that we feel may need to be customized is Open Source" Reall by Paolo Sidoli

I downloaded the package and the only .java files were under the "example" directory
-----------------------------------------------------------------
Maybe the name "example" is a bit misleading. However, under this directory you get the source code of all of the Struts actions, all of the modules (payment gateways, shipping modules, discount modules) and all of the Struts forms. From this link www.konakart.com/apiexamplesfaq.php you can download examples of how to call the APIs. With this source code plus the JSPs you can heavily customize our default application.

Certainly the documentation can and will be improved; although so far we’ve been amazed to see how people have managed to write their own payment gateways, integrate with existing apps using SOAP calls and get web sites up and running with very little or no help from us at all.

Re: Softslate misconceptions by David Tobey

Very good points, Paolo. Just to clarify SoftSlate's position on upgrades. We've had just one major upgrade in our history, from 1.x to 2.x, and we did not charge for it. You are correct the language is in the license, but we do not expect to charge for any future upgrades, major, minor or otherwise (for the simple reason that it's in our interest to encourage upgrades.)

On your points about integration and source code, I agree completely there are different and valid approaches. From our perspective, we like offering our customers all of the source code so they have their destiny in their own hands. If they wish to break away from the upgrade path, they have the power. That said, even the core functions are customizable in such a way that upgrades can be applied on top of them.

I've found with experience that with an application like a shopping cart, as opposed to a database, the "core" functions are often exactly the things you want to adjust for your business. Doing so can mean the difference between being the same as your competitors and being better than them.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

10 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT