Title: EclipseWorld, Aug. 30, 2005
1Creating Your First J2EE Web Application with
Eclipse in 90 MinutesJason Sholl, IBMLawrence
Mandel, IBM
2Agenda
- Eclipse Web Tools Overview
- Creating a J2EE Application with the Eclipse Web
Tools - Data Access
- Web Services
- Deploying Your Application
- J2EE
- Questions
3Eclipse Web Tools Overview
- Eclipse Web Tools available from
- Eclipse Web Tools Platform (WTP) project
- Extend Eclipse into the domain of J2EE Web
Application Development - Add server runtime environments
- Add Web and J2EE development artifacts
- Provide platform API for tool developers
- Provide core tools for application developers
4Eclipse Web Tools Overview
- The WTP project is comprised of two subprojects
- Web Standard Tools (WST)
- Industry standard, not programming language
specific - HTML, SQL, Web services, XML
- Common tools and frameworks
- Source editing, validation framework, Web browser
and monitor - Java Standard Tools (JST)
- EJB, J2EE including Java Web services
5Eclipse Web Tools Overview
- Web and J2EE Development Artifacts
- HTML, CSS, JS, XML, XSD, WSDL, SQL,
- JSP, J2EE Deployment Descriptors,
- Apply Eclipse franchise functions orthogonally
to WTP artifact types - Code assist
- Syntax highlighting
- Validation
- Quick fixes
- Refactoring
- Semantic search
-
6Creating a J2EE Application with the Eclipse Web
Tools
- Creation of a schedule application
- Allow users to add events to a schedule
- Persist the events
- Access their schedule from the Web and through
applications - Creating the schedule application will entail
- Accessing Data
- Creating the schedule application
- Exposing the schedule using a Web Service
- Deploying the application to a server
7Data Access
- Eclipse Data Tools
- Support standard way of connecting to databases
- Using Java Database Connectivity (JDBC)
- Simplify database creation
- Allow easy access to database contents
- Data Tools currently support the following
databases - DB2
- Derby
- Informix
- MySql
- Oracle
- SQL Server
- Sybase
8Data Access
- Eclipse Web Tools contain
- Connection Wizard
- Aids in connecting to different databases
- Server Explorer
- Explore a database once connected
- Data Browsing View
- Easily view the contents in a database
- SQL Scrapbook
- Run queries against a database
9Data Access
- Connection Wizard Easily create live
connections to a database server using a JDBC
driver - Multi-vendor support
10Data Access
- Server Explorer
- view database elements including tables, views,
stored procedures, and user-defined functions. - Supports both Live and Offline modes
- Dependency constraints indicated
- Browse Data directly from the tables
11Data Access
- Data Browse
- Browse table content from the connected database
server.
12Data Access
- SQL Scrapbook
- A SQL utility/editor which can be used to test
SQL commands to be executed to a connected server
in the Server Explorer.
13Web Services
- Web services benefits
- Allow you to expose your application for reuse in
other applications - Can be used in clients running on any platform
and operating system great for integration! - Web services are built on standards
- From the World Wide Web consortium (W3C)
- WSDL 1.1, XML 1.0, XML Schema 1.1
- Java Community Process (JCP)
- JSR101 (JAX-RPC), JSR109
- Web Service Interoperability (WS-I) Organization
- BP 1.1, SSBP 1.0, AP 1.0, SP 1.0
-
14Web Services
- Eclipse Web Tools provide
- Web services benefits without having to
understand the underlying specifications - Fast, easy creation of Web services
- Simple applications in 1 click!
- Support for top-down and bottom-up scenarios
- Integration of the WS-I test tools
- Industry standard tools to test Web service
interoperability
15Web Services
- Eclipse Web service tools
- Graphical WSDL/XML Schema Editor (authoring)
- XML Schema, WSDL and WS-I validators (authoring)
- Web service wizard (authoring generation)
- Axis 1.2.1 Tooling (deployment)
- Web Services Explorer (testing)
16Web Services
- WS-I Test Tools integration in the Eclipse Web
Tools - Preference for setting the WS-I conformance level
17Web Services
- Graphical WSDL/XSD Editor
- Edit your WSDL file without wrestling with the
syntax
18Web Services
- XML Schema, WSDL, and WS-I validators
19Web Services
- Wizard to create Web service top-down (from WSDL)
and bottom-up (from Java). - Wizard creates a Java stub that binds to a Web
service.
20Web Services
- Publish/Discover Web services.
- Invoke Web services dynamically. No code
generation required for testing.
21Deploying Your Application
- Eclipse Web Tools
- Allow you to deploy your application to a server
- Automatically handles updates to your application
- Simplify server configuration
- Simplify server management
- start, stop, deploy
- Support debugging on the server
- Web Tools currently support the following servers
- Apache Geronimo
- Apache Tomcat
- IBM WebSphere
- BEA WebLogic
- JBoss
- JOnAS
22J2EE
- Enterprise Java Beans
- Non-visual component of a distributed,
transaction-oriented enterprise application. - Typically deployed in EJB containers and run on
EJB servers. - Customizable through deployment descriptors
- Assembled with other beans to create
applications. - Three types of enterprise beans
- Session beans
- Stateful
- Stateless
- Entity beans
- BMPs
- CMPs
- Message-driven beans
23J2EE
- Session Beans
- Non-persistent
- Stateful
- single client and maintains client-specific
session information (called conversational state)
across multiple method calls and transactions. - exists for the duration of a single client/server
session. - Stateless
- does not maintain any conversational state.
- pooled by their container to handle multiple
requests from multiple clients
24J2EE
- Entity Beans
- Contain persistent data and that can be saved in
various persistent data stores. - Each carries its own identity.
- BMP (Bean Managed Persistence)
- manage their own persistence
- CMP (Container Managed Persistence)
- delegate their persistence to their EJB container
25J2EE
- Message Driven Beans
- receive and process JMS messages.
- no interfaces unlike session or entity beans
- accessible only through messaging
- no conversational state.
- allow asynchronous communication between the
queue and the listener - provide separation between message processing and
business logic.
26J2EE
- Enterprise Beans in WTP
- Session MDB supported with XDoclet Annotations
- XDoclet is an open source project enabling
Attribute-Oriented Programming for Java - http//xdoclet.sourceforge.net/xdoclet/
- CMP
- No current wizard support possibly in 1.0 though
not likely until post 1.0. - No current mapping support See the Eclipse EJB
3.0 Object/Relational Mapping Project proposal at
http//www.eclipse.org/proposals/eclipse-ejb30-orm
/index.html
27J2EE
- Servlets
- server-side Java programs
- extend the functionality of a Web server
- generate dynamic content
- responding to Web client requests.
- Could be a self contained program though not
recommended better to spilt logic - Business logic
- EJBs
- Presentation logic
- JSPs HTML
- Protocol logic
- Servlets
28J2EE
- Java Server Pages (JSPs)
- Generate dynamic web content such as HTML, DHTML,
XHTML, and XML files - Ideal for tasks that are better suited to
execution on the server, such as accessing
databases or calling Enterprise Java beans.
29Other Eclipse Web Tools Events
- 1100 1230
- 201 - Interacting With Relational Databases
- 204 - Developing Web Services With Eclipse
- 130 300
- 303 - Java Annotations in Eclipse Enhancing the
JDT Experience - 305 - XML Editing With Eclipse
- 330 500
- 404 - Developing Web Services With the Web Tools
Platform - 915 1045
- 501 - Developing Enterprise JavaBeans With J2EE
Standard Tools - 502 - Web Application Development With Web Tools
Platform, Part I - 1100 1230
- 602 - Web Application Development With Web Tools
Platform, Part II Advanced Topics and Extension
Points - 200 330
- 701 - Building With the Data Tools Project
- 400 530
- 803 - Leveraging Reusable Components in JSF
Tuesday, Aug. 30
Wednesday, Aug. 31
30Other IBM Sessions
- Monday
- T2 Using and Extending the Test and Performance
Tools Platform (TPTP) - Eugene Chan - and Paul Slauenwhite
- Tuesday
- 101 Creating Your First J2EE Web Application
With Eclipse in 90 Minutes - Lawrence Mandel and
Jason Sholl - 102 Developing Applications With the Eclipse
Rich Cliet Platform (RCP) Chris Laffra - 204 Developing Web Services With Eclipse
Arthur Ryman - 301 Power User Central Getting the Most Out of
Your Eclipse Experience Chris Laffra - 304 Using the TPTP Testing, Profiling and
Monitoring Tools - Harm Sluiman - 406 Testing Tools Inside Eclipse Joe Toomey
- Wednesday
- 701 Building With the Data Tools Project
Der-Ping Chou - Also visit us at Booth 103 in the Exhibit Hall
- Demonstrations and information about IBM tools
for and applications using the Eclipse framework - Tuesday 300 730pm (Conference Reception
600 730pm) - Wednesday 1200 400pm (Lunch 1230
200pm)
312005 developerWorks Software Evaluation Kit
Over 14GB of the latest trial software, both
development and testing tools as well as
middleware on DVD and available to you at no
charge!
- Featuring
- New Rational tools Rational Software Architect,
Rational Software Modeler, Rational Application
Developer, Rational Functional Tester and
Rational Web Developer - WebSphere tools WSAD-Integration Edition and
Workplace Client, Micro Edition and HATS Studio - Middleware from WebSphere, Lotus and DB2 (WAS,
Domino, DB2 UDB) - Tivoli Directory Server
- Linux Windows platforms
Visit the IBM booth 103 in the Eclipse World
Exhibit Hall to get your copy today!
32Questions?
- Eclipse Web Tools
- http//www.eclipse.org/webtools
- Newsgroup
- news//news.eclipse.org/eclipse.webtools
- Presenters
- Jason Sholl, jsholl_at_us.ibm.com
- Lawrence Mandel, lmandel_at_ca.ibm.com