Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof 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