Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Introduction to Java Development with IDS Jean Georges Perrin IIUG GreenIvory.com JGP.net Tuesday, October 3 rd 2006 09:00 – 10:00. Platform: IDS, Java.

Similar presentations


Presentation on theme: "1 Introduction to Java Development with IDS Jean Georges Perrin IIUG GreenIvory.com JGP.net Tuesday, October 3 rd 2006 09:00 – 10:00. Platform: IDS, Java."— Presentation transcript:

1 1 Introduction to Java Development with IDS Jean Georges Perrin IIUG GreenIvory.com JGP.net Tuesday, October 3 rd 2006 09:00 – 10:00. Platform: IDS, Java

2 2 Agenda Who am I? Architecture Requirements Your very first cup of Java JDBC Your first application using the Command Prompt Your first application using Eclipse Your first application using a framework

3 3 Agenda Who am I? Architecture Requirements Your very first cup of Java JDBC Your first application using the Command Prompt Your first application using Eclipse Your first application using a framework

4 4 Who am I? My Unix box usually answers…

5 5 Who am I (outside of a Unix box)? Jean Georges Perrin Development tools (xGL, Java EE, PHP) Works with Informix products since ’97 IIUG board member since ’02 Lives in Strasbourg, France

6 6 A little more… Application developer, started with Visual Basic, in the early 90s In the web since 1994 Move to 4GL in 1997 Goals: Webizing all things I touched (business apps, catalogs and i-4GL…) Find the ease of use of Visual Basic

7 7 And you… Who knows 4GL? Who knows Java? Who thinks Java is difficult? Who knows.net?

8 8 Agenda Who am I? Architecture Requirements Your very first cup of Java JDBC Your first application using the Command Prompt Your first application using Eclipse Your first application using a framework

9 9 Architecture Data ApplicationJDBC Driver

10 10 Agenda Who am I? Architecture Requirements Your very first cup of Java JDBC Your first application using the Command Prompt Your first application using Eclipse Your first application using a framework

11 11 Requirements #1 - IDS (from v7.x, but also works on OnLine and SE) Where: www.iiug.org, www.informix.comwww.iiug.orgwww.informix.com #2 - Java (Java SDK v5.x) Where: www.javasoft.comwww.javasoft.com #3 - JDBC driver (IBM Informix JDBC 3.0) Where: www.informix.comwww.informix.com #4 - Option: Eclipse (v3.2.1) Where: www.eclipse.orgwww.eclipse.org

12 12 Agenda Who am I? Architecture Requirements Your very first cup of Java JDBC Your first application using the Command Prompt Your first application using Eclipse Your first application using a framework

13 13 Your very first cup of Java Hello, world… in Java Use of “javac” Use of “java” Code snippet: package org.iiug.test; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world..."); } Source code is self organizing in packages Modules are organized in classes main {…} is MAIN … END MAIN “Hello, world…” is always the same, in any language… fglpc fglgo

14 14 Java Pros & Cons Object Oriented (OO) development Event driven programming model User Interface (UI) & Business Logic (BL) tightly linked Open architecture, open standards General purpose development language Industry standard Looks like “hype” to developers

15 15 4GL Pros & Cons Procedural development “Controlled” events UI and BL somehow separated (.per &.4gl) Proprietary solution Business apps development language Not a standard in industry Hard to attract new developers

16 16 Agenda Who am I? Architecture Requirements Your very first cup of Java JDBC Your first application using the Command Prompt Your first application using Eclipse Your first application using a framework

17 17 JDBC Types of driver (annoying theory) Standard way of talking to a database (forget about SQL/J) Use a URL, for IBM Informix: jdbc:informix-sqli://popeye:1526/stores_demo: informixserver=ol_popeye; user=informix; password=informix

18 18 Agenda Who am I? Architecture Requirements Your very first cup of Java JDBC Your first application using the Command Prompt Your first application using Eclipse Your first application using a framework

