Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Creating Data Access
Services
Presented by
Ashraf Memon
Overview
• Writing data access service classes in
Java
• Generating service
• Deploying services with Apache Axis
• Generating client files and testing them
2
Writing data access service
classes in Java
• Data Access Services in Java heavily
depend on JDBC
• JDBC stands for Java Database
Connectivity and is a industry standard Java
API from Sun for talking to any database depending on availability of database driver.
3
Writing data access service
classes in Java
4
Writing data access service
classes in Java
• Sample Data Access class contains 1
function, which reads coordinate data from
summer_institute database and generates
XML for it.
• Method signature is
– public String parse(int criteria)
• Complete class code follows
5
Writing Data Acess service
classes in Java (contd)
import java.io.IOException;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
public class DBAccess {
public DBAccess() {
}
6
Writing Data Acess service
classes in Java (contd)
public String parse(int criteria) throws IOException,
SQLException,
ClassNotFoundException {
String xml = "<table>\r\n\t";
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection(
"jdbc:mysql://geon07.sdsc.edu:3306/summer_institute",
"root", "");
Statement stmt = connection.createStatement();
7
Writing Data Acess service
classes in Java (contd)
String sql = "SELECT * FROM earthquake WHERE magnitude > " +
Integer.toString(criteria);
ResultSet record = stmt.executeQuery(sql);
while (record.next()) {
xml += "<record>\r\n\t\t";
xml += "<lon>" + record.getString("longitude") + "</lon>\r\n\t\t";
xml += "<lat>" + record.getString("latitude") + "</lat>\r\n\t\t";
xml += "<magnitude>" + record.getString("magnitude") +
"</magnitude>\r\n\t";
xml += "</record>\r\n\t";
}
8
Writing Data Acess service
classes in Java (contd)
xml += "\r\n";
xml += "</table>";
return xml;
}
9
Generating Service
• Download DBAccessService directory from
ftp://dotnet.sdsc.edu/CSIG-WS/
• Save directory to C:\training\user\code
• Compile DBAccess.java file by typing
following at command prompt
javac DBAccess.java
• Run program by typing following at
command prompt
java DBAccess
10
Generating Service (contd)
• Output should be
<table>
<record>
<lon>143.002</lon>
<lat>37.2850</lat>
<magnitude>2.25000E-02</magnitude>
</record>
</table>
11
Deploying services with Apache
Axis
• Copy generated class file to
C:\training\tools\tomcat\webapps\axis\WEB
-INF\classes\
• Open deployDBAccess.wsdd in Textpad
(Explanation by instructor)
• Close file.
12
Deploying services with Apache
Axis(contd)
• Set classpath by typing classpath at
command prompt
• Execute deployment descriptor by typing
deploy deployDBAccess.wsdd at command
prompt.
• This deploys webservice on Axis SOAP
Server.
13
Generating client files and
testing them(contd)
• Compile DBAccessServiceClient.java by
typing following at command prompt
– javac DBAccessServiceClient.java
• Execute Client by typing following at
command prompt
– java DBAccessServiceClient
• Output should be sinilar to execution of
DBAccess
14