The Java Database Connectivity Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

JDBC is a Java-based data access technology from Sun Microsystems. . In an accomplishment to set an independent database standard API for Java; Sun Microsystems developed Java Database Connectivity, or JDBC. This technology is an API for Java programming language that characterizes how a user gets access to the database. This connectivity offers various methods for challenging and updating the data into the users' database. Aside from being easy to write, using the JDBC API, it is robust, secure, and automatically downloadable. Also, JDBC automatically appreciates these benefits of Java, by virtue of being written in Java.

JDBC is determined towards relational databases, and this bridge of JDBC - ODBC accredits the connection to any other ODBC accessible data source in the actual JVM host ambiance. JDBC gives an absolute SQL database access mechanism which in fact offers a dependable interface to several different types of Relational Database Management Systems.

JDBC concedes multiple applications to exist and to be used by the same application. To support this, API allows a mechanism for dynamically filling the reliable Java packages, followed by registering them with the driver manager of JDBC. Driver manager acts as a connection factory for developing different connections of JDBC.

There are different sets of drivers for JDBC, which are client-side adapters, which is already equipped on to client system, and not on the server. These drivers then convert the requests from Java programs to a detailed protocol that can be easily understood by Data-Base management system (DBMS). These drivers of JDBC are further classified into commercial and free drivers that are easily applicable for most of the relational database servers. The drivers usually fall into one among these types:

Type 1 - which calls the native code of locally available ODBC driver.

Type 2 - Is a type that calls database vendor native library on the client side, and later this processed code communicates with database over the available network.

Type 3 - This is the pure-java driver that communicates with the server-side middleware and then flows to the database.

Type 4 - the pure java driver that uses the database native protocol.

One more type of drivers that is embedded with JRE in Java enabled SQL databases also exists which is addressed to as Internal JDBC driver, which is used for stored procedures of Java. Even though it's similar to that of type 2 or type 4 types of drivers, this does not belong to any of the above classification. In this type of Java driver, the JDBC client is actually running as a part of the database that is being accessed, so that the access can be made directly rather than through different network protocols.

Java Data-Base Connectivity Goals

There are several goals for Java Database Connectivity. The goals which were set for JDBC are crucial.

We have mentioned eight design goals, they are as follows


It is main goal for JDBC. It is at very low level for high level tools.

SQL Conformance

If you migrate from one database vendor to another database vendor the SQL syntax changes. JDBC allows any query to pass through it to its database driver.

JDBC must be implemental on top of common database interfaces This goal lets the JDBC to make use of the OBDC drivers with the help of a software interface.

Provide a Java interface that is consistent with the rest of the Java system

The developers say that they will not move from the current design to any other unknown design.

Keep it simple

This is a very common goal in any software design. Everyone feels that the design should be simple with fewer methods to complete the task.

Use strong, static typing wherever possible

Very good typing makes fewer errors at compilation time.

Keep the common cases simple

All the SQL calls made by the developers are very simple, they are; SELECT, DELETE, UPDATE, INSERT etc. The queries used has to be simple, also complex SQL statements should be possible. Finally we decided to precede the implementation using Java Networking. And for dynamically updating the cache table we go for MS Access database.

The programming language and platform are the two main entities of Java programming language.

The Java is a programming language which has the following features like portable, object oriented, multithreaded, simple, robust, secure, distributed, architecture neutral, dynamic, high performance and interpreted.

It is very unusual for java to compile and interpret each and every java program. With every compilation, the java program is translated into an intermediate language (Java Byte Code). The Intermediate language (Java Byte Code) is a platform independent code instruction is transferred and run on a computer.


To provide the generic database access methods, that are set of implementation-independent to the SQL complaint databases, JDBC API is used. It's always like; JDBC outlines much of the vendor-specific details and concludes most of the database access functions generally. This gave out an effective result with set of different classes and interfaces of the Java SQL packages that could be used with any of the databases providing JDBC through the vendor-specific JDBC driver in most consistent and reliable way. Just by switching to a new JDBC driver, users' will be able to reuse an application with an entirely different database. JDBC also enables the users' to write the applications that access relational databases without any other thought as to which particular database is to be used.

