Computer Application Designer and Developer is what its says in the heading. But lets expand a little on that description.
Software Design and Architecture
Most computer applications handling data will have three functional layers: Presentation, Middleware and Data.
A Ray Pooley computer application handling data will have FOUR functional layers: Presentation, Middleware, Data Access Layer and Data.
I believe that it is also imperative for the designer to ensure that all layers are designed with change in mind so that the system can evolve easily and quickly in response to changing business needs
with the minimum of technical intervention. That means thinking beyond the immediate requirements and designing to cater for the What If? scenario.
- The Presentation Layer
Responsible for capturing and presenting information, the Presentation layer consists of the screens that appear on the monitor when the Application User
accesses the system. These screens, sometimes refered to as Views or Forms, feature controls like buttons, dropdown menus and input/display text areas that the user can interact
with through the the mouse, keyboard or other external devices to navigate from screen to screen, to submit infomation to or retrieve information from the system database.
When designing views it is paramount that they accurately map the business model and are intuitive and easy to use.
- The Middleware
A set of custom designed computer programs. These programs run in the background as the User interacts with the Presentation layer. The Middleware provides the communications bridge between
the Presentation layer and the Data Access Layer. It is the role of the designer to ensure that middleware programs respond correctly and efficiently to the User initiated Events in the Presentation layer.
The use of an Object Relational Mapping (ORM) design architecture ensures not just good response but efficient and easy ongoing maintenance and support.
- The Data Access Layer
The Data Access Layer (DAL) is an additional layer over and above the normal 3 tiered system architecture. Why is it there? Well, in the three tier architecture the program code that accesses
the data in the Data Layer is integrated with the Middleware programs. Embedded within the general program code. Data access code is highly specific. Each different RDBMS has
different program syntax thus requires different code. What this means is that if you ever want to use a different RDBMS you have to write and maintain a completely seperate Middleware layer to serve each RDBMS.
This is a considerable overhead. What the DAL does is seperate all of the RDBMS specific code into a small seperate layer. This leaves the Middleware totally independant an unreliant on the particular RDBMS
that is providing the data layer. All types of RDBMS can be catered for by simply providing a seperate DAL component for each RDBMS. This greatly improves system flexibility.
- The Data Layer
The Data layer is where data is stored within the system. This would be your Customer information, your Product details, Inventory, Sales information and so on. Whatever you decide you need to capture
and store in order to meet the needs of your business model. The Data layer requires a complex piece of software in its own right. A Relational Database Management System (RDBMS). Microsoft SQL Server
is an example of an RDBMS. It is the role of the designer to design and build your database using the management tools and utilities provided by the RDBMS software package.
Today there are six main types of computer application..
All of them can have a leading role to play in delivering your services to your market place.
- Web Applications: Internet and Intranet Applications (CMS, eCommerce and Website)
- Web Services: Internet and Intranet System Integration and Resource Sharing
- Windows applications : Desktop/Laptop applications
- Windows Services: Desktop/Laptop Windows OS background tasks
- Console applications: DOS based
- Embedded Systems: Mobile phones
I can deliver all of the design, development and consultancy services you need in order to meet your business needs.
Sometimes you just need to know where to begin. An overview of where to start, what resources you need and best way forward in terms of
application type and design pattern. I am happy to provide Consultancy Services.