340 likes | 450 Views
Teaching Web and J2EE Development with Eclipse Free Software and Open Source Symposium. Jeffrey Liu, IBM Lawrence Mandel, IBM. Our Background. Lawrence Mandel Software Developer at IBM Toronto Lab Focus on Web service and XML tools Rational Application Developer
E N D
Teaching Web and J2EE Development with EclipseFree Software and Open Source Symposium Jeffrey Liu, IBM Lawrence Mandel, IBM Eclipse Foundation - www.eclipse.org
Our Background • Lawrence Mandel • Software Developer at IBM Toronto Lab • Focus on Web service and XML tools • Rational Application Developer • Eclipse Web Tools Platform Project • Ecosystem Lead • Work on validators, URI Resolver framework, Cache • Jeffrey Liu • Software Developer at IBM Toronto Lab • Focus on Web services and performance • Rational Application Developer • Eclipse Web Tools Platform Project • Performance Lead • Work on release engineering and Web services 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 • Clean separation of Web and J2EE in subprojects: • Web Standard Tools (WST) • J2EE Standard Tools (JST) • Includes industry standard tools for HTML, XML, Web Services, J2EE, Data • Includes Server tools for integrating application servers, e.g. Tomcat, 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
Translation • IBM delivered language packs for WTP 0.7.1 • Arabic • Czech • French • German • Hungarian • Italian • Japanese • Korean • Polish • Portuguese (Brazil) • Russian • Simplified Chinese • Spanish • Traditional Chinese 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 • Jeffrey Liu - jeffliu@ca.ibm.com • Lawrence Mandel - lmandel@ca.ibm.com Eclipse Foundation - www.eclipse.org