This database connectivity is not just meant for connecting to databases and executing statements, but also to meet those important requirements in an enterprise-level application environment, such as optimizing the network resources by employing connection pooling, and implementing the distributed transactions.

By using a different set of java interfaces, JDBC accomplishes those set goals, wherein each interface gets implemented differently by various types of vendors. Since JDBC is employed with the Java platform, it is easily accessible everywhere Java is applicable. This makes the application of Java, running through JDBC API portable to whole lot of platforms. The codes implied in the interfaces of JDBC packages have a higher rate of likelihood for being portable from one vendor databases to other quickly and hence is much user friendly. JDBC API encourages the applications of Java to be portrayed into multiple tiers that separate the business logic from that of the presentation logic; thus, by aiding the scalability, reliability and maintainability of the application exceedingly.

Aside from being easy to write, using the JDBC API, it is robust, secure, and automatically downloadable. Also, JDBC automatically appreciates these benefits of Java, by virtue of being written in Java.

On whole, as the context of JDBC & its benefits, this also concludes that JDBC is free from proprietary data base codes and programming or running of any application doesn't have to rely only on single server. The context also states that, database required for programming need not be decided early.


Networking is the way of establishing the communication that sends data from one place to another with a fusion of hardware and software.

Before 1990, OSI(open systems Interconnection) model dominated the communication and networking literature. The OSI was not implemented fully thus the TCP/IP protocol became the dominant commercial architecture.

Open System is set of protocols, which communicate between two different systems regardless of underlying architecture.

The open system interconnection model is not just a protocol, but it is a model to understand and design the network architecture which has the characteristics like interoperable, flexible and interoperable.

Before researching on the OSI model, TCP/IP protocol suite was already developed. It is a protocol with interactive modules. And each of the interactive modules brings a specific functionality. The term hierarchical means each upper layer protocol is supported by one or lower layer protocols.

TCP/IP at transport layer defines protocols like:

TCP (Transmission control Protocol)

UDP (User Datagram Protocol)


TCP is a reliable connection oriented protocol. TCP provides logic to provide the connection-oriented protocol above IP datagram. Two processes can communicate through virtual circuit which is provided by TCP.


UDP is unreliable and connectionless oriented protocol. UDP is a process to process Protocol that integrates port addresses, checksum and length information to the data from upper layer.

IP datagram's

It is a unreliable and connectionless with no error checking and tracking. It considers the deception of the underlying layers and it will do its best go make transmission to the destination.

IP transport the data in packets called datagrams which are furnished by its higher layers. The IP layer provides a checksum which has its own header. The header is accommodated with the source address and destination address. For splitting the large datagrams into small ones IP layers are responsible. The splitting is done for transmission. And even IP layers are responsible for reassembling the split datagrams. Routing is done through Internet.

Internet addresses

The host which uses the internet services can be determined with the unique address. The address will be of 32 bit length of integer type which is referred as IP address. No two or more visible hosts and publicly addressed can have the same IP address on the internet. Addressing and network ID is encoded by this. Based on the size of the network address the Network ID is categorized into many classes.

Network address

Class A: For the network address class A uses 8 bits.

Class B: For the network address class B uses 16 bits.

Class C: For the network address class C uses 24 bits.

Class D: For the network address class D uses 32 bits.

Subnet address

The network is divided into sub networks. It is built on one sub network and the addressing style is 10-bit addressing which allows 1024 distinct hosts.

Host address

For the host address the final 8 bits will be used. There is a limit of 256 host machines in a sub network.

Total address

The length of total address is 32 bit, which will be written in four integers parted by dots. In the IP address; 164.192 is the network, 11 is the subnet and 13 is the host.

Port addresses

The port address is a 16 bit address. Port address identifies the port that is present on the host. If we want to communicate any message to a server you have to send it to the port.


The system handles the network connections through a socket which is maintained as a data structure. A socket of data structure can be create using call socket, this returns an integer like a file descriptor. In windows, Read File and Write File functions will handle functionality of socket.

Socket will be created over a network between the two processes when they communicate. T

JFree Chart

JFree chart consists the features which are well documented. It is an open source. It is a design which can be easily extended and uses server side and client side applications as well. Swing components, output types, image files and vector graphic files are supported by this.

Map Visualizations:

Charts are represented by the values that can relate to geographical areas which can include

