This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Development of present system needs a special means of communications mainly security in computer network of the cyber world. The network security is becoming most important as the data is being exchanged on the internet is being increasing every day. The important things like confidentiality and data integrity entity are required to protect against illegal access. These changes made growth in the field of information systems in information hiding area, which include copy right protection for digital media, watermarking, fingerprinting and Steganography. These are the different applications for information hiding. Mainly in watermarking applications, the message contains information such as owner identification. In fingerprinting, the data of the owner sets a serial number that distinctively identifies him/she as the owner .This serial number is added to copyright protection on information and makes it possible to find the unauthorized usage of data set. Steganography hides the secret information within the data set and it is reliably communicated with the receiver.
Steganography refers to the science of invisible communication .The general idea of hiding the information in digital context. The word Steganography is derived from the Greek words “steganos” means covered or secret and “grafy” means writing or drawing  defined it as “covered writing”. The main goal of Steganography is to communicate securely in a completely and undetectable manner to avoid the transmission of the hidden data. In Steganography method if someone suspects that there is secret information in a carrier medium and the method becomes worthless. Cryptography and Steganography are mostly used in the field of data hiding. In image Steganography the information is hidden mainly in images. Therefore Steganography provides high level secrecy and security by combining with Cryptography.
Throughout the history this method is being followed by the ancients to communicate the secret information between people. Some examples followed by ancients on Steganography. The idea and practice of hiding information has a long history.
- In Histories the Greek historian Herodotus writes of a nobleman, Histaeus, who needed to communicate with his son-in-law and select messengers in Greece. He shaved the head of one of his most trusted slaves and tattooed the message onto the slave's scalp. When the slave's hair grew back the slave was dispatched with the hidden message. [2,14]
- In the Second World War the Microdot technique i.e invisible ink was used to write the information on pieces of paper so that the paper appeared to the blank paper. Liquids such as milk, vinegar and fruit juices were used because when each of these were heated and darken they become visible to human eye.
- Information mainly concentrated on photographs is reduced in size. Tremendously difficult to detect, a normal cover message was sent over an insecure channel with one of the periods on the paper containing hidden information it was developed by Germans.
- Another method is been used in Greece, was someone would peel wax off a tablet that was covered in wax, write a message underneath the wax and then they reapply the wax. The receiver of the message would simply remove the wax from the tablet to see the message.
Today mostly Steganography is mostly used on computers with digital data being the carriers. And the networks containing with the high speed delivery data channels. Steganography differs from cryptography in the sense that where cryptography focuses on keeping inside of a message secret. Steganography focuses on keeping the existence of a message secret . Steganography and Cryptography are both ways to protect information from unwanted parties but neither technology alone is ideal and can be compromised. Once the presence of hidden information is revealed or even suspected, the purpose of Steganography is partly crushed . The strength of Steganography can be improved by combining it with Cryptography.
The goal of Steganography is to embed a message M in a cover object C in a secret manner such that the embedded message M in the resulting stego object S cannot be exposed by anyone except the planned receiver. Steganographic applications only require the flexibility to alter C in order to be able to embed the hidden information. For this reason any type of digital object can be potentially used as a cover. For example, images, audio, streaming data, software or natural language text have been used as cover objects. Figure 1 the model of Steganography, otherwise Cryptography is the science of using Mathematics to encrypt and decrypt data.
In Steganographic system by using digital image, the stego image is obtained by embedding secret information in the digital image called cover image. The recipient confirms the secret information extracted from the stego image received from the sender by the extracting algorithm.
There are important requirements for effective Image Steganography such as imperceptibility, capacity and conﬁdentiality, etc. There are most Steganographic methods focus on these requirements, and the embedding and extracting algorithm etc. In Steganographic system, the receiver who received the message wants to know whether the extracted message has integrity or not. A powerful attacker may find the secret information by chance and acts like as he/she is the sender by forging or deleting or attacking the secret information, placing it back into the stego image and sending it to the receiver. Then the receiver will know that the stego image was sent from the sender and will confide the forged information extracted from the changed stego image. Therefore, it fails to check the integrity for the extracted secret information from stego image in Steganographic system.
In this Steganographic system, the system increases the amount of secret data that can be stored in a cover image, while at the same time producing a higher quality of stego image. In the proposed method is able to verify the integrity of the secret information extracted from stego image.
Overview of Steganography
Firstly starting with the framework in which Steganography is mainly presented. The modern formulation of Steganography given in terms of the prisoner's problem, where Alice and Bob are two prisoners who wish to communicate each other in order to mark an escape plan. All the communication is being examined by Warden. But Wendy who will put them in a confidential imprisonment at least doubt of hidden communication.
Mainly, in the general model for Steganography, Figure 1 where Alice wish to send a secret messageto Bob. In order to do so, she “embeds” the secret messageinto a cover object, to obtain the stegoobjects. The stego object s is then sent through the public channel.
Thus following definitions:
Cover object: Refers to the secret message is to embed messages into the cover object in the channel. Different objects such as images, audio, video , file structures and Html pages.
Stego object: Refers to the object which is carrying the hidden message .So given a cover object to produce the stego image which will carry the message to the channel
The image Steganography that can verify the information that is being transferred to the receiver. The proposed method can verify any attacker had tried to attack the secret information in the stego image. This method embeds the secret information in the cover image uses two special AC coefficients of the Discrete Wavelet Transform domain to verify the integrity of the secret information in the stego image.
Steganography is used to carry the hidden information. The main aim of Steganography is to send the data in securely in a completely undetectable manner to avoid the distrust to the transmission of the hidden data. If Steganography method causes someone to suspect that there is secret information in a carrier medium and this method becomes useless as the secret information is known by the third party in the medium. With the modern communication methods the information hiding techniques receiving with very much less attention from the development team and research community.
In Steganography the secret message or information hidden in the spatial domain of the cover image. This method can verify the integrity of the secret message or information that is hidden in the carrier using the Discrete Wavelet Transform. This integrity can check whether any attacker has attacked the message or deleted or forged the message that is being exchanged.
An image is an array of numbers that at different points (pixels).This pixels make up the image‘s raster data. General image size would be 640x480 pixels and 256 colors. This image contains all about 300KB of data. Digital images are mainly stored in the form of 24 bit or 8 bit. 24 bit image contains more space for hiding the information of text data and can be large image except for the JPEG images. All color variations are derived for the pixel from the three primary colors as Red, Green and Green as shown in figure.
To each primary color is represented with 8 bits.(i.e 1 byte) 24 bit images uses 3 bytes per pixel to represent the color. The represented 3 bytes can be in hexadecimal, decimal, binary valves. . Magenta is a combination of 100% red, 100% blue, and the absence of green, and cyan is a combination of 100% green and 100% blue without any red, and 100% green and 100% red with no blue combine to form yellow. A white color background can have the valve as FFFFFF that is 100 % Red, 100%Green, 100% Blue. Its decimal valve would be 255,255,255 and the binary valve would be 11111111, 11111111,11111111, in which all of them are making the 3 bytes as white. This classification of white background is comparable to the color definition of a pixel in image. For example, if 24 bit image 1024x768 is a common resolution for high resolution graphics. Such image has more than 2 million pixels, that Image would produce a file more than 2 MB in size .This size of images would be advantage for embedding the text/data in to the cover image.
This growing need on digital media created with new techniques for preventing the materials from unauthorised use. The important technique that is being practised is encryption. Cryptography has an ability of transmitting information between persons and it prevents from unauthorized user to read it.
Even though encryption is protected during the transfer of data from sender to the recipient, after receiving the data and successive decryption takes place and the data is not protected and it made clear. This makes for the development with the Steganography wishes encryption. Steganography make use of the data to hide or embed the information that is hidden to media content, in such a way that it is not visible to the human eye but can be easily detected with the computer .
There has been lot of research on developing for hiding the data in images. Some of them are well suited for transfer of data with small amounts and others for large amounts of data. Some of the implementing technologies are willing towards the geometric adaptations, while some of them where not willing for non-geometric adaptations likes filtering. The existing methods for embedding of data into cover images falls in to two main categories: High bit rate and low bit data rate. Bit data rate is defined as the amount of data that can be embedded into a small portion of the cover image .
Low bit rate refers to the encoding with high strength for lower bandwidth. The important thing is fight against the data removal by third party. The other technique is known as Patch work .It is based on the pseudo random arithmetical process. This patch work invisibly embeds the message in the exact valve and it is Gaussian distribution. In an image two set of pixels or patches are taken and it is used for an algorithm is by done by changing the same thing in both patch .
The next method for low bit rate is for hiding Texture Block code in images. This method is implemented by stealing a part of area from a arbitrary consistency pattern found in image to the area where it has related consistency. Auto correlation is used to represent the secret information. With the help of high bit rate methods are designed to have the negligible impact on the host image, but they do not tend to resistant to image alterations. There is hope that coming out with large of data that can be encoded. Bit rate method made robust by using error correction with high cost of data rate and it has a control over images. The simple form of high bit rate coding is LSB (Least Bit Insertion) . This LSB method embeds the data in to one or more least significant bits of selected particular bits. Every pixel is not appropriate in changing the quality of the original object/image. Pixel of an image can be changed by checking at the luminance of the nearby pixels that contain with high or low luminance. The advantage of LSB method is easy implementation and it contains the message with high payload.
The other important techniques that embedding the message by coefficients of transform domain like Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT), or Discrete Wavelet Transform (DWT) . The transform can be applied for the entire image or its divisions. In this embedding process is done by changing the some of the coefficients that are used for the protection. If the message to be invisible then high range of frequency spectrum is used and if the data to be robust then small frequency spectrum is used.
Another technique depends on high frequency, low amplitude noise and the direct sequence spread spectrum. This particular method combines with spread spectrum, error control coding and image processing. The main idea is that the data is embedded into the noise and then added to the original image. This is because; noise with low power and decoding is not suitable for error correcting code .
The wavelet transform is developing day by day because every month lots of mathematical papers and practical are published. Wavelet Transform is used as a dominant tool in many diverse fields and also in signal processing, physics, Astronomy, image processing . The input is to form convolutions with high pass filter and low pass filter. The output of convolution is the curved side of the input, where as high frequency part is confined by the first convolution. Reconstruction of this convolution is combined with filters and results of the convolution and then it's added. In two dimensions, first apply one step of one dimensional transform to all rows. Then repeated as same for all columns as done in rows. As shown in figure 1,
As shown in figure the result for four classes of coefficients where HH coefficients refer the diagonal features of images, while HG and GH refer vertical and horizontal information and LL refers low pass coefficients. Discrete Wavelet Transform allows self determining dealing with the result mechanism without embedding. The used wavelet coefficient filters have floating points. When input contains series of integers as in case of images the output data contains with no integers, which doesn't allow any ideal rebuilding of the original image [9, 10, 11]. The detailed output are the results of the application of high ass and low pass filters [7,9].
At first time the filters appear to be rounding off in description of S(n) rejects information. The sum and difference of two integers may be both even or odd .The thing is that safely skip the last bit of sum equals to the last bit of the difference .The transform functions are given below,
S (n) = (1a)
D (n) =x (2n) - x (2n+1) (1b)
X (2n) = s (n) + (2a)
X (2n+1) = s (n) - (2b)
The above equations should be redefined in 2D. Suppose the original image is denoted ‘I' is Y pixels wide and X pixels high. By indicating the color shade levels in pixel situated position iand j by I i,j . Mainly 2D transform can be computed by using the below formulae.
Ai+j = [(I2i,2j+I2i+1,2j)/2] (3a)
Hi,j=I2i,2j+1 - I2i,2j (3b)
Vi,j=I2i+1,2j - I2i,2j (3c)
I2i,2j =Ai,j - [Hi,j/2] (4a)
I2i,2j+1 = Ai,j + [(Hi,j+1)/2] (4b)
I2i+1,2j = I2i,2j+1 + Vi,j - Hi,j (4c)
I2i+1,2j+1=I2i+1,2j+ Di,j - Vi,j (4d)
Where, 1≤i≤X/2, 1≤j≤Y/2
Transform can be computed for image using 3a,3b,3c,3d and its even reversible and these are represented in 4a,4b,4c,4d ,in these the image is directly better for the original image pixel from the transformed coefficients. The transform results mainly in four classes coefficients: (A) refers for low pass coefficients, (H) refers horizontal features of an image, but (V) and (D) refers diagonal information. During construction of transform odd pixels on the borders are not counted.
- Generation of veracity verification code
- Analysis of verification code
- Steganographic Model
1. Generation of verification code
The Discrete Wavelet Transform is used for making of reality verification codeto verify the integrity of the extracted secret information from the stego image. There are various steps that follow for the generation of actual verification code:
- Transform the current row of the cover image into block form.
- Transform this block form into DWT domain.
- Select two special AC coefficients that are diagonally situated.
- Develop both the coefficients and round off the value to nearer integer valve.
- Finally write to this integer into the binary bit stream.
2. Analysis of verification code
The original DWT coefficients and the DWT coefficients that are obtained by minute changing in the pixels of the LSB are not same. If any of the pixels in the spatial domain are changed in the image then there will be a related change in the DWT coefficients, but almost they are not equal. Hence by experimental set up AC coefficients are suitable to verify the integrity of the secret information in the stego image. Therefore AC coefficients are not changed in row or columns as changed in pixel valves or positions. The diagonally situated coefficients are measured to generate verification code, because the AC coefficients are not changed in row or column as changed in pixel positions or valves. As a result two Ac coefficients are diagonally selected the reflections of diagonally situated coefficients are more and then chosen with the coefficients that are situated diagonally.
3. Steganographic Model
The proposed method is able to verify the integrity of secret message from the stego image. To attain this first by generating a verification code by using two AC coefficients in the DWT domain that are diagonally located. This verification code is permuted with the secret message and is then embedded in the spatial domain of the cover image.
The embedding process is done as follows:
After changing the current row in the cover image into block form then DWT is applied to the blocks. In this block two special AC coefficients which are present diagonally are chosen to generate the verification code. The obtained verification codeis permuted with the secret messagethat is to be embedded in the cover image. The permutation is achieved using secret key to obtained secret information. The secret key decides the way how we permute the verification code with the secret message to generate the secret information. Thus the obtained secret information is the combination of secret message and the verification code. The embedded image is now the intermediate stego image. The same process is followed for generating the verification code and then for the intermediate stego image. This code is again attached to the intermediate stego image to form the actual stego image to be transmitted to the receiver.
Analysis of network security:
A message is to be transferred from one network to another network in the internet .Two parties must cooperate to exchange the data. The Model network security is shown in figure. A channel is built by defining the route through the internet from source to the destination by using the network communication protocols
Data is encrypted on a network using end to end encryption. Mainly encryption is performed by the service providers like data communication provider. End to End encryption encrypts the data on the network, link encryption encrypts routing data and need to decrypt the data to continue the routing. This encryption is mainly done at the end user. Even though the data is encrypted and passing through the network routing information remains to be seen
The major functional requirements of the systems as follows,
- Select cover image
- Enter the secret message or browse secret message file
- Generate the integrity verification code for image as well as secret message
- Embed secret message and verification code with cover image
- Send embedded image to receiver.
- Receive the embedded image at receiver end.
- Extract the image.
- Generate the receiver side verification code.
- Compare the received verification code and generated verification code.
- Show the result.
Non- Functional Requirements:
The major non-functional Requirements of the system are as follows,
This is planned totally with automated process hence there is no or less user intervention
The system is more consistent because of the qualities that are inherited from the chosen platform java. The code built by using java is more reliable
This is built with high level languages and by using the front end and back end technologies that will respond to the user or client with very less span of time.
The system is designed with the cross platform supportable. The system is supported on a wide range of hardware and any software platform, which is having JVM, built into the system
The system is implemented in web environment. The apache tomcat is used as the web server and windows XP professional is used as the platform.
The user interface is mainly based on HTML and XHTML
Pentium 4 processor
1 GB RAM
80 GB Hard Disk Space
1 Microsoft Windows XP Professional
2 JDK 6.0
Design is a illustration of things that is be built on a network. It is a process of the software. Software design is a process of requirements and translated into software. It is a place where quality of growth and development of the software and it is perfectly build as the users requirements in to a final software product. Design creates a illustration or model and provides details about the software architecture, interfaces and components used to build the system. This chapter explains the design part of the project. In this thesis different UML diagrams are used to explain the implementation of the project.
The aim of activity diagram is to offer the views inside and among various classes. And it is also used to signify the class's implementation/design. It is shown as a round box with the name of the operation. The outgoing solid arrow attached to the last part of the activity symbol point to a changeover set off by the completion.
Embedding the Image
Extracting the secret image
Use Case Diagram:
Mainly use case diagram is a graph of artist and set of use cases included by the system border, communication takes place between the artists and users .This use case model defines artists as outsiders and inside use case of the system's performance.
Sequence diagram is an easy way of relating the performance of system by viewing the communication between the system and environment. It shows the relations in a time string. This diagram has two dimensions vertical and horizontal where vertical represents the time and horizontal represents the different objects. The life line corresponds to the objects existence during the communication. Object's life line is called as vertical line.
This diagram represents the set of objects associated with particular context and interaction. In which the set of messages are replaced among different objects with the collaboration to get the intended output.
This diagram shows the basic static model. It is a collection of static model elements like classes and relations connected as the graph to all other and their contents inside.
A software tool is a program used by the software developers to create, execute, debug and support other applications or programs, where simple programs are combined to complete a task. This chapter describes the software tool that is used in the project.
Java language is found in 1995 as this language is formed from well known language as “oak”. The main aim of this language is independent language that is used to create software and embedded in to electronic devices and etc.
- Java is a well-organized high level programmer's language.
- Java is reliable.
- Java gives the programmer full control as it is independent language.
- Java is used for Internet application programming where as C is used for system programming.
Importance of Internet in Java application:
Now a days Java plays a important role in the Internet as Java exposes the world objects freely in the Cyber world. In a network Java acts between client and server. Passive information can read an email and Dynamic active programs gives self executing programs and cause effects in security and portability. But Java does with new form program called as Applet
Java used to create programs:
Applications and Applets:
A computer can run the program under operating system called as application program. An Applet is a very small program that is designed to be transmitted over the web world or internet and executed over well suited web browser. It would be like C or C++ programs. It can react to client inputs changes.
Features of Java Security
The operating system highlights that the computer is risking at viral infection this happens when a standard program is downloaded. Most of the users don't download the executable programs because it would be effected with virus. With priory of Java the downloaded program is scanned for virus before execution of the program. Many of the users in the world are still taking care about malicious program so that it would not effect the system. This malicious programs or virus can get the emails and passwords of unknown users in the network. This can be controlling by firewalls. By providing a firewall between network application and the system or computer. By using Java Compatible web browser can download java Applets without virus or malicious program.
The programs to download with different version and types of platform linked to the internet by generating portable execution code. The same method is used to ensure security and to make portability. For this Java's solution is more designed and efficient.
The Byte code
The key that allows Java to solve security and portability problems and the output of java compiler is Byte code. It is a set of instructions to be executed by Java run time system known as Java Virtual Machine. By translating java program code into Byte code which makes much easier to run the programs in different platforms. If once the run time package exits for a system then java program can run on it easily.
When Java is designed for analysis there is officially nothing about Java that prevent on the fly compilation of Byte code in to local code. The official partner Sun completed its Just In Time(JIT) compiler for Byte code. JIT compiler is a part of JVM .In real time JIT compiles Byte code in to executable code on order basis. The entire java program is not possible to run into executable code as Java performs various run time checks that can be only at the run time. JIT compiles its code when ever needed for its execution.
Java Virtual Machine (JVM)
In Java technology the important part is Java Virtual Machine. The virtual machine is set in to the web browser .If a piece of Java code is loaded into a machine then it is verified. In loading process the code generated by the compiler doesn't corrupt the machine that is loaded in to the machine and this includes class loader and byte code verification. To make sure that all are accurate and correct in this Byte code verification and takes at the end of the compilation process. So Byte code plays an important role in executing a java code.Overall Description
Figure: Process of JAVA Program
Java uses byte code and execute the program. In Java mainly the source code is in the form of .Java file and this is made to run through known as javac. Java compiler is included with byte code to produce a file called as .class file. And this file loaded on to the system /machine for execution environment is JVM (Java Virtual Machine) and executes the Byte code.
Java is a dynamic system and can load the code when ever needed for the machines across the world. Java program provides portability through byte code for JVM, which is used as translator for every platform by the run time situation. By these Java architecture provides the program is robust, portable, reliable, and with high performance environment for the development.
Compilation of code
JVM is made to execute the machine code or Byte code .When the code is collected and java compiler creates a byte code for imaginary machine known as Java Virtual Machine.JVM is coming up with the issue of portability. This code is compiled a machine and later it is done with all machines, the machine called as Java virtual machine. During the process of run time Java interpreter acts the byte code running on JVM(Java Virtual Machine).Intel Pentium Windows or Sun SPARC platform running on Solaris or Apple Macintosh running machines can receive all code from any computer through internet and by running the Applets.
Java is not designed in such a way to be a source and it is compatible with all other high languages. This makes Java for free will to design. The important of Java is clean functional and it is practical approaches to objects in programming. The object model in Java is made simple, easy to expand and some simple types like integers are kept at high performance on non objects.
Java is designed to learn and use it well for the professional programmers in a easy way. If you are experienced as C++ programmer then it will be easy to learning Java. Basically Java uses C/C++ syntax and some of the objects oriented programming features of C++.Some of the confusing concepts in C++ are clear with Java and most accessible manner .In Java defined with small number of ways to complete the task.
Java run on multi platforms on the network places which demands for the program as the program must execute every time in different systems. The capability to create robust programs given with high priority in designing of Java. Java is a written language; it checks the compiling code and then run time. Java almost eliminates the harms in memory management and redistribution which is completely automatic. In Java program all the run time errors should be managed by the program.
Swing is control toolkit for Java. The important characteristics of Swing tool kit are platform free, customizable, extensible configurable and less in weight .The basic controls used in Swing are Buttons, Labels, Scrollbars to higher the controls like trees and tables. The main part in JFC(Java Foundation Classes) is swing. It is a collection of packages for creating all desktop applications. JFC consists of AWT, Swing ,Accessibility, Drag and Drop and finally Java 2D.
All components names that starts with “J” comes from the JComponent API class. Mainly like JPanel, JButton, JScrollPane, and JTable are all from JComponent. The JComponent class extend the container API class as component API. The component layer provides layout hints for painting and events. The container class provide with adding components to the container and laying out them.
Jpanel mainly provides containers for less weight components. In default panels , it doesn't add any colors to anything expect their background and can easily add borders to them and can customize the paintings.
JFrame is a Swings version of Frame and directly extended from that class. It is used to create windows in a Swing program. The main components are added to the frame are referred to its contentPane . To add any component to JFrame instead use its contentPane.
The JButton object mainly consists of a text label and/or image icon that describes the purpose of the button, an empty area around the text/icon and border.
JLabel is extended from JComponent. It is used to create text labels and can display text as well images.
JTextArea components are used to accept number of lines in content/text from the user. By using the combination of JTextArea and JScrollPane to achieve scrolling. The basic JScrollPane is forced to have either vertical or horizontal scrollbars.
JList provides scrollable items from which one or more is selected. JList is mainly in the form of array and vector. JList doesn't support directly the scrolling in this place the list must be with scroll pane. The view port used by the scroll pane defined with borders and JList actions are controlled and handled by using ListSelectionListener.
The Swing Message Box
Windows environments mainly contain normal set of message boxes that allow to deliver the information to the user or to capture information from the user. In Swing the message Box contained in JOptionPane difficult but the most commonly used are message dialog and confirmation dialog by using the static JOptionPane.showMessageDialog( ) and JOptionPane.showConfirmDialog( ).
Windows environments mainly contain a normal set of message boxes that allow to quickly deliver the information to the user or to capture information from the user. In Swing the message Box contained in JOptionPane difficult, but the ones most commonly used are the message dialog and confirmation dialog, by using the static JOptionPane.showMessageDialog() and JOptionPane. showConfirmDialog().
The main important package of Java Image is IO(Input Output) API and many image IO operation are performed by using static methods .This package includes the basic classes and interfaces. The contents of image files includes metadata and thumbnails for calculating the image reading process(ImageReader, ImageReadParam, and ImageTypeSpecifier) and image writing process(ImageReader and ImageReadParam) for performing the interpreter between formats and for the reporting errors.
FileChooser provides GUI for navigating the file system and by choosing a file or from the directory or by entering the name of file. Generally by using the JFileChooser API to show dialog containing file chooser. JFileChooser is a dialog to choose a file or directory.
Use any one of the following as return value for the above three methods.
- JFileChooser.CANCEL_OPTION, if the user clicks on Cancel.
- JFileChooser.APPROVE_OPTION, if the user click on OK/Open/Save button.
- JFileChooser.ERROR_OPTION, if the user closes the dialog
A return value of JFileChooser.APPROVE_OPTION, indicates that label can be its getSelectedFile or getSelectedFiles methods:
public java.io.File getSelectedFile()
JFileChooser is used for supporting classes like FileSystemView class, FileFilter class, FileView class.
FileFilter class is used for controlling directories and files that are planned in the FileView of the JFileChooser.The directories and files that are planned in the JFileChooser are controlled by FileView . The FileSystemView is an non representational class that tries to hide directory or file system related to any operating system from the file chooser.
JScroll pane is JQuery plugin which allows the users to replace the browsers default vertical scroll bars on any block element with an overflow auto style. JScrollPane is a crossbrowser and works on all browsers that sustain JQuery and it degrades gracefully. If the user browser doesn't support any JQuery or Java script turned off then the browser will see default scrollbars. If the mouse wheel plugin are integrated in the page then the ScrollPane will act according to mouse wheel events. JScrollPane is built on the top of the JQuery library and utilizes the dimensions plugin and the wheel plugins.
To place a any part in one of the corners of the JScrollPane, call setCorner(String key, Component corner) key is
- JScrollPane.UPPER_RIGHT_CORNER, or
All Implemented Interfaces:
public class BufferedImage
The BufferedImage describes with available buffer or image data. A BufferedImage mainly contains colormodel and raster of image data. The types and number of bands in the sample model of the raster must be equal to the types and number needed by the colormodel to represent its color. All BufferedImage objects have upper left corner coordinates of (X,Y) as (0,0). Any Raster used to build a BufferedImage must have minimum at orgin.
JCreator is a dominant IDE for Java. JCreator is the best tool for the development of programming. It is efficient and more reliable than any other IDE's. It is perfect tool for programmers of every level from basic programmer to specialist programmers. It provides the users with open range of functions such as project management, project template, code completion, debugger interface; editor with importance with the syntax, wizards and it is a fully customizable user interface. It is compiled directly without activating the main document.
JCreator will find a file with the original document or HTML file sharing the Java Applet and then it will start suitable tool for it. It is mainly written in C++ syntax which makes to be fast and efficient when compared with the Java based IDE's/editors.
Java Database Connectivity (JDBC)
Java Database Connectivity is a Java API for the completing of SQL statements. JDBC is trademark name and it is not the short form. It is mainly a set of classes and interfaces which are in Java language. By using pure API, JDBE provides a normal API for the data base development and create potential to write database applications.
By using JDBC the SQL statements are sending virtually to any database relationally. Everyone can write their own program using JDBC API and the program is sent to the SQL statements to the suitable database. By combining Java and JDBC, the programmers can run it anywhere once if it is written.
What Does JDBC do?
It establishes a virtual connection with the database; SQL statements are sent and process the results.
JDBC Vs ODBC and APIs
Open Database Connectivity (ODBC) is a platform from Microsoft API is mostly used program interface for using the relational database. It has an ability to connect to all databases on in the network of all platforms in internet.
So why not use ODBC from Java?
To justify the answer that ODBC can be used from Java and regularly done with the help out of JDBC in the form of the JDBC ODBC Bridge.
The question now becomes "Why do you require JDBC?"
There are quite a few answers to this:
- ODBC is not appropriate to use Java because it uses C/C++ interface. There are number of disadvantages in form security, strength, performance, and reliability when calling for the interfaces.
- The exact translation of ODBC API C interface in java is not accepted .For example, Java does not have any pointers and ODBC always makes use of them, including the well known error prone pointer “void”. Now JDBC as ODBC is covert in to object oriented interface which is easy and usual for java programmers.
- ODBC is simple and mixed with highly developed features together and it has complex options for easy queries. ODBS is complex to learn and it is designed to keep simple things simple and allowing for more advanced features where needed.
- By using ODBC driver manager and drivers must be installed physically on each user machine. A JDBC driver is written totally in Java and is installed automatically. It is secure and portable on all Java platforms user network computers to mainframes.
Two and Three tier Models:
The JDBC API is supported by both two tier and three tier models used for database access.
In two tier model or Java applet or application connects directly to the database. JDBC driver can communicate directly with the database management systems .Client SQL statements are delivered to the database and show the results of these statements are sent to the client/user. The database is mainly located to another machine to the user can connect to the network. This is known as Client/Server configuration. The network can be intranet or internet for which the employees of an organization are connected to the internet.
Commands are sent to the middle tier in Three tier model where SQL statements are sent to the database. In database the SQL statements sends the outcome back to the middle tier which then sends them to the user/client. Three tiers is found to be easy since the middle tier maintains, control the access and keeps organization data update. The new improvement when there is a middle tier, the user can use high level API when it is covert by the middle tier in to the suitable low level calls. Three tier provides better performance in many cases. Mainly middle tier is written in C/C++ to perform better performance. At the beginning of compilers the Java byte code is translated into machine code and this is implemented in the middle tier in Java. The advantages of Java's are its robustness, security and multithreading. Usually middle tier is written in C or C++ language that offers fast performance. On the other hand with the beginning of optimizing compilers that translate Java byte code into capable machine code and it's becoming realistic to implement the middle tier in Java. JDBC is main important to allow database access from a Java middle tier, making possible advantages of Java's strength, multithreading, and security features.
Figure: Three tier model
JDBC Driver Types
The JDBC drivers can be fit into one of the following categories:
- JDBC ODBC bridge plus ODBC driver
- Native API partly Java driver
- JDBC Net pure Java driver
- Native protocol pure Java driver
JDBC ODBC Bridge
If pure java is used in JDBC driver as a substitute of Bridge and an ODBC driver. And this totally disturbs the client design required by ODBC. It is possible to remove the Java VM that can be corrupted by an error in the local code bridge library , ODBC driver manager library, ODBC driver library and database client library.
What is called as JDBC ODBC Bridge?
JDBC ODBC Bridge is JDBC driver, which implements JDBC operations by covert them in to ODBC operations and this seems to be normal application program. When ODBC driver is available the JDBC Bridge is implemented and available for any databases. This bridge is implemented as Sun.jdbc.odbc as Java package and has local library to access the ODBC. Bridge is joint venture development of Innersole and Java soft.
The JDBC provides database free connectivity between the J2EE/JAVA platforms and has a broad range of tabular data sources. JDBC technology allows an Application Component Provider to:
- Perform connections and verification to a database server
- Manager proceedings
- SQL statements to a database engine for processing and execution
- Execute stored procedures
- check and modify the results from selected statements
Database management system is software considered for mainly the purpose of maintaining the database of vast set and the intended data is flown to run operations on the data requested by different users. Examples that contain DBMS are Oracle, DB2, Microsoft Access, Microsoft SQL server, Fire bird, postgreSQL, MySQL, file maker, and Sybase Adaptive server. DBMS is used by the Database administrators in formation of database systems which contain accounting, Human Resources, Financial and Customer Support Systems. Mainly this DBMS are found in big organizations with the computer hardware needed to support vast data sets.
A DBMS is a composite set of software programs that the organization, data storage, management, and recovery of data in a database are controlled.
According to the data model it defines the schematic of each database in the DBMS,
- There are four types of models in organizations; they are the Hierarchical, Network, Relational and Object models. Inverted lists and other different methods are also used. The given database management system uses one or more of the four models. The best model structure depends on the standard organization of the application's data, and on the application's requirements which include speed, reliability, maintainability, scalability, and its cost.
- The important model put in practice today is Ad Hoc embedded in SQL; they were many of the objections who believed that this model is a corruptive of the relational model because it violates several fundamental principles for the sake of reliability and performance. DBMSs are supported by the Open Database Connectivity API that supports for programmers to access the DBMS anywhere in the world.
Data structures in case of records, files/directories and objects are effective to deal with very large amounts of data stored on a permanent data storage device which indicates relatively slow access when compared to volatile main memory.
A database query language and allows users to interactively cross examine the database, evaluate its data and update it according to the user's rights on data.
- Security of the database is controlled.
- Data security is prevented from unauthorized users from updating the database or seeing the database. Only by using login passwords users are allowed access to the entire database or subsets of database. The employee database that contain all the data about an individual employee only particular group of users are authorized to view work history data, while managers are allowed access to only payroll and history data.
- DBMS provides a way to enter and updates the database and to cross examine the access allowed. And this takes place only for managing personal databases. These controls and applications programs are available for each data entry and updating the functions in the database.
- A transaction mechanism in order to ensure data integrity, even with concurrent user accesses (concurrency control), and faults (fault tolerance).
DBMS maintains the integrity verification of the database not allowing more than one user to update the content at the same time and it prevents copy records through single limit index. Example, no two clients/user can enter the data base with the same numbers or key fields.
DBMS accepts the data from application program; it instructs the operating system to transfer the appropriate data. DBMS uses systems and can be easily changed as according to the organization data information changes. Upgraded programs can be added used for the database without changing the present system.
Basically organizations use some particular kind of DBMS for the transaction process and there by the details are forwarded to another machine that uses DBMS and these suits for the quires and analysis. Plan and design is mainly followed by the data administrators and system analysts.
Data base design is mainly performed by the data administrators. And Data base servers are designed in such a way that it contains actual data runs only on DBMS and associated software's. This data base server includes multiprocessor, RAID disk arrays used for the storages. Connections with different servers using high speed channels , hardware accelerators to speed up the transfer of data in the processing channels. Sometimes DBMS are built in multitasking kernel with the support of networking and these functions are left to the operating systems. Therefore DBMS is considered to be the heart of the database applications.
Structured Query Language (SQL) is used to run relational databases. SQL is very similar with the relational model. In this model data is stored in structures called relations or tables. SQL statements are issued for the purpose of data defining and manipulation.
Data definition: It is used to create, alter, and crop schematic objects such as indexes and tables in the database.
Data manipulation: It is used to control the data within those schematic objects like DML Insertion, Update, Delete the data, and Query about the Database.