IBM Rational Software Development Conference 2006 OC02 © 2006 IBM Corporation ® The Eclipse Web Tools Platform Project: Supporting Open Standards with.

Slides:



Advertisements
Similar presentations
Apache Struts Technology
Advertisements

© 2006 by IBM and Oracle; made available under the EPL v1.0 | Santa Clara | Mar. 23, 2006 Arthur Ryman, WTP PMC, IBM Rational Software Raghu Srinivasan,
Arthur Ryman IBM Rational Developing Web Services with Eclipse.
Content provided under the terms and conditions of the Eclipse Public License Version Eclipse Foundation - Kathy Chan.
© 2006 by IBM and Naci Dai; made available under the EPL v1.0 | Santa Clara | Mar. 20, 2006 Java™ Web Application Development with Eclipse WTP - WTP Quick.
Internet Technologies 1 Master of Information System Management Java Server Faces Model/View/Controller Design Pattern for Web Development Slides.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse Web Tools Platform.
2006 JavaOne SM Conference | Session TS-4160 | © 2006 by IBM Create, Test, and Consume Web Services with the Eclipse Web Tools Platform Jeffrey Liu, Release.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
ECE356 – Database Systems Lab 1 – Building a Web Project with NetBeans Tiuley Alguindigue Lab Instructor – University of Waterloo, E & CE Dept. Fall 2013.
® Emerging Internet Technologies © Copyright 2007 IBM Corp. ; made available under the EPL v1.0 AJAX Toolkit Framework Robert Goodman
Gayle J Yaverbaum, PhD Professor of Information Systems Penn State Harrisburg.
Eclipse is an open source IDE (Integrated Development Environment) for developing applications in Java, C/C++, HTML, Cobol, Perl, etc. The official Eclipse.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
Struts 2.0 an Overview ( )
JSP and Servlets Lecture notes by Theodoros Anagnostopoulos.
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
JSP Standard Tag Library
Eclipse and Oracle | © 2008 Oracle; made available under the EPL v1.0 Building Applications with Eclipse Frameworks and Tools for Oracle Shaun Smith EclipseLink,
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
Developing Web Services with the Eclipse Web Tools Platform Boris Minkin.
© 2006 IBM Corporation Made available under the EPL v WebSphere Services Technical Conference world class skill building and technical enablement.
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation -
Eclipse Web Tools Platform Project © 2005 IBM Corporation Developing Web Services with Eclipse Arthur Ryman, IBM EclipseWorld, New York
Using JavaBeans and Custom Tags in JSP Lesson 3B / Slide 1 of 37 J2EE Web Components Pre-assessment Questions 1.The _____________ attribute of a JSP page.
Java Server Pages A JSP page is a text-based document that contains two types of text: static template data, which can be expressed in any text-based format,
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
COMP 321 Week 7. Overview HTML and HTTP Basics Dynamic Web Content ServletsMVC Tomcat in Eclipse Demonstration Lab 7-1 Introduction.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Dali JPA Tools. About Dali Dali JPA Tools is an Eclipse Web Tools Platform sub-Project Dali 1.0 is a part of WTP 2.0 Europa coordinated release Goal -
© 2006 by IBM; made available under the EPL v1.0 | October 11, 2006 | Tour of the Web Tools Platform (WTP) Project David Williams Eclipse WST Project Lead.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Topic Java EE installation (Eclipse, glassfish, etc.) Eclipse configuration for EE Creating a Java Web Dynamic Project Creating your first servlet.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
Chính phủ điện tử TS. Phạm Văn Tính Khoa CNTT, ĐH Nông Lâm TP.HCM
1 Introduction to Web Applications & APIs. 2 Agenda  Architecture of Web Applications Three layer architecture  Web Server (Tomcat) Installation Data.
© 2006 by BEA, IBM, and Oracle; made available under the EPL v1.0 | Esslingen, De | Oct , 2006 Tim Wagner (BEA), WTP PMC Lead David Williams (IBM),
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 OOPSLA, San Diego Oct , Eclipse Foundation -
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 CASCON 2005 Oct. 17, Eclipse Foundation -
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 EclipseWorld, Aug. 30, Eclipse Foundation -
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 3 1COMP9321, 15s2, Week.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Vakgroep Informatietechnologie – Onderzoeksgroep (naam) Web Centric Design of Distributed Software.
© 2006 by IBM and Naci Dai; made available under the EPL v1.0 | Santa Clara | Mar. 20, 2006 Java™ Web Application Development with Eclipse WTP - WTP Quick.
 Java Server Pages (JSP) By Offir Golan. What is JSP?  A technology that allows for the creation of dynamically generated web pages based on HTML, XML,
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
JAVA, JEE Training Introduction to Web Harinath Mallepally
2 Copyright © 2004, Oracle. All rights reserved. ADF Development Process.
Apache Struts Technology A MVC Framework for Java Web Applications.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary Web Tools Platform Project Overview Naci Dai, Arthur.
Speaker Name Speaker Title Speaker Title Oracle Corporation Olivier Le Diouris Principal Product Manager Oracle Corporation Building Servlet and JSP Applications.
Labs: Create, deploy and test a simple web service
Writing simple Java Web Services using Eclipse
Pre assessment Questions
Unit 6-Chapter 2 Struts.
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Java™ Web Application Development with Eclipse WTP - WTP Quick Tour
Java™ Web Application Development with Eclipse WTP - WTP Quick Tour
Java™ Web Application Development with Eclipse WTP - WTP Quick Tour
Presentation transcript:

