Generally, Enterprise as work means communities and organizations. Enterprise Software Applications respond to the requirements of organizations, enterprise problems and focuses these. There are many interpretations given about ESA by various people, writes Yunus Emre Keskin on dzone.com.
Software giant Microsoft interprets an Enterprise Software Application as a business application. Rightly so, it is a big business application. In the contemporary corporate environment, enterprise applications are complex, scalable, distributed, component-based, and mission-critical. They may be deployed on a variety of platforms across corporate networks, intranets, or the Internet. They are data-centric, user-friendly, and must meet stringent requirements for security, administration, and maintenance. In short, they are highly complex systems, writes Keskin.
Citing Gartner, the author says Enterprise application software includes content, communication and collaboration software, CRM software, digital and content creation software, ERP software, office suites, project and portfolio management and SCM software.
According to Martin Fowler, Enterprise applications are about the display, manipulation, and storage of large amounts of often complex data and the support or automation of business processes with that data.
The common features of enterprise software include extreme amount of data, complicated data relations, specific business domain, distributed systems and integration with other systems, concurrent access and multiple interfaces for the user group.
Who develops it?
Keskin says, “We can separate two departments according to performed jobs in software corporations. Firstly, the infrastructure team develops new enterprise applications and also creates enterprise frameworks for all software systems. Secondly, the developer team uses for requirements the frameworks that are developed by the infrastructure team. The basic team in software corporations is infrastructure department.”
Keskin shortly explains professional roles incorporation:
Software engineer: implement to software requests
Software architect/consultant: person who designs software at all level and determines relations between software
Project manager: person who is responsible for elements such as timing, cost, management of projects
Business domain expert/consultant: person who is experienced at business domain and comprehends functionalities/requirements of business
Enterprise Software Categories
The Enterprise Software Categories are Customer Relationship Management – CRM, Enterprise Resource Planning – ERP, Corporate identity management – SSO with Active Directory, Call Center and customer support applications, Health information management system, Automated billing systems, Financial -Accounting- Applications, Enterprise Content Management System, Business process management, Business Intelligence Software, Enterprise Messaging and collaboration systems – Lync, Döküman yönetim Sistemi, HR- Human resources management and Intranet Portal.
Enterprise software development technical problems
There are various problems such as Transactional problems, Physical layer’s problems and Harmony in between business and data structures; error that occurs in third-party components and libraries and the whole system can be down because of these errors, multi-thread problems; It’s set to everything as default in codes when you developed a project (hardcoded texts, nonparametric controls, and decision structures). We can add technical debts here and faults in software architecture and designs.
Poster: Enterprise App Developer ATLAS (Bonus)
This poster is a map of the enterprise app developer journey. Helping developers make the right tool choices to reduce cost, increase revenue and capture new markets-featuring 248 tools across 27 sectors. This and similar posters and research help us to see the big picture in the software development ecosystem. In the following, you will see main and subheads contained in the poster.
Integration – API Access Gateway, API Management, and API Directories
Test – The Test consists of Automated App Testing, Beta Testing, App Certification and Split Testing.
Deploy –Deployment consists of Back-end as Service, Cloud Computing Services, App Stores and Mobile Application Management.
Measure – AppStore Analytic, User Analytic, Crash Analytic and Bug Tracing, Feedback and Helpdesk
Market- AppStore Optimization Services, Cross Promotion Networks, App Promotion Campaign Analytic, AD Networks and AD Exchanges and App Monetization Tools.