|Perfect Number of Pages to Order||5-10 Pages|
Designing a Middleware Piece Essay
How to Fit the Pieces Together | Designing a Middleware Piece | Revisiting the Server Configurations | What to Turn in for your Final Project Deliverable
The project deliverable for Week 7 is one of the most important deliverables for the whole project. Being able to verify that an application actually does what it is designed to do is extremely important in project work. If management cannot see that the work done has resulted in the desired outcomes, then they are not going to be very happy with the money spent on the project. In this discussion, we will talk about how to link everything together and make the new system work by building our own version of a middleware program.
How to Fit the Pieces Together
Back to Top
Each week during this course, we have created or modified pieces of the new transaction system that the group project is based on. There are actually a couple of pieces that you have not worked with yet, but will in the lab for this week. When putting a new system together, one of the most important things to consider is the order in which things must operate. Determining the processing order of all the pieces within a system is the key to whether the system operates correctly or not. You obviously cannot read an input file into application A that is supposed to be coming from application B if application B executes after application A. The process flow diagram that is presented as part of the application specifications in Week 1 does provide some hints, but there is more to it than that.
If you look at the processes in the project, you should realize that the center of the project is the main transaction processing module. The processing approach actually looks like it is working two ends against the middle (to use an old phrase). The order data is coming to the transaction processor (MainTrans) module from the Oracle database and the inventory data is coming in from the Access database. Both pieces of data must get to the transaction processor before it begins its work. After it finishes, then the follow up updates to the Access database and the insertion of required data into the Oracle database can happen in no particular order.
Designing a Middleware Piece
Back to Top
We have already worked with several programming languages in this project and could probably find a third to utilize for a middleware piece, but at this point simplicity might be the best approach to take. The key to developing a simple piece of middleware for this project is to find something that will be easy to use, easy to construct, and easy to manipulate. We also want to make this new application work by itself when we execute it, so obviously the application needs to be an executable of some form.
One of the simplest approaches to take might be to construct a simple batch file, using the current Operating System services and let it direct the execution of all the pieces we have constructed for the project. To do this, we only need to understand how to manipulate the Oracle side of the process, since it does require that we log into the database to access the data we need. Luckily, the Oracle SQL*Plus utility can be accessed from the Windows command line with a few simple commands which will allow all of the PL/SQL procedures to be called and executed.
In the lab for this week, we will look at the process needed to put this plan into action. Your project team is certainly free to design your own process for designing a piece of middleware to tie the system together, but I think that you will find that the approach outlined in the lab will be so simple that it will allow you to set things up very quickly and, thus, give you ample time to debug and fine tune your system.
Revisiting the Server Configurations
Back to Top
It might be good at this point to revisit the server architecture that you are working with in this course. It will be important to keep a few key things in mind when setting up the calls to the applications in your middleware process. For the most part, you have already dealt with many of the constraints that the server architecture presents, so most of this will be a simple review.
First, let us address the constraints that exist for the Oracle side of the system. Remember that your Oracle PL/SQL procedures can only see external files if they are located in the directory path that is defined in the internal Oracle parameter file INIT.ORA. This parameter setting is not something that you needed to set up, that was done for you. As the labs for the Oracle procedures stated, the Directory Object that must be used for executing the Oracle procedures must be SAI430_###_DIR (where the ### is the number you have been assigned). If the procedure is reading a file then that file must be in this directory folder. Remember that when you log onto Citrix, the Q:\SAI430_### network drive is automatically mapped to this directory on the Oracle server, but you still must reference SAI430_###_DIR Object in your procedure calls.
For the C#.NET applications, things are a little more straightforward. In this case, you are working on the Citrix server and the only constraint you have here is that the Access database must be on the same server as the application. Since you are limited as to where you can place things on the Citrix server (you can only read and write to the F: drive and any additional folders you have created) then the choice is limited. You can simplify the call to your C# executables however by copying them out of the bin\debug folder under the project name folder and placing them in the root folder of your directory structure. We will look more closely at this in the lab.
What to Turn in for your Final Project Deliverable
Back to Top
For your final project deliverable, you will be submitting a virtual notebook containing all of the documentation, code, testing results, and final run verification that you have accumulated during the last seven weeks.
To verify that your final integration of all the different applications and databases works together and that you are actually able to process the transactions as they should be you will need to document how you did your final testing and validation. One approach to this might be to define the input data that was used, what you expected to happen based on your knowledge of the system, and how the processing works. For example, you might want to set up the data so that out of four orders, two are processed completely, one is back ordered, and the fourth is not processed at all because of lack of inventory. The results of this could easily be tracked by where the data ended up in the system and the changes that were made in the databases. One possibility would be to issue a series of select statements against the Oracle database tables before your run your test and a screen shot of the Access database items table. After running your test, you should be able to issue the same select statements and see the changes in the Oracle database and a screen shot of the access database would, or should show the item quantities changed for those items processed. This is only a suggestion, but hopefully it will give you a starting point.
For your virtual notebook, you will need to submit the following, all of which can be placed into a single ZIP file and submitted to the dropbox for this week.
Your finalized Technical Design Specifications document
Your finalized Test Plan
All of the application programs that you either wrote as a team or did major modifications to that were used in the project to include:
All of your test results in whatever form you accumulated them in
The Group Responsibility logs for all seven weeks of the project
Your final assessment of how the team verified the completed system
Place all of the above into a single ZIP file and submit to the dropbox for the project for Week 7. Submit only one ZIP file for a group. Do not submit multiple ZIP files for the project items or for the project team.