Eclipse Web and J2EE Development
E N D
Presentation Transcript
Eclipse Web and J2EE Development Lawrence Mandel, IBM Eclipse Foundation - www.eclipse.org
My Background • Software Developer at IBM Toronto Lab • Focus on Web Service and XML Tools • Rational Application Developer V6 • WebSphere Studio Application Developer V5 • Eclipse Web Tools Platform Project • Ecosystem Lead • Work on validators, URI Resolver framework, Cache • Committer on Apache Woden Project • Building a WSDL 2.0 validating parser Eclipse Foundation - www.eclipse.org
J2EE Scenario • Java class accesses data from a database • Java class exposed as a Web service Eclipse Foundation - www.eclipse.org
Agenda • Overview • Demo of the Web and J2EE Tools • Extending the Web Tools Platform • Call for Participation • Q&A Eclipse Foundation - www.eclipse.org
Overview • Historically Eclipse is a Java IDE • Eclipse Web Tools Platform (WTP) project • formally launched in June 2004 • Extends the Eclipse Platform with tools and APIs for Web and J2EE application development • WTP has two subprojects: • Web Standard Tools (WST) • J2EE Standard Tools (JST) • Includes tools for HTML, XML, Web Services, J2EE, Data • Includes Server tools for integrating application servers, e.g. Tomcat, Geronimo, JBoss, WebSphere, WebLogic Eclipse Foundation - www.eclipse.org
WTP Subproject Scopes WST HTML, XML, XSLT, CSS, JS, WSDL, SOAP, UDDI JST Servlet, JSP,EJB, JAX-RPC,JDBC, JAXP, JSF, J2EE IETFW3COASISWS-IECMAANSI JCP De Jure Standards SQL JDO Web Technologies Java Technologies PHP Struts Hibernate Spring Apache ObjectWeb SourceForge De Facto Standards Eclipse Foundation - www.eclipse.org
WTP Support and Collaboration • WTP has support of companies, organizations, academia • BEA, IBM, Oracle, JBoss, ObjectWeb, UBC, UofT • WTP collaborates with other open projects and standards bodies • Apache, W3C, WS-I • In fact, the WS-I Java test tools are developed by WTP Eclipse Foundation - www.eclipse.org
WTP Roadmap • WTP 0.7, July 2005 – End User Tools • WTP 1.0, December 2005 – Platform APIs • WTP 1.5, June 2006 – Java EE 5.0 Eclipse Foundation - www.eclipse.org
new! Demo • Stage 1: expose existing Java class as Web service • Stage 2: modify Java class to retrieve data from database • Stage 3: modify Web service interface Eclipse Foundation - www.eclipse.org
The Web and J2EE Tools • There are several different types of development tools for Web and J2EE development • Relational Database • XML • Web Services • Server • J2EE Eclipse Foundation - www.eclipse.org
Relational Database Tools • Connection Wizard • Easily create live connections to a database server using a JDBC driver • Multi-vendor support • Apache Derby • MySQL • DB2 Eclipse Foundation - www.eclipse.org
Relational Database Tools • 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 Eclipse Foundation - www.eclipse.org
Relational Database Tools • 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. Eclipse Foundation - www.eclipse.org
XML Tools • XML and XSD graphical editors • Assisted editing of XML content • Constraints enforced • Concise overview of documents Eclipse Foundation - www.eclipse.org
XML Tools • XML Catalog • Customize XML resource resolution • Based on OAGIS XML Catalog standard • Add DTD, XSD, or any XML resource (WSDL, XSL, etc.) Eclipse Foundation - www.eclipse.org
Web Service Tools • Graphical WSDL/XSD Editor • Edit your WSDL file without wrestling with the syntax • Visual overview of Web service Eclipse Foundation - www.eclipse.org
Web Service Tools • XML Schema, WSDL, and WS-I validators • Ensure your documents conform to standards (WSDL, XSD) and standard extensions (WS-I) Eclipse Foundation - www.eclipse.org
Web Service Tools • WS-I Test Tools integration in the Eclipse Web Tools • Preference for setting the WS-I conformance level Eclipse Foundation - www.eclipse.org
Web Service Tools • 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. • Wizard can optionally configure test client and deployment of your Web service Eclipse Foundation - www.eclipse.org
Web Service Tools • Web Service Explorer • Publish/Discover Web services. • Invoke Web services dynamically. No code generation required for testing. Eclipse Foundation - www.eclipse.org
Server Tools • Server runtime preference page • Add multiple runtimes • Multi-vendor support • Apache Tomcat, JBoss, JoNAS, WebSphere Eclipse Foundation - www.eclipse.org
Server Tools • Server control view • Start, stop, publish, debug, configure servers • Shows current server state Eclipse Foundation - www.eclipse.org
J2EE Tools • New Web project wizard • Select server • Select J2EE version • Customize environment Eclipse Foundation - www.eclipse.org
J2EE Tools • New Servlet wizard • Manage deployment descriptor • Create Servlet class Eclipse Foundation - www.eclipse.org
J2EE Tools • EJB preference page and wizard • Uses XDoclet Eclipse Foundation - www.eclipse.org
Extending the Web Tools Platform • WTP is a platform that allows for extension • Some interesting WTP extension points • Server • Structured Source Editing Eclipse Foundation - www.eclipse.org
Server Extensions • Server Tools • Comes with server adapters for Tomcat, etc. • Extension points allow you to… • add other server adapters • Useful to… • Create adapters for servers with no current adapter • e.g. Apache Web Server • Create adapters for custom servers • e.g. those created as part of course work Eclipse Foundation - www.eclipse.org
Structured Source Editing Extensions • Structured Source Editing (SSE) • Editing framework for XML-like file types (XML, JSP, HTML) • Extension points allow you to… • Add custom context actions, content assist, syntax highlighting, as-you-type validation to editors • Configure property page and outline views • Receive notifications of model changes and perform custom synchronization between model type (eg. EMF and DOM) • Useful to… • Create new XML-like editors – e.g. XSL, DocBook, ASP • Customize existing editors by adding function – e.g. new format or snippet options, publish to blog Eclipse Foundation - www.eclipse.org
Additional API and Extension Points • Some additional API and extension points defined for: • Common • Add custom validators • Web services • Customize the Web services wizard • Allow for addition of steps in Web service creation • Create Web service deployment for another language, e.g. PHP • Add support for new binding types to WSDL editor and validator • J2EE • Add custom steps to artifact import and creation • Data • Add custom database definitions and wizard pages • XML • Add actions to graphical XML and XSD editors • Add entries to XML catalog Eclipse Foundation - www.eclipse.org
Call for Participation • Become a user and tell your friends and colleagues • Test and report bugs • Write tutorials, articles • Fix bugs • Contribute enhancements • Become a committer • Develop plug-ins based on WTP • Develop Web and J2EE Curriculum • Create research projects that extend or use WTP • Volunteer for the WTP usage study • Participate at EclipseCon 2006 • http://www.eclipsecon.org Eclipse Foundation - www.eclipse.org
Eclipse WTP Usage Study • Goals: • Improve Eclipse IDE user experience • Improve organization of commands in Eclipse base and Eclipse-based projects • Minimal commitment: • Simply use Eclipse WTP for your daily work • About 10 minutes / week to upload data • Data collected: • Edits, navigations, commands, but no identifying information • For more information: http://www.cs.ubc.ca/~lkf/wtpStudy/ or contact Leah Findlater: lkf@cs.ubc.ca Eclipse Foundation - www.eclipse.org
Q&A • Questions? Eclipse Foundation - www.eclipse.org
More information is available from… • WTP websitehttp://www.eclipse.org/webtools • WTP newsgroupnews://news.eclipse.org/eclipse.webtools • WTP Community Resources (articles, tutorials, events)http://www.eclipse.org/webtools/community/community.html • Lawrence Mandel lmandel@ca.ibm.com Eclipse Foundation - www.eclipse.org