IBM Rational Software Development Conference 2006 OC02 © 2006 IBM Corporation ® The Eclipse Web Tools Platform Project: Supporting Open Standards with Open Source Tools Arthur Ryman Eclipse WTP Development Manager, IBM Rational

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Abstract The Eclipse Web Tools Platform (WTP) Project is an Open Source tool suite that supports open standards. IBM contributed core components of IBM(R) Rational(R) Application Developer to seed WTP and is basing future IBM Rational products on it. This session describes how WTP supports the development of Java(TM) Web applications. The Web Standard Tools subproject contains tools for developing HTML, CSS, JavaScript(TM), XML, Web services, and SQL. The J2EE(TM) Standard Tools subproject contains tools for developing servlets, JSP, JSF, Java Web services, and Enterprise JavaBeans(TM). This session includes a demonstration of the tools.

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Outline  Project Overview  Release Roadmap  New in WTP 1.0  New in WTP 1.5  Beyond Callisto  Quick Tour Demo  Dynamic Web Projects  JSPs and Servlet  Database Access  Web Services

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Project Overview  WTP provides tools for Java Web application development  Tools for application developers  Platform for tool developers  Subprojects focus on open standards  Web Standard Tools – IETF, W3C, OASIS, WS-I, ANSI, etc  J2EE Standard Tools – JCP  IBM contributed core components of Rational Application Developer V6.0 and remains the largest contributor  BEA, Oracle, Sybase and many others participate in WTP development  IBM will adopt WTP 1.5 in Rational Application Developer V7.0

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 IETF W3C OASIS WS-I ECMA ANSI De Jure Standards De Facto Standards Web Technologies Java Technologies WST HTML, XML, XSLT, CSS, JS, WSDL, SOAP, UDDI JST Servlet, JSP, EJB, JAX-RPC, JDBC, JAXP, JSF, J2EE XUL PHP Struts Hibernate Spring JDO WTP Subprojects and Open Standards SQL JCP Apache ObjectWeb SourceForge Mozilla Zend

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Web Standard Tools (WST)  Web Projects  Web server control  Structured Source Editing Framework  HTML, JavaScript, CSS  XML, DTD, XSD  Web services (WSDL, WS-I)  SQL, relational database access

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 J2EE Standard Tools (JST)  J2EE Projects  J2EE server control  Servlets  JSP  EJB  Java Web services (JAX-RPC)

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Release Roadmap  WTP 0.7, July 2005 – Tools for Application Developers  September, 2005  WTP 1.0, December 2005 – Platform for Tool Developers  February, 2006  April, 2006  TBA  WTP 1.5, June 2006 – Callisto Simultaneous Release  TBA  TBA  WTP 2.0, June 2007 – Web 2.0, Java EE 5

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 New in WTP 1.0  First wave of Platform APIs  Component descriptors/scanners  Initial Feature definitions  Project Facets  External server adapters and runtimes installed via Update Manager  More supported servers  Adopter Hot List  Improved Help  Improved Scalability  Lots of other bug fixes and enhancements!

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 New in WTP 1.5 (Callisto)  Initial steps towards Java EE 5  JSF Tools Incubator  Dali EJB 3.0 Persistence (JPA) Tools Incubator  Glassfish server adapter hosted at java.net  Components moved to Eclipse Platform:  Common Navigator (Project Explorer)  Tabbed Property View  More Platform APIs  Adopter Usage/Breakage Scans  XML based Help – DITA  Lots of other bug fixes and enhancements!

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 JSF Tools Incubator Project  Led by Oracle with contributions from Sybase and IBM  JSF-JSP page source editor  application configuration (faces-config.xml) source/graphical editor  JSF library registry

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Dali EJB ORM Incubator Project  Support for development of Java Persistence API (JPA) persistent Entities within Eclipse  Leverage and integrate into existing Eclipse platform and projects, esp. WTP, DTP

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Design Time Mapping Validation ADDRESS IDCITYCOUNTRY P_CODE Default mapping won’t work!

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 WTP Beyond Callisto  DTP Adoption  Remove Data Tools  Java EE 5 support  Update J2EE models and API  Graduation of JSF and Dali projects  AJAX Tools Framework Incubator  Improved JavaScript editor and new debugger  Collaboration with PHP Tools Project  Improved Apache Web server support  Collaboration with SOA Tools Project  Improved WS-* support  Continued definition of Platform APIs and Features  Focus on adopters

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Demo

