IDS-over-kill for a single-user application?

I have the following dilemma: my clients (mom and pop pawnshops) use my mgmt. system developed using ISQL for over 20 years. Over the course of these two decades, I have customized the application for each client’s desire or when it required changes to the Laws / Regulations. Most customers are single-user sites. Some have several stores, but they never wanted distributed db, do not trust the reliability or security of the Internet or any other type of network. Thus, they all use standard engines. I managed to get around some of the limitations of SE and do some clever tricks with ISQL and SE, but sooner or later, new laws may require images of pawnshop customers, goods, electronic broadcasts, etc., And then the time comes for updating in IDS, rewriting the application in 4GL or switch to another DBMS. The logical and easiest way would be IDS / 4GL, however, when I mentioned Linux or Unix-like platforms for my clients, they reacted negatively and demanded a Windows platform, so 4Js, Querix, etc ... could be the easiest solution. .or Access, Visual FoxPro or ??? .. who has any suggestions?

+4
source share
4 answers

Take a look at Aubit4GL - that is, I think Windows is available (or can be compiled).

Yes, IDS borders on overkill for a single-user system, but if SE does not provide all the functions you need or does not expect the need in the near future, this is a completely reasonable choice. However, with little attention, it can be installed (essentially) completely invisible to the user. And for a non-passionate application like this, the configuration is not complicated. You, as a supplier, should be smart enough. But there are features like silent installation, so you can have your own installer that runs the IDS installer to get the software on the client machine without any noise. The overall size of the system will grow - IDS is much larger on disk than SE (but you get much more functionality). There are also mechanisms for allocating large blocks of code that you will not use in all likelihood. For example, you are likely to use ON-Tape for backups; therefore, you should omit ON-Bar and ISM from what you send to clients.

IDS is used in embedded systems where there are no users and there are no managers working with the system. The hardware is located in the cabinet (cabinet) and works by exchanging data over the network.

+1
source

This whole problem probably comes down to a few problems that you will have to deal with.

First, in what programming and development language are you ready to learn and work?

Another thing you need from internet features?

So, for example, when viewing a report, do you want to be able to click on the button and convert the report to a PDF document, and then start the email client with this PDF file?

How about how they enter all the information in the system, perhaps each store will want to create their own miniature website on which people in the city could go there to check what they have, to call the store and ask whether they have 3 dollars that are easier to use (phone labor and checking for these cheap items is MORE than the cost of selling the item), so the website is really suitable for this type of scenario).

Another problem is which interface do you need? I assume you currently have some kind of green screen or text interface? Or perhaps over the years you have switched to a graphical user interface (graphical user interface).

If the screen is still green (based on text), you should now sit down and put a lot of effort and time into the layout and how you will work with the graphics system. I remember when I went from green screens to color, suddenly now the choice and the effort of choosing the right colors and layouts for this screen actually increased the workload quite a bit. And then I switched from screens with color test screens to a graphical interface, and then again unexpectedly now we are presented with a large number of new controls, colors, and in addition to this we have a large selection in terms of different fonts and sizes.

And now, when you work on the Internet, you not only use different styles of buttons (round, oval, shadowy, shadow, glow), but in addition to all these freezing effects and shading effects, etc. now you have to go to some fairly serious problems in terms of what colors (theme) will be used by your software for the entire website.

It really comes down to how much time and knowledge you are willing to invest in new tools and how much software you can and will produce in a certain amount of time and effort.

I often relate to RAD tools when you move to a smaller business market. Most small enterprises cannot afford the tariffs for the .net developer (this is not so much speed as time for creating an application). Thus, the use of ms-access is a good choice in the small business market. Access is still 3 to 5 times as good as many other tools on the market. So a .net developer quote for developing something could be $ 12,000, and the same thing in Access could be $ 3,000. I mean, a small business cannot afford to pay you to write unit testing code. This type of extra cost will simply not occur in smaller projects.

Another important issue you have to deal with is which reporting system you intend to implement in the system? This is another reason I like smaller business applications because the author of the reports is really fantastic. Access reports have a whole bunch of abilities for selecting connections from forms and requests, as well as filters and skipping parameters for these reports. And often the forms and queries that you spend on creating time can already talk to the reports with parameters and pass values ​​in such a way as to really reduce the workload again (development costs).

