This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
The term implementation has different meanings, ranging from the conversion of a basic application to a compatible replacement of a computer system. Implementation is used here to mean the process converting a new or a revised system design into an operational one. During the implementation stage we convert the detailed code in a programming language.
At this stage the main workload, the greatest upheaval, and the major impact on existing practices shifts to the user department. If the implementation stage is not carefully planned and controlled, it can cause greater chaos.
Thus it can be considered to be the most crucial stage in achieving the user confidence that the new system will work and be effective.
The implementation stage is a system project on its own right. It involves careful planning, investigation of the current system and its constraints on implementation design of the methods to achieve change over etc.
Since the package is found to be free of errors and the data and the variables are sent correctly from one module to another, we have implemented the package. The errors in the code rectified after the three phases of testing.
J2ME JDK 1.5- I have planned to use J2ME (Java Platform, Micro Edition or Java ME) JDK1.5 as the Platform to develop the front end of the system. The Java Platform, Enterprise Edition includes all of the classes in the Java SE and a number of others which are more useful to programs running on servers than on workstations.
NetBeans 5.5- This tool will be very useful in developing an IDE (Integrated Development Environment). It helps the system to get powerfully extended by third party developers.
Tomcat Apache Server 5.5-Tomcat implements the Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, providing an environment for Java code to run in cooperation with a web server.
Nokia PC Connectivity SDK- This software will be required for connecting the mobile with the server and exchanging various files and folders.
Microsoft Visual studio 6.0- This may be required in the system if I want to generate a list of programs to be executed and compiled whose acknowledgement will appear in the cell phone.
Hardware Requirements: For implementing the project following are the requirements at client site and server site.
1. Server Site:
P IV processor
512 MB or 1 GB RAM
80 GB Hard Disk Drive
Ethernet card (Network Interface Card)
2. Client Site
Minimum 2 PCs to make a LAN
P IV processor
256 MB RAM
40 GB Hard Disk Drive
Ethernet card (Network Interface Card)
7.2 Implementation methods
The main part of this system is the documentation and the software which has been developed. So for implementing this system the developer has to follow three aspects are:
7.2.1 Documental Aspect
Documental aspect covers the software used to develop the documentation part of the project.
Microsoft Office Project Professional 2007 for preparing Gantt chart
Visual Paradigm for UML 5.3 Professional Edition for various UML diagrams
Adobe Photoshop for image editing
7.2.3 Technical aspect
To run the application the developer requires J2EE on system.
The developer also needs to implement Servlet for communication between Client and Server. Apart from that, Serializable needs to be implemented to use serialized objects.
Exception handling is also one of the major areas of implementation. All important libraries also need to be successfully imported to the main form.
Give the path to .jar files where ever required to resolve reference problem.
7.2.4. Installation steps for NetBeans IDE 5.5
To install the NetBeans IDE 5.0 and Sun Java System Application Server Platform Edition 8.2 bundle:
Once downloading the installation file, double-click the setup.exe's icon to launch the installation wizard.
When the install wizard appears, go through the License Agreement, and click Next.
Give the path of an empty directory where IDE is supposed to be installed. The installation directory should be written with no space in between.
Specify an empty directory within which to install the Application Server on the same page of the wizard and click Next.
Choose the JDK whose IDE needs to be used from the list of suitable choices in the list, then click Next.
Verify the installation path and check that there is adequate space on the system for the installation.
Click Next to begin the installation.
Note: If any problem is encountered before successfully completing the software installation, refer to the Troubleshooting as mentioned in the help document.
7.3 Characteristics of Implementation
It deals with the ability of an implementation to allow the programmer to ignore the portion of details that is not important at the current level consideration. Each of the three kinds of abstraction control, data and process should present in the code.
It requires as partitioning the implementation, with each abstraction occupying its own separate and identifiable unit.
While implementing the design, care should be taken to truly hide within a model.
7.3.4 Remote PC Access Using Mobile
Mobiles are the wireless devices that are used to communicate with those who are near and dear to oneself. Moreover to this there are many more services provided by them, some of them are call registry, web-services, dial tones, downloads, games and many more. Some service provider provides all these services. So, whatever service he provides should be accepted. Suppose if you want to play the dial tone composed by you or by your friend then who is going to provide this? More over if you want to view any text from a remote PC on your mobile then no one is going to provide this. Keeping this in mind we designed our project to enable the mobile users to access their LAN from their mobile phones. This project concerns with accessing a PC that is residing far away.
The entire architecture is divided into two modules.
Client Module (mobile user, J2ME part).
Server is implemented as a service provider and the client is implemented as a mobile user. Server plays a centralized role by controlling all the activities going in the intranet. The clients are connected through LAN or GPRS.
188.8.131.52 Client, Server Implementation
The client module facilitates the user to give the IP address of the remote PC along with the required service details in the display of the mobile.
User name and password for Authentication.
Remote PC IP Address to which we want to get connected.
Function to be performed on the Remote PC.
Requirements related to perform that function.
The client module is written in J2ME using MIDP 2.0. The screens related to these are provided in Appendix. After entering all the inputs into the mobile the user can proceed by pressing the 'Login Command'. This starts the connection establishment between the server and the mobile client. At the server a servlet is available for handling the requests from the clients. An HttpConnection is made between the server and the mobile. Method used for this is
HttpConnection conn = ( HttpConnection ) Connector.open ( URL )
By this method an http connection is established. Here the Connector class static method open ( ) is used to create a connection, which is typecasted to the HttpConnection class.
The parameter string URL is a string that contains the URL of server along with remote PC IP address and also with the details of the service which is going to be provided from that PC. Using IP address connection with the server PC is done through HTTP and then using the service name provided in the URL we make a socket to the requested LAN PC which provides the service remotely.
Once the connection is established the mobile is waiting for response from the server. The reply from the server is a stream of bytes. An InputStream object is created on the connection object that store for the response coming from the server. The response from the server is displayed on a mobile screen. If the operations performed are read then the response may be the string that carries the file data. If the operations are write or execute then the response may be an acknowledgement that describes the status of operation. After all, the connection to the server and the opened streams are closed. Here new connection is created every time for a new request. This makes the better utilization of network without wasting the valuable network resources. The client module is designed with threads so that each time a new thread is created for each request utilizing same address space in mobile.
In the server module, the functions performed are as given below.
Initially the request from the mobile is accepted by the Servlet program (class file for the particular feature). The Servlet is written by extending HtttpServlet class. The service method of that class takes two arguments.
doGet(HttpServletRequest req, HttpServletResponse res)
By using the getParameter ( ) of HttpServletRequest class, the IP address of the remote PC along with the function to be performed on the PC are extracted.
The parameter string from the URL is splitted into two strings, one holding IP address of remote PC and the other with the function name and data related to perform the function.
Besides this a RMI method is created so as to establish a socket based connection with the remote PC from the server. It is not recommended to create socket based connection from the Servlet itself. So a RMI based sockets are used. The three important modules of RMI are
IClient is an interface which declares all the methods that can be invoked remotely. These methods are implemented in Client.java. The purpose of the method is to create a socket based connection with the remote PC. The requested operations are executed by the remote PC and the status returned by them.
In Server.java a socket is opened based on the IP address obtained from the mobile. Once the socket is opened the function and its related data is sent to the remote PC through the socket. The remote method should bind to the RMI registry and this is done with the "bind ( )" of the Naming class in Client.java.
Naming.bind ("reg_name", method_impl)
First argument is the name with which the method is binded in RMI registry. The second argument is the reference of the implementation file that defines the remote method. Once the remote method is binded to RMI registry, it is available to any class that wants to access this method remotely.
"Server.java" is the Servlet cum RMI client having the features of the Servlet in addition to the functionalities of the RMI client, which has to locate the remote method for establishing connection between server and the remote PC. For this it has to find the remote method using the "lookup ( )"of the Naming class.
IClient iclient = (IClient) Naming.lookup ("rmi://RemoteHost/reg_name" )
lookup ( ) should pass the name of the remote method as an argument along with the address of the terminal on which the remote method is available. This method returns the reference of the remote interface through which we can directly access that remote method. So, the return type is type casted to the "IClient" interface. Using this reference we can directly call the remote method.
iclient.method_name ( Remote_method )
The above method returns a string object that contains the response string coming from the remote PC. As this string is to be passed to the mobile, using the HttpServletResponse object 'res' an OutputStream object is created on this response object and the response string is sent to the mobile through this outputstream.
As the server can start a socket connection with the remote PC at any time, the application should always listen for the incoming connection requests. This is possible with the "ServerSocket" class, whose function is to create a socket on the localhost for specific port and listens on that port. The servlet part in the server module establishes a socket connection to a port using the ServerSocket class.
ServerSocket ss = new ServerSocket (8000)
Using the "accept ( )" of the ServerSocket class we can make the application listen to the port specified in the servlet part for connection requests.
Socket s = ss.accept ( )
Once this is created the socket can be used for receiving and sending data from other socket on same port of another terminal. So the server makes a socket connection on port 8080 which paves a physical connection between server and remote PC on port 8080. Next the server i.e., rmi method sends the function along with the related data to the remote PC through this socket. The data stream is read by the remote PC application and the string is again splitted into two substrings in which one contains the function name that is to be performed on the PC and the other string contains the information related to perform that function. Based on these strings the function is performed and the response string is sent back to the server as this opens the socket from server to remote PC.
7.5 General Algorithm
Enter the Login form
Read the Login Name, Password, IP address
Invoke RMI to get the server
Follow the path
Verify the database
If the given login name, password....is valid, then go to the menu.
Select any one of the content, present in the menu list.
If the chosen option is
Client list :
Invoke RMI to get the client list and return.
i) Get the client name, process type.
ii) If the option equals 'list of process', then invoke RMI to get the client,
get the process list and return.
iii) If it is 'start the process', then get the path.
iv) Invoke the RMI to get that particular client, follow the path, start the
v) Return on true.
vi) If it is 'Kill the Process', then invoke the RMI to get the process list
from that particular client.
vii) Get the process, invoke RMI to get that particular process and Kill the
viii) Return on true.
c) Compile, Execute & Read:
i) Get the client, path.
ii) Invoke RMI to get the client, follow the path.
iii) Compile the specified file if the chosen option is 'Compile' and return
iv) Execute the specified file if the chosen option is 'Execute' and return
v) For 'Read' option, copy the content from the file and return to read the
d ) WordPad & Broadcast :
i) Get the content, client name, and path.
ii) Invoke RMI to get the client, follow the path.
iii) Create the file and copy the content for the WordPad option.
iv) Create the text window and copy the content, for broadcasting.
v) Return if true.
e) Chat & Unicast :
i) Get the client name, content
ii) Invoke RMI to get the client.
iii) Create a text box and copy the content.
iv) Return if the option is 'Unicast'.
v) Get the message and return if the option is 'Chat'.
f) Shut Down:
i) Get the client list.
ii) Invoke RMI to get the client.
iii) Save all the files of that particular PC and close.
iv) Shut down the system and return on true.
Exit from the Login window
SQA - (Software Quality Assurance) and verification are "Umbrella activities" which is applied to every single step of software engineering process.
Software Quality can be defined as "conformance to explicitly stated performance requirements, explicitly develop documented development standards, and implicit characteristics that are expected of all professionally developed software's.
The factors influence the affect quality can be categorized into two factors that can be mentioned directly and indirectly. There are two types of verification done. They are:
These are done to find errors. Executing the program in simulated environment did pre-implementation verification.
Using the software in the live environment in order to find errors is called as post-implementation. The software is analyzed in detail and the verification to errors that were corrected is done. The result of verification is that proposed plans and schedule are matching for user environment and is working smoothly.
Giving virtual input data did pre-implementation verification. The processing is verified step-by-step. Feedback from validation phase generally produced changes in the software so that errors and failures are rectified. A set of user sites are selected and put the system into a live basis. Feedbacks were produced day-to-day activities. Normally outputs were produced and verified for live transactions.
Modules were verified for iterations within a boundary. Verifications were made on file sizes, temporary files, sorting and index procedures, rendering procedures and necessary modifications in required areas were done. Situations arise where the system got hang due to infinite looping and invalidate data. These cases were verified thoroughly and validation procedures were implemented to avoid this infinite looping.