IBM Rational Software Development Conference 2006 OC02 © 2006 IBM Corporation ® Naci Dai eteration a.s. Lawrence Mandel IBM Rational Software Arthur Ryman IBM Rational Software Quick Tour of Eclipse WTP

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 WTP Quick Tour Iterations 1.Configure an application server, create a Web application, develop a simple JavaServer TM Pages (JSP) document that prints a greeting, and run it on the server. 2.Add a login JSP, write Java scriptlets to display the user name, create a Java servlet that controls the application page flow, and debug the servlet and JSPs. 3.Create a database to store user information, develop an SQL query to access it, and add Java Database Connectivity (JDBC) calls to your servlet to invoke the query and retrieve the user information. 4.Deploy the database query as a Web service, generate a JSP test client that invokes the Web service, and monitor the Simple Object Access Protocol (SOAP) message traffic. For the most benefit, download a recent WTP release and follow along!

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Iteration 1: J2EE Web Applications  In iteration 1 we will configure our development environment, and create a dynamic Web application  Tasks:  Configure an application server  Create a Dynamic Web application project  Develop a simple JavaServer Pages (JSP) document that prints a greeting  Run the JSP on the server

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Configure an Application Server 1.Window > Preference > Server preferences > Installed Runtimes 2.Click Add. Specify the location of Tomcat. You must specify a JDK so your JSPs will compile.  An application server is needed to run our Java Web application

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Create a Web Application Project 1.Select File > New > Project … > Web > Dynamic Web Project wizard. 2.Name the project Project1. 3.Associate Tomcat with Project1. 4.Click Finish.  The project will contain all of our Web artifacts such as JSPs, servlets

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Develop a Simple JSP that Prints a Greeting 1.Right click on Project1’s WebContent folder and select New->JSP. 2.Name the JSP hello-world.jsp. 3.Click Next. Select JSP with html markup. 4.Click Finish. 5.Change the title and add body contents for “Hello, world.”  The JSP will display “Hello, World” in a client’s Web browser

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 hello-world.jsp

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Run the JSP on the Server 1.Right click on hello-world.jsp and select Run As > Run on Server. 2.Tomcat starts up and displays the JSP.  To make use of the JSP it must be run on a server, in our case Tomcat

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Iteration 1 Summary  We configured Tomcat to act as our application server  We created a Web application project  We developed a simple JSP that prints “Hello, world” in a browser  We ran the JSP on the Tomcat server

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Iteration 2: Servlets and Scriptlets  In iteration 1 we created a JSP that had static content  In iteration 2 we will add dynamic content Tasks:  Add a Java Scriptlet to a JSP  Debug a JSP  Create a Servlet  Debug a Servlet

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Add a Java Scriptlet to a JSP 1.Add the following scriptlet to the JSP’s body: <% String person = "?"; String user = request.getParameter("user"); if (user != null) person = user; %> Welcome to WTP, ! 2.Select Run As->Run on Server 3.Provide the name by appending ?user=EclipseCon  Scriptlets allow us to add Java code to a JSP that will get executed on the server

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 hello-world.jsp?user=EclipseCon

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Debug a JSP 1.Set a break point on the line String user = request.getParameter("user"); by double clicking in the margin. 2.Right click on hello-world.jsp and select Debug As > Debug on Server. Tomcat will now restart in debug mode. 3.Select to resume execution. 4.Change the user to Alice. Notice the variables view shows the changed value.  Debugging a JSP allows us to step through the JSP’s execution path

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Debug hello-world.jsp

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Create a Servlet  JSPs should only contain presentation logic.  Application logic should be performed by servlets.  We will now add a login JSP and a servlet to handle the login request.

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Create a Login JSP 1.Create login-user.jsp the same way we created hello-world.jsp. 2.Add the following content to the JSP:  The login JSP will submit information to a servlet using a form Login User Login User Enter your user name:

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Create a Servlet 1.Right click on Project1 and select New->Servlet. 2.Specify the package name org.rsdc and the name HelloServlet. 3.Click Next. Accept the default name and mapping. 4.Click Finish. The wizard creates the Servlet skeleton.  The servlet will take the input from our JSP, perform some logic, and return either the login JSP or the hello world JSP

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Add Logic to the Servlet 1.Add the following implementation to the doGet method:  Because we specified GET in login-user.jsp we will implement doGet() protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String url; String user = request.getParameter("user"); if (user == null || user.length() == 0) { url = "/login-user.jsp"; request.setAttribute("error", "User name must not be empty."); } else { url = "/hello-world.jsp"; } ServletContext context = getServletContext(); RequestDispatcher dispatcher = context.getRequestDispatcher(url); dispatcher.forward(request, response); }

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Run the Updated Application  Right click on login-user.jsp and select Run As->Run on Server

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Debug a Servlet 1.Set a breakpoint in HelloServlet on the line String user = request.getParameter("user"); by double clicking in the margin. 2.Right click on HelloServlet.java and select Debug As->Debug on Server. 3.Select to resume execution. 4.Try changing the name and watch the execution path.  Debugging a servlet is very similar to debugging a Java class

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Iteration 2 Summary  We made our JSP dynamic by adding a Java Scriptlet  We debugged our JSP on the server  We created a login JSP and a servlet to handle login requests  We debugged the servlet on the server

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Iteration 3: Database Access  In iteration 2 we created a dynamic Web application  In iteration 3 we will add a data layer to our Web application Tasks:  Connect to a Database  Execute SQL Statements  Add Database Access to our Web Application

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Show the Database Views 1.Click on Window > Show View > Other… 2.Select the Database Explorer and Data Output views and click OK.  WTP provides two views that assist in working with databases. We need to show these views before proceeding.

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Connect to a Database 1.Right click in the Database Explorer and select New Connection… 2.Select Derby Enter a convenient location for the database such as C:\Project1db 4.Enter the location of derby.jar. It’s located in the plugins dir in org.apache.derby.core. 5.Click Test Connection. 6.If the connection test was successful, click Finish.  Before working with a database we must first connect to it.

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Execute SQL Statements 1.Open the SQL Scrapbook by clicking the button in the Database Explorer, selecting the Project1db, and enter a name of project1sql.sqlpage. 2.Enter the following statements into the editor. (You can replace a name with your own. 3.Select each statement individually, right click on it and select Run SQL. 4.Results are shown in the Data Output view.  We will now populate our database by executing SQL statements. CREATE TABLE WEB1.LOGIN (USERID CHAR(8) NOT NULL, FULLNAME CHAR(20), PRIMARY KEY(USERID)) INSERT INTO WEB1.LOGIN (USERID, FULLNAME) VALUES ('dai','Naci Dai') INSERT INTO WEB1.LOGIN (USERID, FULLNAME) VALUES ('mandel','Lawrence Mandel') INSERT INTO WEB1.LOGIN (USERID, FULLNAME) VALUES ('ryman','Arthur Ryman') SELECT * FROM WEB1.LOGIN ORDER BY FULLNAME SELECT FULLNAME FROM WEB1.LOGIN WHERE USERID = 'ryman'

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Disconnect from the Database  Derby only supports a connection to a given database from one process – we need to disconnect before using the database in our Web application 1.Right click on the Project1db in the Database Explorer and select Disconnect.

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Add Database Access to our Web Application  We will now update our Web application to retrieve user names from the database we created  There are 4 tasks to perform: 1.Add the Derby library to our Web application 2.Create a class that will access the database 3.Update our Servlet to access the user name from the database class 4.Update our hello world JSP to display the user name

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Add the Derby Library to our Web Application 1.Copy derby.jar to WEB-INF/lib note: While this method works fine for a single application, if multiple applications need access to a Derby database a shared copy of Derby must be used.  Our application needs access to the Derby libraries in order to access a Derby database

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Create a Class that will Access the Database 1.Create a new class named Database.java in the same package as HelloServlet.java.  The class will contain all the logic to access the database public class Database { public String lookupFullname(String userid) throws SQLException { Connection connection = null; PreparedStatement statement = null; ResultSet resultset = null; String fullname = ""; try { Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); connection = DriverManager.getConnection("jdbc:derby:C:\\{roject1db"); String QUERY = "SELECT FULLNAME FROM WEB1.LOGIN WHERE USERID = ?“; statement = connection.prepareStatement(QUERY); statement.setString(1, userid); resultset = statement.executeQuery(); if (resultset.next()) fullname = resultset.getString("FULLNAME").trim(); } catch (Exception e) { e.printStackTrace(); } finally { if (resultset != null) resultset.close(); if (statement != null) statement.close(); if (connection != null) connection.close(); } return fullname; } }

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Update Our Servlet to use the Database class 1.Update the doGet method of HelloServlet.java to use Database.java.  The Servlet will now access the user name from the database protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String url = "/hello-world.jsp"; String user = request.getParameter("user"); if (user == null || user.length() == 0) { url = "/login-user.jsp"; request.setAttribute("error", "User name must not be empty."); } else { try { String fullname = new Database().lookupFullname(user); request.setAttribute("fullname", fullname); } catch (SQLException e) { e.printStackTrace(); } } ServletContext context = getServletContext(); RequestDispatcher dispatcher = context.getRequestDispatcher(url); dispatcher.forward(request, response); }

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Update JSP to Display the User Name 1.Update the hello-world.jsp to retrieve the value of the fullname parameter and use it instead of the user parameter if it has been specified by changing the Scriptlet as follows:  The JSP needs to be updated to use fullname.

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Run the Updated Web Application 1.Run login-user.jsp on the server. 2.Try entering a user id. The resulting page now displays the name instead of the user id.

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Iteration 3 Summary  We connected to a Derby database  We executed SQL statements to populate the database and view the values we added  We added database access to our Web application enabling the application to display the user name instead of the user id.

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Iteration 4: Web Services  In iteration 3 we created a data layer for our Web application  In iteration 4 we will expose that data through a Web service Tasks:  Deploy a Web service  Test a Web service with a test client  Monitor SOAP messages

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Deploy a Web Service 1.Right click on Database.java and select Web Services > Create Web service. 2.Check the following items: Start Web service in Web project Generate a Proxy Test the Web service Monitor the Web service 3.Click Finish.  We will create a Web service using the bottom-up approach to expose our Database.java class.

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Test a Web Service with a Test Client 1.Click on the lookupFullname method. 2.Enter the name “ryman”. 3.Click Invoke. 4.The Result pane displays the full name “Arthur Ryman” associated with the user id ryman.  The test client allows you to easily test a Web service.  The test client was created by selecting the option in the WS wizard

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Monitor SOAP Messages 1.The message you sent when testing the Web service can be seen by opening the TCP/IP monitor view. If not already open select Window > Show View > Other… > Debug > TCP/IP Monitor 2.Use the test client to test another name. The result shows up in the TCP/IP monitor.  Web services send SOAP messages between the client and server  We can monitor these messages to see the traffic and find problems

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Iteration 4 Summary  We deployed a Web service that allows programmatic access to our database  We tested the Web service with a test client generated by the Web service wizard  We monitored SOAP messages sent to and from the Web service

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Quick Tour Summary  WTP contains many tools that simplify the development of Web applications including working with databases and working with Web services  Technologies supported by WTP include: CSS, DTD, EAR, EJB, HTML, XHTML, J2EE, JavaBeans TM, JavaScript TM, JSP, Servlet, SQL, WSDL, XML, XML Schema, WAR, Web services

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Questions

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Arthur Ryman Thank You

IBM Rational Software Development Conference 2006 © 2006 IBM Corporation; Made available under the EPL v1.0 OC02 Attributions Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.