Tuesday, February 20, 2007

Working with VSS (Visual Source Safe)



When working in a team on some software project, it is essential to maintain all the codes, xmls and related documents in a common place like a directory. Visual Source Safe is one such type of application that can store all these files in an organized manner. It was a wonderful experience getting familiar with this tool, when I was working in a product-based company long ago. The person handling this tool has to take care of all the check-in requests, which is more of a mechanical kind of work.
All the program files are stored and managed here. The programmer who has to make changes to a particular program file, retrieves the file from VSS by means of check-out operation and makes the required changes to it and then puts the file back into the VSS by means of check-in operation. In some companies , the responsiblity of check-in check-out is given to one person. So, VSS can be rightly called a virtual library of source codes and the person handling this complete application, a librarian. It has the ability to maintain different versions of the project with ease and can handle any kind of file in its Database.
The deployable files are deployed in the testing environment in order to test the successful working of the programs written. These deployable files are also maintained in the VSS.

Now when the latest version of the product is completely developed and ready to be released and there is a need to go to the client site and install it, this client/server application called VSS, which has all the source code files of the product, can be used for completing the installation process successfully.

Thus, VSS plays an important role in organising and managing the program files at one place.


Monday, February 19, 2007

Web Page Technology



Developing web pages was one of my most interesting experiences in professional life. It starts with a very simple concept and gets complicated as you go deeper into it.
First of all, you need to decide the layout of your web-page. Use paper and pencil to decide where you want what to be displayed and what colors you want where including the background. Also, if your web page is user interactive, you will need to decide the position of the text box, combo box etc. in which the user puts some entry. There must be some validation done on these user inputs where entries are acceptable or invalid. Now, if the page is user-interactive, definitely it needs a Database where you will store all the information entered by the user in the web-page. So, a suitable Database is selected. So, this was a short overview of how things are to be done and what is the approach.
The most simple way I had developed such a stand alone program was by using Visual Basic as the coding language and Oracle as the Database. Visual Basic is a very user friendly language and it is easy to code and debug in this language.
Another such stand alone program I had created was using the Java Applets and SQL Server, which is again simple and easy to learn and use.

In case of developing interactive web-pages, we can use JSP/ASP with Javascript/VBScript, respectively.

First of all, design the complete look of the page using HTML, which is pretty simple to learn and use. Now if the pages are user interactive, use JSP and Javascript for validations and insertions of data into the Database. Oracle is a good choice here. If we are using PHP, we can choose MySQL as the Database. We start inserting the JSP/Javascript statements into the written HTML code, wherever required. Your server pages would, thus, be ready. When I was developing these pages, time and again I needed to test it to see where I need to insert my next JSP statements and whether they are validating my inputs or not.


Ofcourse, the last testing was of the insertions into the Database. Connect to the database and check whether the user inputs have been inserted or not. It is really enjoyable to work on this technology as it demands so much creativity and enthusiasm.


Tuesday, February 13, 2007

Working on Mainframes


When I was working on Mainframes for few months, I realised that most of the work in the market on Mainframes are maintenance based. Using COBOL, CICS and DB2, we had to follow the Clients instructions for embedding the changes in the already written thousand lines of program. Thanks to COBOL, a Business Process Language, which is quite easy to learn as it contains statements that are very close to English Language statements and so any novice can easily understand what a given COBOL statement is trying to do. With very little extra effort required, COBOL can be mastered with ease. What was tough in that project was learning and using JCL, the Job Control Language. If one is thorough with COBOL and JCL, he has already gone way ahead to be an expert of Mainframes. As I already said, most of the work are maintenance ones, so working on Mainframes is not so difficult. Only problem an expert faces is the uninteresting screen which is not so fabricated like the ones in open-systems. The screen on which you have to work is boring and gives rise to a monotonous feeling.
In COBOL, there are statements like "PERFORM para1" , "ADD this TO that",etc. and any educated person can easily interpret the meaning of this. One thing that a programmer needs to take care here are the column numbers. There are a total of 80 columns out of which there is separate column numbers dedicated to comments and those for programming. The paragraphs will begin from a specific column number and the statements from a different one.
All the variables and constants to be ever used in the COBOL program should be defined before the start of the actual program, under its DIVISION. The variable length should be mentioned along with its type whether string/numeric , array/single and the optional value can also be mentioned at this stage itself.
Compilation of COBOL program takes certain amount of time owing to the large programs written. Using the JCL, you can execute the COBOL programs. JCL is used to control and execute a batch of jobs and if you are good at writing JCL, you are a genious.
Thus finding a way into the Mainframes work is simple and easy but to stay ahead of average crowd, you will really have to put in your efforts in learning a bit more about the language and specially about the execution using your own JCL script.
I have posted this information for those people who have just come out of college and would need some guidance in deciding about career in Mainframes.

Sunday, February 11, 2007

Socket level programming




Write two programs, one for the Client and one for the Server. Select a port on the Server Computer on which the two programs will communicate with each other i.e a port where the Server program will listen for the messages from the Client and the Client will use this port for sending messages to the Server.
Use this port number in your Client and Server programs.
Run both the programs simultaneously and check whether both are communicating with each other at that socket by sending a message from the Client to the Server.
Once the client and the server communication is established, you can choose to send data from the client to the server in any form including xml files. If the data is sent in xml, then the server program receives this file and extracts the data using the xml parser .
This type of socket programming can be useful in areas where the server needs particular kind of data from the client to store that information in its database.
Another interesting way of communication at the socket level is via the network packets which can be created using a pre-decided standard set of rules. Each packet will contain information in a certain standard format and will be sent by the client over the network to the server, which accepts and decodes it. An example where this kind of programming can be used is in the CAS application system where a user selects to subscribe to certain TV channels and this information is encoded in BITS and sent by the Client in the form of a network packet to the Server, which decodes it and stores this information about a given user in the database.

I had written this program some 4 years back.

Friday, February 9, 2007

My first technical blog

 









Let me start with this simple one - It is something to do with Networking. Do you know how a wired and a wireless network is physically established?

Ans - All the computers that are suppose to be present in the wired Network are connected by means of wires to a common router or a hub which is configured at the server Computer. The workstations can have any windows installed on it and the Server computer should have the Windows NT Server installed on it. All the wireless networks are established by means of a wireless PC cards that is to be installed on each computer participating in the wireless network.
You can connect two computers/laptops directly, without the use of an intermediate router, by means of wire, too, and see one computer in the other. However, it is best to use a router when connecting a small number of computers in a domain.
A switch, another networking device, can also be used in the place of a router or a hub.
A mix and match is also possible where some computers are physically connected by means of wire and others are wirelessly connected to the network. A special case is when we use Desktops and Laptops. The Desktops are connected to the hub/router by the wires and the Laptops are wirelessly connected in the network by means of wireless PC cards.
Sometimes, when you don't see one computer from the other computer connected via a router, refreshing the router physically by means of a button on it solves the problem but note that refreshing the router will throw away all your ip-address and subnet mask address that you have got from your ISP, if you have taken internet connection for your network. So, select to refresh the router depending on the type of situation.


Hope, this was helpful to amateurs.