This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Java technology is a combination of programming language and a platform. This technology supports the "state of art" programs assisting the games, utilities & also services related to the business applications. As of 2012, Java was one of the most important and wanted programming language, in particular for client-server based applications, with more than 10 million users. Java has become the most important part of performance & operations for lots of applications and websites. Without Java being installed, it might not be able to run or operate them, as it provides much secure, speed and efficiency.
The Java Programming Language
Java programming language is high level language. It is an object oriented language originated from the Oak language. The Oak language was developed in early 90's for a means of communication in entertainment gadgets like video games and VCR's etc. Java is also addressed as interpreted language because of its byte code, which is created by the compilation of source code. This compiled source code is interpreted by JVM and is then converted to a machine dependent code which is also called as Native code.
The Java programming language is characterized by the following,
With other programming languages, you collate a program in order to run it on your computer. But, Java is particularly designed to reduce the number of dependencies as less as possible, during the process of implementation. The Java programming language is unusual, wherein a program is both compiled and interpreted. By the compiler the first program is translated first into a Java byte codes (Intermediate language). The java byte code is a platform independent code which is interpreted by the interpreter. Every Java byte code instructions are identified by the interpreter. For every program execution there will be interpretation, which means the compilation happens only once.
The figure below depicts how it works;
Fig : 3.3 .1
Java is an Object oriented Programming concept which guides us to the core ideas & concepts behind object-oriented programming such as: Objects, messages, classes and interests. A clear picture of what are they, why you would want to write one and how to write is described clearly using the interfaces & inheritance, which are few among those object-oriented concepts of Java.
Java byte codes are nothing but the machine code instructions for JVM. All the Java interpreters (web browser or development tool) are carried out by the JVM. "Write once, run anywhere" is possible by Java byte codes. The java program can be bought into several byte codes on the platform and these byte codes can run on any other JVM. The Java program can run on Mac, Windows, Solaris etc. as long as the computer has JVM.
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 Flow Diagram
View Blind Message
Send & Receive message
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.
a) Use Case Diagram:
The use case diagram in the Unified Modeling Language is a kind of behavioral diagram which is characterized by and bought into existence from a use case analysis. The overall idea of use case diagram is to represent a graphical overview of functionality present in the system in terms of actors, their goals and inter dependence between those use cases. The objective to use the use case diagram is to depict what type of system functions is used for what actor. Importance of the actors in the system can be shown.
b) Sequence Diagram
The sequence diagram depicts different processes or objects that are conscious simultaneously - lifelines is parallel vertical lines, and the messages exchanged between them in horizontal arrows in sequence which the message exchange went. This lets the specification of effortless runtime story line in a graphical manner.
A Unified Modeling Language sequence diagram depicts the flow of logic in the system in a visual style, letting us to both document and validates the logic, and it is more often used for design and analysis prospects. The famous unified modeling language artifacts for dynamic modeling are sequence diagrams that largely aim on finding the responses inside the system. Few other dynamic modeling techniques consist of timing diagramming, communication diagramming, interaction overview diagramming, and activity diagramming. The crucial design level models for contemporary business application development are sequence diagrams as well as physical data models and class diagrams.
C) Activity Diagram
View Blind Message
C:\Users\Velli\Desktop\c2.PNG Fig: 4.4.5
The graphical representation of workflows of stepwise activities and actions with the help of concurrency, choice and iteration is activity diagrams.
d) Component Diagram:
Send & Receive messages
The object oriented development (OOD) and component based development (CBD) go together and they are practically identified that object technology is the approved foundation from where to build the components. An architecture level artifact either to illustrate, the technical software architecture, business software architecture, or periodically than not both the architectural aspects. By employing an assembly connector to bridge the suitable interface of one component with the given interface of another component, the components can be well bound together.
The Java Platform
The Java platform may be a hardware or software environment where the program is arranged to run. The developers build the application to meet the user requirements. The application may be developed to give the service for one user at a time or several users at a time, or several users at different places at any time. The Java Platform takes into account different problems that are usually faced by several developers. It provides a draft with different options for different technologies based on user requirements. There are many crucial aspects in java platform. In that we have two important aspects, they are Java Development Kit (JDK) and Java Runtime Environment (JRE). When the Java Runtime Environment assembled in a computer it gives the operating system a medium to run the java programs. On the other hand Java Development Kit is composed with the tools which are used by the programmer in developing any java based applications.
The Java platform versions contain additional Java API's for generating various types of applications such as Java Standard edition, Java Enterprise Edition & Java Micro Edition. Java standard edition (Java SE) helps in creating desktop applications & applets. Basically this application is created to serve small number of users at once. Java enterprise edition (Java EE) is mended for complicated applications to make it more suitable for both medium and large business units, and this is designed as server based application so as to focus on serving the needs of more number of users at a time. Java Micro Edition is implemented on mobile and entrenched devices such as PDA, Printers, tuner box, Cell phones, etc.
We have mentioned that many platforms like Linux, Mac, Windows, and Solaris etc. may be differentiated as integration on hardware and operating system. The Java platform is different from many of the others. It is a software platform which runs on the top of hardware platform.
There are two components in Java platform, they are;
Java API - The Java Application Programming Interface
JVM - The Virtual Machine.
The Java API is a readymade software component with many capabilities like graphical user interface widgets.
The JVM is a base for the Java platform.
The functionalities of Java API packages are described here.
The figure shows a program which is running on Java Platform. The Java API and the JVM covers the java program form the hardware.
Hardware based platform
Native code is a code that after finishing of compilation, the compiled code is further processed on specific hardware platform. Because of the fact that java platform is platform independent environment, it is relatively slower compared to that of native code processing.
What Can Java Technology Do?
The Applets and Applications programs are the most common type of programs written in the Java programming language. If browsed through net for related data, it makes it much easier and reliably familiar with applets context. An applet is a program that sticks to particular type of conventions that allow the Java enabled browser to run the applications faster. The generous API can also be used to write different types of programs. Being a strong and most used programming language in day to day activities, the features gained by implementation of Java platform are development tools, Application programming interface (API), deployment technologies, user interface toolkits & integration libraries. These features provide all necessary tools needed for compiling, running, monitoring, debugging, and documenting the applications.
Application programming interface is the key provider that gives a large amount of really important classes which are ready for the implementation in users' applications.
The important theory of application programming interface is largely broad so that it gives distinct classes which are very useful in creating an applet or application. Another categorization of these applets are utilized in communication with another applet in context. It also helped in providing the standard mechanism for extending the applications to the end users. To make the creation of complicated Graphical User Interface more simple, user interface toolkits were used such as Swing & Java toolkits. To have an easy access to the database and collaboration of remote objects integration libraries feature was used.
The following are the features of java platform;
Applets: Applets are the conventions used.
Internationalization: For all the worldwide users Internationalization is very useful. It helps in writing a program which is available to all the users. Programs written are automatically adjusted to specific locations with appropriate language based on the requirements of the user.
Essentials: Threads input and output, date and time, objects, system properties, strings etc.
Object serialization: Communication through Remote Method Invocation and constancy with less weight can be achieved by object serialization.
Software Components: For the current architecture Java Beans can be plugged in.
Networking: IP address, Universal Resource Locators, Transmission Control protocol, User Datagram Protocol sockets.
Java Database Connectivity: It enables access to certain level of Relational Database Management System.
Security: The high level and low level, access control, public key and private key management, electronic signature and certificates.
There are different types of APIs in Java platform; they are servers, telephony, 2D graphics, 3D graphics, animation, accessibility, speech etc.
The below mentioned figure shows what is Java 2 SDK contains.
Java Technology's Impact on User's:
Even though Java technology cannot promise its users the fame, fortune, or even a job, it helps the users to learn the Java programming language. Java technology is one of those programming languages which has wide acceptance all over the world, with its huge amount of important and robust features. Still, it is likely to make the programs good and it takes minimum effort than compared to any other language which simplifies the process of understanding and implementing Java technology without any complications and confusions. Wide variety of dynamic, completely secured and safe independent applications can be created by implementing Java, which is the main reason behind that gradual and rapid increase in the number of users; and it is also believed that Java technology will help in doing the following functions/actions more effectively:
Get started quickly: Java being a user friendly programming language, it is very easy to write and understand. As the programming doesn't need any pointers or memory to be managed explicitly, highly secured applications can be used without any interruptions. Even though Java is a very powerful object oriented programming language it can make the applications and the programs to figure out or to interpret very with minimum efforts or we can say very easily.
Avoid platform dependencies with 100% Pure Java: The program can be kept portable by restricting it not to use other language libraries. A very good Java product certification program which has safe process manuals, same online materials, white papers and brochures.
Write better code: It motivates with very good coding practice. Memory leaks are avoided by its garbage collection method. The Java beans architecture, object orientation, extensible API and also its wide ranging helps you to use the code which is already been used by others.
Distribute software more easily: From the central server applets can be easily upgraded. Applets can allow the new class to load on the fly without even recompiling the full program.
Write once, run anywhere: Java programs are compiled into Java Byte Codes (Machine Independent Byte Codes) they can run on any of the Java Platforms.
Develop programs more quickly: Development time is as much as twice as of writing the same program in C++.
Write less code: Program metrics such as method counts and class counts are compared which implies, the programs written in java are much smaller than the programs written in many programming languages like C or C++. The rules of object oriented programming such as polymorphism, encapsulation, and inheritance are well followed while running.
Communicating with remote objects distribute over the network is set through the Java programming. It contains all required data base in its libraries with sources such as RMI and CORBA which are very much essential to develop any network applications. All Primary data types can be considered as objects using covering classes to make Java a dully Object oriented, wherein class is considered a basic unit of Java and Objects are the entities which follow the prototypes that are defined by class.
Java applications are more reliable in different ways. It helps compile time checking to identify at early stages the causes of bugs, run time checking, eliminated the use of pointers which can usually cause the corruption of memory or unnecessary access of memory, waste/garbage collection management to free the unused memories automatically, barring handling to handle the situation at the time of occurrence of any error and a lot more.
The only two examples that can be used at this point are as follows. For many well known popular data base systems ODBC drivers are largely available. The Plain text files and excel spreadsheets can be easily changed over to many different data sources. The registry information written by Open Database Connectivity administrator to find out at what exact level does the Open Database Connectivity drivers are required to communicate to with the data source (interface to SQL Server or Oracle) is implicated by Operating System. The loading process of Open Database Connectivity drivers is very transparent to the Open Database Connectivity application program. In the sever environment and client environment the Open Database Connectivity API controls most of the networking issues for the programmer.
The benefits of this are large in number which makes the user convinced that there are some catches. The disadvantage of Open Database Connectivity is that it is not as efficient as communicating directly to the essential database interface. Open Database Connectivity have many censors that creates the charge which is very slow. The important thing in the performance is depends on the quality of the software drivers which are being currently used, which has been proved several time by Microsoft. In the recent days the availability of the good Open Database Connectivity is improved. About the criticism about the performance is little analogous to the people who told compilers does not sync with the speed of the assembly language.
The Compiler or Open Database Connectivity provides the user the chance to write clean programs that means the programs where the user could complete their programming sooner. These accelerated compilation of programs and applications are making the systems and the computers to work faster and faster year by year.
Java Database Connectivity (JDBC)
JDBC is a Java-based data access technology from Sun Microsystems. In an achievement to get an independent database standard Application programming interfaces for java, sun microsystems established Java database connectivity. 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: Type 1 calls the code of nearly available Open Database Connectivity driver.
Type 2: Type 2 is a type which calls database sellers near library on a client side and afterwards the done code communicates with database through the network.
Type 3: This type communicates with server side and then goes to the database. And this is a pure java driver.
Type 4: This 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, such that the admittance could be formed directly rather through a distinct 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
SQL Level API
It is main goal for JDBC. It is at very low level for high level tools.
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.
Java Database Connectivity should be implemental on the top of a common database interface
This goal lets the JDBC to make use of the OBDC drivers with the help of a software interface.
Gives the java interface which is consistent with other 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, and INSERT etc. The queries used has to be simple, also complex SQL statements should be possible.
At last I had made up my mind to start the implementation by using the java networking. And I am going to use the MS Access database to update the cache table.
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.
BENEFITS OF JAVA DATABASE CONNECTICITY (JDBC)
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.