How Can jBilling Help You?
Who’s Using jBilling?

“The support we get from jBilling is excellent.”
Ingram Leedy
Elephant Outlook
See all testimonials >

What exactly is "Enterprise" software?

First of all, I'd like to start my first blog entry with a special thanks to Edwin De Souza from MySQL. I would not be blogging if it wasn't for his kind advice. Thanks!

Now to the subject in question. It seems like the word "enterprise" is now just a marketing term that really means nothing and its added freely to all sorts of software. Since we emphasize jbilling as an enterprise billing system, I'd like to clarify my understanding of what enterprise means, at least to me.

Common associations with the term are "large", "for businesses" or even "serious". Indeed, an enterprise application could be (and commonly is) all of the above. But it doesn't have to be. The software that runs the avionics of a plane can be very serious and very complex. Yet, it is not an enterprise application.

So, you can write very important, very complex and very advance software and still not be writing enterprise software. Enterprise software is just a category, is not a synonym of the "best" software.

A short and inaccurate definition that I like is "software for sizable businesses". Let's take a simple example with billing software. You can have a billing system that is not enterprise but is perfectly adequate for your small business. A self-employed professional can use it to invoice her customers and track down payments. The advantage of this software would be its simplicity: not having to deal with complex business rules, large amounts of data and concurrent access has its benefits!

But then, if you need billing software to manage thousands of customers, with many of them accessing the system to retrieve their billing history plus several employees using it daily... well, then we need an enterprise billing system.

The main characteristic that comes to mind when thinking about enterprise applications is data. Lots of it. Which means that you will have a database engine to support your application data needs. The presence of an advance RDBMS engine and a DBA is a good hint.

Concurrency is important too: several people will be using the system at the same time. The data they see and manipulate has to be consistent (imagine a customer submitting a payment but customer service seeing an old copy of her invoice, which is not paid).

Integration is another key aspect. Enterprise software is run by companies that use software to help in many areas of their business. That will be done by several software packages from various vendors. These software has to be able to talk to each other. If the accounting system doesn't know about a payment, then it's not of much use.

The last ingredient that I'd like to add, and its not commonly included, is flexibility of business rules. As said before, enterprise software is for businesses. The logic that the software runs is called 'business rules' and it needs to be easy to change. This is because businesses are in constant change: new regulations, new marketing campaigns, new products... the software they run will have to mirror these changes. So, the question is, how easy is it going to change the business rules that your software implements?

This last characteristic of enterprise software is the most commonly missed. There are many businesses running software that does pretty well at scalability and performance, but fails to be flexible. Flexibility needs to be considered from the start in the architecture and design of the system, and is usually at odds with performance. It is commonly 'patched' into the system later (with rarely good results).

Performance is a topic on its own, that I'd like to write about in my next post.

Cheers everybody,

Emiliano Conde
Lead Developer
emiliano@jbilling.com
jbilling

1 comment

 
hayda wrote 2 years 6 weeks ago

Hi

If they are linking from the comment, I would consider it spam. If they post a comment, and it is on topic, be glad someone saw your blog and thought enough to post to it. mirc . chat . mirc sohbet. chat sohbet . cinsel sohbet . cinsellik sohbet . mirc indir . http://www.hayda.net/

Please register or login to post a comment.