The question should be obvious: why do I need to implement many lines of code and spend a lot of time supporting more than one database simultaneously?
In this blog post, ARITHMOS‘ Software Development Manager, Gaetano Giusto, discusses how you can support multiple RDBMS systems to control information storage and why you should invest the time and resources in doing so.
There are several answers to this question and are all correct in their own way. Obviously the main focus is to reach the most number of customers as possible and obtain the highest revenue selling your application. Nowadays there are several Operating Systems and a wide range of environments to support so you have to choose which one best fits your target customers’ needs.
It is difficult to say which is the best solution to develop because there are too many factors to consider and every situation is unique. The first thing to consider is that if you develop a solution which could support multiple applications such as Oracle, Ms SQL and MySQL alternatively, it could become really complex and require a lot of time in the analysis.
The second critical factor is the limitation you can encounter in supporting more than on RDBMS. In fact, not all RDBMS have the same performance level or the same enhancements, so you can probably assume the loss of some features that could be very useful.
Another thing to consider is that you need to develop more classes or a lot of code, and this could be frustrating if you consider that you have to fix bugs and develop specific functions for each RDBMS every time each vendor does some modifications.
If you can’t dedicate the time and resources to developing an in-house solution, you can think about an ORM – Object-Relational Mapping. This is a programming technique for converting data between incompatible systems in object-oriented programming languages.
ORM products (NHibernate, ADOEF), are well-tested before being released on the market. After all, these companies have a reputation to maintain, so you don’t have to worry too much about bugs. The chance of there being a bug in one of these frameworks is lower than any developer unwittingly creating a bug in his own data layer.
In conclusion, developing a solution that can support more than one RDBMS is quite difficult and requires more time and resources with respect to a single RDBMS solution. However, the most important factor to take into consideration is the market in which you operate. This solution can also help you reach a wider range of customers in order to sell your application, assuming you want to sell it.
ARITHMOS Solution – Implementation of Applications
ARITHMOS Business Analysts support the key users in the definition of Business Requirements. During this phase, the key users are trained in the functionalities and standard workflow of the new system. In most cases, the user’s knowledge is limited to sales and pre-sales presentations, making a Business Analyst essential in this initial phase.
By using this approach, key users can deepen their understanding of how the system works and if it fits their organizational structure, proceseses and procedures. They can then define, together with the Business Analyst and technical experts, how the system should be configured. Knowing the system in the initial phase can reduce timelines and risks related to the operational target phase. Users who are trained and informed on the system adopt a proactive approach throughout the system implementation and qualification process.