I think the number one problem you have to address here is what are you going to do for your network strategy? You absolutely must have it. Even if you create the front end for access, you can still use the free version of SQL Server for the back end. There are several reasons for this, but one of the reasons is that it makes it easier to connect multiple stores over the Internet.

Another advantage is to put your data into the system on a server-based server, now you can configure some type of web server for all the stores used and build a small configuration system that allows each store to have its own products and lists online (but they use YOUR web server, or the one you pay $ 15 per month for hosting all these clients). This web part may be an optional component, which may be perhaps all customers do not necessarily want. This will work with the data that they must enter into the system anyway.

One of the advantages of using these web systems is not only to enable these stores to better serve their customers, but also opens the door to converting your software into a system based on a monthly fee, or at least some of them, such as optional part of the web hosting service that you offer.

When I converted my longer-running applications from software such as green screen mainframes to Windows-based desktop applications, it opened up big markets for me. Thanks to the remote desktop, downloading software, releasing updates from the website, these new software systems make all these nuts and bolts a part of providing software very easily now and especially to support customers in different cities you have never met.

So, if you are talking primarily about a single user and one place, Access will significantly reduce development costs. It really depends on how complex and rich the application you are talking about. If the size and scale of the project exceeds one developer, you are talking more about the scaling of the developer (source code control, object development methodology, unit testing, the cost and time of creating a database server system such as SQL server, etc.). So they are definitely the tipping point here, when you go beyond that tipping point in a complex city, then I really do not recommend access. Thus, all this approaches the right horse for the right course.

It is possible that in the end, are you really ready to invest time in what application development system to study?

+4
source

It’s good to see that people are still benefiting from the old-school Informix Tools. I have never been adept at performing, but ACE Report Writer has always suited me. We skipped Perform and went straight to FourGen, and I complain that I was never as productive as I was with FourGen. He had his own elegance from code generators to funky, but in fact it is a wonderful powerful stand-alone menu system.

I appreciate the modern dynamics of the user interface, but damn, it's hard to write applications today. These are not just tools, but simply industry requirements, etc. (For example, you can experience in your domain). And the Internet is just a flat kill.

I guess part of this is that since most green screen applications look the same, it's hard to do one that looks bad! Using graphical interfaces and the Internet, etc. You can't just get away with good field order and shortcuts.

But, alas, as it is, this is what we have.

I haven’t used it for 15 years now, but you can also look at Alpha 5. It was a rather powerful, but not too complicated database development package and (apparently) still strong.

I would not be afraid of IDS. It works quite simply. Out of the box with zero or little tuning, the database works and is efficient, and it was pretty trivial to install. This is not SE, as SE access was tied to the application (using the library) against an independent server, which is IDS. But, quickly, it is very simple - especially for the application, like what you are talking about. I appreciate that this may be redundant, but even today, resource requirements will not necessarily be insanity. There is a lot of functionality, of course, and flexibility that you will not use. But frankly, in addition to the DBase flat file type databases, almost all server-based SQL databases are very powerful, capable, and potentially complex. But they should not be. They can still be used “simply” and easily (well, with the exception of Oracle - Oracle cannot do anything “simple”).

For other solutions, do not be afraid of “OOP”, since most applications, while they use OOP libraries, are not actually OOP (they can be, as a rule, they are not, they just don't need to be). The biggest problem with many OOP systems is that they are simply finely structured. Work with events is too low. Although many programs need access to this excellent level of control, most applications, especially those that are similar to yours, do not support it. Thus, additional flexibility simply interferes or creates more boiler plates.

However, you should not be afraid of yourself, citing a lack of experience. They can be picked up quickly enough. But I would, of course, have exhausted more specialized tools (e.g. Alpha 5, or Access, etc.), to make sure that they do not offer what you want.

+1
source

From the point of view of Visual FoxPro, it was and remains an incomparable tool (despite the fact that it has people who know little about it). It has a fast, proprietary database engine, built-in SQL and a powerful report designer and so on. But you must also bear in mind that Microsoft support will be disabled for it in 2014, there will never be a 64-bit version, and so on. And the file locking method that it uses will be increasingly vulnerable to future versions of Windows IMO.

+1
source

Source: https://habr.com/ru/post/1313725/


All Articles