Business software or business application is any software or set of computer programs that are used by business users to perform various business functions. These business applications are used to increase productivity, to measure productivity and to perform business functions accurately.
Some business applications are interactive i.e. they have a graphical user interface or user interface and user can query/modify/input data and view results instantaneously. They can also run reports instantaneously. Some business applications run in batch mode i.e. they are set up to run based on a predetermined event/time and business user does not need to initiate them or monitor them.
Some business applications are built in-house and some are bought from vendors (off the shelf software products). These Business Applications either are installed on desktops or on big servers.
The term covers a large variation of users within the business environment, and can be categorized by using a small, medium and large matrix:
The small business market generally consists of home accounting software, and office suites such as OpenOffice.org or Microsoft Office.
The medium size, or SME, has a broader range of software applications, ranging from accounting, groupware, customer relationship management, human resources software, outsourcing relationship management, loan origination software, shopping cart software, field service software, and other productivity enhancing applications.
The last segment covers enterprise level software applications, such as those in the fields of enterprise resource planning, enterprise content management (ECM), business process management (BPM) and product lifecycle management. These applications are extensive in scope, and often come with modules that either add native functions, or incorporate the functionality of third-party computer programs.
Now,[when?] technologies that have previously only existed in peer-to-peer software applications, like Kazaa and Napster, are starting to feature within business applications. JXTA is an open source platform that enables the creation of machine and language-neutral applications.