(a) Population density in each state

(b) Income per capita for each country

(c) Life prediction in every country

The task includes;

Establishing the convenient dataset interface.

Getting freely new distributable vector outlines for every country.

Adding this with current XYPlot class in JFreeChart.

2. Time Series Chart Interactivity

The new feature interative time series for JFreeChart is to display a separate control that shows a small version of ALL the time series data. The sliding "view" rectangle allows you to select the subset of the time series data to display in the main chart.

3. Dashboards

Create a flexible dashboard mechanism that supports a subset of JFreeChart, chart types (dials, pies, thermometers, bars, and lines/time series) that can be delivered easily via both Java Web Start and an applet. There is currently a lot of interest in dashboard displays.

4. Property Editors

The property editor mechanism in JFreeChart only handles a small subset of the properties that can be set for charts. A greater end-user control over the appearance of the charts can be provided by Extending or re-implementing mechanism.

J2ME (Java 2 Micro edition):

J2ME has been defined by the Sun Microsystems as "A highly optimized Java run-time environment targeting a wide range of consumer products, including pagers, screen-phones, digital set-top boxes, cellular phones, and car navigation systems".

This announcement was made on June 1999. J2ME tries to fetch the cross platform functionality to a smaller device.

General J2ME architecture

The Java Runtime Environment (JRE) can be customized by using the configurations and profiles of J2ME. It includes a configuration which identifies the Java Virtual Machine used.

The configuration characterizes the essential run time environment. The picture depicts the relation between the configurations, virtual machines and the profiles.


Java 2 micro edition moves in synchronous with J2SE API and its relative JVM. J2SE VM is associated to java virtual machine. The J2ME VM is also one of the subsets of JVM.

Developing J2ME applications

We have to consider some key points while developing applications for smaller devices. The system where the compiler is involved when using J2se in order to compile the J2ME applications, deployment, analyzing packages are in this.

Design considerations for small devices

The strategical plans are required before developing applications for small devices during the design phase

Here are some design strategies:

Keep it simple, remove unnecessary features

Smaller is better.

Minimizing the run time memory usage. By making use of scalar types we can minimize the memory usage.

Configurations overview

The essential run time environment is defined by the configuration. There are two configurations for J2ME.

Connected Limited Device Configuration (CLDC): CLDC is used for developing small J2ME applications

Connected Device Configuration (CDC): This configuration is used for 32 bit architectures which requires more than 2 megabytes memory. It is used with CVM.

J2ME profile

The type which the device is going to support is defined by the profile. The classes for cellular phones are defined by Mobile Information Device Profile. It integrates the domain specific classes to the configuration to characterize the similar devices.

There are 2 profiles defined for J2ME which are built upon CLDC, They are;



Depends on the configuration profiles are built, so that profiles are definite to the volume of the device where the application runs. Profiles are correlated with configurations.


KJava is a Sun's trade mark and includes KJava API. KJava includes a sun specific API which runs on Palm Operating system. The KJava API has many similarities with J2SE AWT. The KVM and KJava VM both accept same class file format and byte codes similar to J2SE virtual machine.


MIDP is equipped with mobile devices like mobile phones etc. MIDP is an industry standard profile for mobile devices. It is completely supported for the development of mobile application.

The following are the packages in MIDP;








4.1 Problem Definition

Many studies on multi-hop wireless networks have been dedicated to the system stability considering increasing the metrics like utility or through put. The mentioned metrics counts the performance of the system over a really long time scale. For applications such as video or VoIP (Voice over IP), embedded network control and for network design, metrics like delay plays a crucial role. The major challenge in a wireless network is delay; the delay performance is a major concern in wireless technologies. Even there is same problem in the wire line network as well this is because of the complex interactions in the network (e.g., routing, superposition, departure, etc.).These issues make the study agreeable only in certain special cases such as the product form network. By mutual interference inheritance in wireless networks the problem is more intensified which in turn make difficult to both the scheduling mechanisms and their analysis. There are few analytical techniques to figure out useful lower bound and delay measures for the wireless networks with single hop traffic.