19 19 Your first application using the Command Prompt Understand the role of the “CLASSPATH” Full source code (copy / paste): import java.sql.*; public class MyFirstJDBCConnection { public static void main(String[] args) { // Define my local variables Connection myConnection; Statement myStatement; ResultSet myResultSet; // Loading driver try { System.out.println(">> Loading the driver"); Class.forName("com.informix.jdbc.IfxDriver"); } // end try catch (ClassNotFoundException e) { System.out.println("ERROR: Failed to load IBM Informix JDBC driver."); return; } // end catch

20 20 Your first application (2) try { // Connection to database System.out.println(">> Connecting to the database"); myConnection = DriverManager.getConnection ("jdbc:informix-sqli://popeye:1526/stores_demo: informixserver=ol_popeye;user=informix;password=informix", "", ""); // Statement creation System.out.println(">> Creating the statement"); myStatement = myConnection.createStatement(); // Resultset creation & execution System.out.println(">> Executing the query"); myResultSet = myStatement.executeQuery ("SELECT fname, lname, customer_num FROM customer ORDER BY lname"); // Outputting the result System.out.println(">> Step 4 - Dumping data"); while (myResultSet.next()) { System.out.println ( myResultSet.getString("fname") + myResultSet.getString("lname") + " (" + myResultSet.getString("customer_num") + ")"); }

21 21 Your first application (3) // Cleaning System.out.println(">> Cleaning"); myResultSet.close(); myStatement.close(); myConnection.close(); } // end try catch (SQLException e) { System.out.println("ERROR: SQL exception: " + e.getMessage()); e.printStackTrace(); return; } // end catch } // end main } // end class

22 22 Declaring objects to use Code snippet: The “Connection” is the real connection to the database, it is (re)created each time. Except when using “connection pooling”. The “Statement” is the real orders or queries to the database. The “ResultSet” contains a link to the data. // Define my local variables Connection myConnection; Statement myStatement; ResultSet myResultSet; Connection = DATABASE Statement = STATEMENT ResultSet = ARRAY OF RECORD / CURSOR

23 23 Loading the driver Code snippet: Drivers are uniquely named, for IBM Informix: // Loading driver try { System.out.println(">> Loading the driver"); Class.forName("com.informix.jdbc.IfxDriver"); } // end try catch (ClassNotFoundException e) { System.out.println("ERROR: Failed to load IBM Informix JDBC driver."); return; } // end catch com.informix.jdbc.IfxDriver

24 24 Connecting to the database Code snippet: // Connection to database System.out.println(">> Connecting to the database"); myConnection = DriverManager.getConnection ("jdbc:informix-sqli://popeye:1526/stores_demo: informixserver=ol_popeye;user=informix;password=informix", "", "");

25 25 Statement & Execution Code snippet: // Statement creation System.out.println(">> Creating the statement"); myStatement = myConnection.createStatement(); // Resultset creation & execution System.out.println(">> Executing the query"); myResultSet = myStatement.executeQuery ("SELECT fname, lname, customer_num FROM customer ORDER BY lname");

26 26 Looping around Code snippet: // Outputting the result System.out.println(">> Step 4 - Dumping data"); while (myResultSet.next()) { System.out.println ( myResultSet.getString("fname") + myResultSet.getString("lname") + " (" + myResultSet.getString("customer_num") + ")"); }

27 27 Cleaning Code snippet: Not only cleaning Exception Handling! // Cleaning System.out.println(">> Cleaning"); myResultSet.close(); myStatement.close(); myConnection.close(); } // end try catch (SQLException e) { System.out.println("ERROR: SQL exception: " + e.getMessage()); e.printStackTrace(); return; } // end catch } // end main } // end class

28 28 Agenda Who am I? Architecture Requirements Your very first cup of Java JDBC Your first application using the Command Prompt Your first application using Eclipse Your first application using a framework

29 29 Your first application using Eclipse Create a project Add the library Create the class Run it

30 30 Agenda Who am I? Architecture Requirements Your very first cup of Java JDBC Your first application using the Command Prompt Your first application using Eclipse Your first application using a framework

31 31 Your first application using a framework Goals of a framework Ease of use Small learning curve Database connectivity Business logic

32 32 BlueGazelle Open Source framework Soon to be downloadable from http://www.greenivory.com http://www.greenivory.com

33 33 BlueGazelle Source Code Code snippet: Database myDatabase = null; Record myRecord = null; Record myRow = null; int count = 0; int i = 0; try { myDatabase = Databases.connect("stores_demo"); myRecord = myDatabase.createRecordFromSelect("SELECT fname, lname, customer_num FROM customer ORDER BY lname"); count = myRecord.getCount(); for (i = 0; i < count; i++) { myRow = myRecord.getRecordAt(i); System.out.println(myRow.getString("fname") + myRow.getString("lname") + " (" + myRow.getString("customer_num") + ")"); } catch (Exception e) { System.out.println("ERROR: Exception raised: " + e.getMessage()); e.printStackTrace(); } // end catch

34 34 Conclusion Java offers a standard way of accessing data. Java is working in a distributed environment. Frameworks simplify the developers’ life.

35 35 Complexity & Features Level of complexity / feature of languages over time 200020051994 Easy Difficult 4GL 2001200220032004200619991998199719961995 PHP OO in PHP 4 Zend Framework? PHP 5 J2EE Java SE 5 Eclipse Java Java EE 5

36 36 And now… Come to see me in San Jose (May 2007) Full Java Educational Seminar (you need to stand me for 3 hours) “Introduction to EJB3 dev. with IDS and Viper” I think I have a session or two on XML (Give me good marks so I can be selected as best speaker of the conference and beat Darryl, Lester and Art - previous speakers and enter Hall of Fame).

37 37 And now (seriously)… Download Eclipse (I guess you all have IDS already) Get a book (O’Reilly has quite a few great books) Join the development-tools forum on IIUG web site Get started with a few examples Come back to me

38 38 Introduction to Java Development with IDS Thanks for your patience Come back to me… jgp@iiug.org jgp@jgp.net


Download ppt "1 Introduction to Java Development with IDS Jean Georges Perrin IIUG GreenIvory.com JGP.net Tuesday, October 3 rd 2006 09:00 – 10:00. Platform: IDS, Java."

Similar presentations


Ads by Google