140 likes | 277 Views
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. Writing data access service classes in Java.
E N D
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
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.
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
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() { }
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();
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"; }
Writing Data Acess service classes in Java (contd) xml += "\r\n"; xml += "</table>"; return xml; }
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
Generating Service (contd) • Output should be <table> <record> <lon>143.002</lon> <lat>37.2850</lat> <magnitude>2.25000E-02</magnitude> </record> </table>
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.
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.
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