Using a multiple source destination pairs we can figure out the multi hop wireless network, provided the traffic and routing information. Every source infuses packets in the network, which indeed go across the network till it reaches the destination. Consider an example, a multi hop wireless network with three flows. The externally originating arrival processes are similar to the number of packets infused in the system at time. A packet will be queued at every node in its path and waits for a chance to be transmitted. The possibility of interference in concurrent transmission with each other's transmission will be there because of the shared transmission medium. There are activation vectors (matchings') that do not give rise to interference with each other and can be scheduled one after the other. We do not set any prior rule on the set of allowed activation vectors (matchings'), they can define any conjunctional interference model. In a K hop interference model, the links are scheduled one after the other and are partitioned by at least a K hop. Every link will be having a unit capacity, which means at most one packet can be transmitted. For the mentioned example we have taken into consideration a 1 hop interface model. The main reason for causing most of the bottlenecks in the network is the delay performance of the scheduling policy, which is mainly restricted by the interference. To get the lower bounds on the delay for a wireless network with single hop traffic we are using the some exclusive sets.

4.3 MODULE Description

4.3.1. Wireless mesh networks (WMNs)

The wireless Mesh Network (WMN) is formed of gateways (GWs) and mesh routers (MRs) which are connected together by Wireless links (For convenience show as dotted curves). The Access Points in the Wireless Mesh Networks will be the mesh network and the last resort to the Internet will be gateways. The domain administrator will be managing every WMN domain and also he serves as the trusted authority.

4.3.2. Blind Signature

The blind signature scheme permits the receiver to acquire the signature on a message in a way that both the message and the resulting signature stand concealed to the signer. For the definition of blind signature scheme we associate the readers so as to take certain properties of unlinkabilty, unforgeability and verifiability. A property called restrictive property is integrated into the blind signature scheme so that the message which is signed by the sender will contain encoded information.

The very name tells that this property doesn't allows the user in the blind signature scheme to put in some account related secret information into what is being signed by the bank so that this secret can be redeemed by the bank to find out a fake user if he does any mischievous activities. The restrictive property is very much required to make sure the traceability in any of blind signature schemes.

4.3.3. Ticket Issuance

Based on the misbehavior of the misbehaving users the server manager can hold the access of that misbehaving user by simply issuing a ticket, which indeed emulates the server manger's assurance about the misbehaving users to act fairly. By doing so, network security can be well achieved and also fairness amongst all the users. Ticket issuance takes place in situation when the user tries to access the network and also when all the previously given tickets are used. Then the user have to give out his ID details to the sever manager so as to get back access, because the sever manager has to make sure the authenticity of the user.

4.3.4. Fraud Detection

If the users tries to use the same ticket again will lead from the user's failure to get the tickets from the TA when the user wants to access back his account, this is because of the user's recent misbehavior and that makes the server manager to ban his ticket request.

4.3.5 Fundamental security objectives

It is not essential to show that our security architecture obeys the security requirements for confidentiality, authentication and data integrity that will directly lead from the awarding of the standard cryptographic primitives, encryption and message authentication in the system. With the clue of non-repudiation, we are the only left ones. The misbehaving user can only be repudiated if the user could arrange variance in his presentation. He knows the message, from what it is extracted by the server manager. If the user misbehaves, the presentation he knows would be similar to the one which is extracted by the server manager that makes sure non-repudiation.


Data Flow Diagram / Use Case Diagram / Flow Diagram

The data flow diagram is also known as bubble chart. It is a simple graphical representation that is used to represent the system by considering the elements like data which we are going to input, processes which performs the job, and output achieved by the system.

Data Centre


Security Operation Centre

Network Operations centre



Security Layer


Management Wan

Security Wan

Customer Wan

Storage Wan


Fire wall


4.4.1 Architecture.

Fig: 4.4.1

4.4.2 Data Flow Diagram




View Misuse

View Blind Message


Send & Receive message

Make transaction

Client 4

Client 3

Client 2

Client 1

Start Server

Fig: 4.4.2

A data flow diagram graphically represents the flow of data in the system. Data flow diagrams can to use to visually represent the data processing which is called structured design. On a data flow diagram data entities flow from the outside data source or from inside data source to an inside data source or to an outside data source through an internal process. The data flow diagram does not let any information about the process timings or whether the process operates in parallel or in sequence. In short, data flow diagram is a unique type of flowchart.