| Home | SQL | PHP | HTML | Perl | PowerBuilder | C/C++ | General | Solutions | Contacts |
HomeIndexHistory Purpose Webrings Terms of use DevelopmentSQLPHP HTML Perl PowerBuilder C/C++ General UsefulSolutionsContacts |
What is this site for?It's designed to aid in all areas of the development process. There is a particular emphasis on coding, and techniques which may be useful in everyday development. What is the point of development?The core reason for development should always be to improve a process, or to do something of value which can't be done without a computerised system. Simply transferring a process on to a computer, without due thought, will very rarely achieve the desired result. Improving a process can lead to cost savings, better supply of information, and numerous other benefits. It should, however, always be remembered that simply transferring manual system to a computerised system can be a recipe for disaster. It may be the case that a process can be improved by simply rethinking the ways things are done. Before starting work on a major systems development it is absolutely essential that some analysis is done to identify the processes, impact, and business requirements. It is the purpose of this website to advise on all aspects of development, from coding small applications to developing large multinational database systems. I cannot emphasize enough that even the best programmers will not make a good system if the original system requirements are not good. A good developer (as opposed to programmer) should be able to do more than cut code, they should be able to get involved in all stages of the development process, including the collection of system requirements. Don't reinvent the wheelThere are many packages out there that may do what you require, for a fraction of the cost of developing your own system. You'll also benefit from the support that the supplier offers, and potentially other users of the product via a user group. If you find a system that isn't quite what you want, but does most of what you want, it may be possible to get the supplier to provide a customisation of the product. Always remember integration issues if you decide to buy off the shelf packages. If you need to pass data between systems real time you will need some kind of programming interface to allow you to do this, as well as a suitable technical resource to code the integration. Open Source software can be of great use when you're developing systems. In most cases someone will have needed a similar application to the one you're developing, if you're lucky they will have released it as Open Source. It's always worth doing a quick search on Sourceforge when you're starting on a piece of work, to see if there is anything you can use. What is a client application?A client application is a piece of software which runs on your own machine, it usually has an visual interface of some description to allow you to perform day to day operations. Word is an example of a client application. What is a thin client application?A thin client application is a client application which is devoid of the logic required to do perform tasks, these tasks are usually performed by an application server (see below). All the thin client application usually has is a connection to the application server, and a set of defined entry points to perform the business logic. Usually for the sake of practicality, and network traffic, some of the more simplistic validation is also performed by the client. What's a server?A server means different things to different people, but in its simplest form it is something which services your requirements. Most IT people describe a server as a remote computer which provides services, however, it is quite possible to run a server as a local application (i.e. on your own machine). Server is a very broad term, in development we usually refer to 2 different types of server :-
What programming language should I develop my application in?A tough question, which depends on many factors. Do not be fooled into believing that you have to develop with the latest tool. Not everything is suited to a web interface, for instance. Most batch processing solutions are still suited to COBOL development, although Perl can be a very good substitute in many cases. Whilst it may be possible to code a batch processing solution using Java it would be a futile waste of development effort. It's not always necessary to develop an application in a single development environment, it's not even necessary to have a single client program for a system. It is, however, highly recommended to use an application server, or stored procedures in a database, if common functionality is in use over more than 1 client program. Application ServerYou'll usually require an application server if you've chosen to develop a thin client application. There are many advantages for using each of the application servers available, which server you choose depends on the hardware of your server and your development environment. If you're developing an application for the web and you're not going to use a dedicated server, I would consider using PHP or Perl instead. Database ServerIn most cases you will require a repository to store data, which usually means you will require a database server. There are other options for storing data, such as flat files, but for multi-user systems this is definitely not recommended. Which database server you choose really depends on the amount of processing you're expecting to do, and the amount of reliability you require. For high end systems there are 3 real options, Oracle, Sybase, or Microsoft SQL Server. For the vast majority of multi-user systems the choice is Microsoft, because it is relatively cheap to install and maintain. For lower end systems, with not may users, it is possible to use other database systems. Remember though, it's much more difficult to migrate a system once it's in place. MySQL is a good choice for those on a limited budget, it's improving constantly and is extremely quick providing it's set up correctly. Don't PanicProviding you go with a mainstream product you should be able to get help and advice from the supplier of your software. | |
| This is Code, all contents copyright - © Wayne Jones 2004. |
