Welcome to:
WebSphere Studio Application Developer Overview
© Copyright IBM Corporation 2004 Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
3.1
Unit Objectives After completing this unit, you should be able to: Describe role-based development Describe the WebSphere Studio family of tools State the role of WebSphere Studio Workbench in the WebSphere Studio tools Describe basic features of WebSphere Studio Application Developer Describe the major sets of tooling provided by WebSphere Studio Application Developer
© Copyright IBM Corporation 2004
Roles-based Development Developing Web Applications requires more than just writing Java code Role Enterprise Integrator
Bean Provider
Workarea
Connection Data
Business Logic Data
Products
JavaBeans EJBs
Tool
JavaBeans EJBs
Application Assembler
Page Producer
Web Master
Application Flow
Page Layout and Content
Operational Environment
Servlets, JSPs, JavaBeans
HTML, JSPs, MIME Types
Configuration Data, Site Usage Metrics
WebSphere Studio Tooling One tool, many user perspectives
© Copyright IBM Corporation 2004
Development Environment Goals Create a new Development Environment that will: Be based on a new open, highly pluggable platform Unified by a new tooling platform Provide multilevel vendor integration
Provide a role-based development model where the assets are the focus, not the tool Provide a common repository solution for all assets and tools Provide rapid support for new standards and technologies For example, Web Services
© Copyright IBM Corporation 2004
IBM WebSphere Studio Family Provide a sturdy Web/Java development platform in the industry Open tooling and run-time support Open programming model Provide in-depth Enterprise connectivity EJB/J2EE Tooling Enterprise Connectivity/Enterprise Access Builders Provide integrated end-to-end development Built-in Unit Test Environment Incremental compilation Flexible debugging support Provide a Team Development solution Integrated version control
© Copyright IBM Corporation 2004
Family Contents WebSphere Studio Products (V5) : WebSphere Studio Application Developer (includes all of Site Developer functionality Focused on development of Web Services, JSPs, Servlets, XML and J2EE and database applications in a team environment
WebSphere Studio Enterprise Developer Includes all of Application Developer functionality Focused on Enterprise Integration using the J2EE Connector Architecture Supports integrated development of z/OS based CICS, IMS and batch applications
© Copyright IBM Corporation 2004
WebSphere Studio Workbench Workbench is: Not a tool, not a product, not for sale A portable, universal tool platform and integration technology The basis for an open source project Workbench has: Frameworks and services that enable tool builders to focus on tooling building Tools to help tool builders build tools Java Development Tools (JDT) Plug-in Development Environment (PDE)
© Copyright IBM Corporation 2004
WebSphere Studio Workbench Rationale End-users (Web application developers) No more on-site integration, tools just work together Common, easy-to-use interface Common code, project, file management system Same tool platform regardless of development role Same look and feel regardless of tool vendor Tool Builders Seamless integration and interoperability with IBM AD tools and WebSphere Software Platform Seamless integration with other Workbench tools Enterprise ready, off the shelf Globalization, distributed debug, Team, SCM
Easy construction and deployment platform for tools Open access to source code and tool provider community
© Copyright IBM Corporation 2004
WebSphere Studio Application Developer
Start the WebSphere Studio Application Developer Start -> Programs -> IBM WebSphere Studio -> Application Developer 5.1 Workbench opens when you launch Application Developer Within the workbench -- open the perspectives, views, and editors © Copyright IBM Corporation 2004
Terminology Editor
Shortcut Bar
Navigator Pane Source Pane
Outline Pane
Task Sheet
Views
© Copyright IBM Corporation 2004
Perspectives A group of related views and editors To open a Perspective: Select via Window -> Open Perspective Some Perspectives: Java: to develop and test Java programs Server: to configure, run, and manage test servers Debug: to control debug flow, see variables, and so forth
© Copyright IBM Corporation 2004
Views A view displays specialized information. For example: Bookmarks view displays all bookmarks in workbench. A view might appear alone in a single pane, or several views might be stacked within a single tabbed pane. Views can be undocked/docked from the main workbench window. Information updates on a view are saved immediately. View toolbars apply only to the particular view in which they appear.
© Copyright IBM Corporation 2004
Editors An editor is used to edit or browse a resource. Modifications made in the editor follow an open-save-close life cycle. An editor can contribute to the Workbench menu bar. Examples: Java Source Editor Web Deployment Descriptor Editor Web Site Configuration Editor JSP Editor WSDL Editor
© Copyright IBM Corporation 2004
Online Help To learn more on Workbench, select Help ->Help Contents) Select Application Developer information Select Getting Started Select Workbench Fundamentals and Tutorial: Workbench Basics
© Copyright IBM Corporation 2004
Cheat Sheets Guide developer through an application development process Sequence of documented steps with relevant documentation Displayed in workbench pane Task-related tools are automatically launched or have launch icons in cheat sheet Launched via Help Cheat Sheets
© Copyright IBM Corporation 2004
Application Developer Design Points Performance Customizable Perspectives Promote role-based development (Web Developer, Java Developer, DBA, and so forth) Reduces the learning curve Perspectives use same project artifacts regardless of perspective being used Pluggable development environment Java and ActiveX plug-in support IBM and ISVs use same plug-in architecture to extend the Workbench Support for automated builds Apache.org "Ant" support Command-line EJB generation
© Copyright IBM Corporation 2004
Tooling Java IDE J2EE Tooling Portlet Tooling Data Tooling Web Tooling XML Tooling Performance / Trace Tooling Team Development Tooling Web Services Tooling
© Copyright IBM Corporation 2004
Java IDE (1 of 3) Ships with SDK 1.3 Pluggable JRE Support Defined at project and workbench level Hot Method Replace Dynamically replace Java classes during debug Enabled when Application Server V5 runs in debug mode Java Snippet Support (Scrapbook) Task Sheet (All Problems Page) Code Assist Refactoring Support Rename/move support for method/class/package Fix all dependencies for renamed element With and without preview
© Copyright IBM Corporation 2004
Java IDE (2 of 3) Faster IDE Smart Compilation No lengthy compile/build/run steps Pluggable Framework, in-placetool launching Running class/code with errors Precise reference searching Text and Java-based JDI-based debugger for local/remote debugging Run code with errors Multiple test environments can be configured J2EE WAR/EAR Deployment
© Copyright IBM Corporation 2004
Java IDE (3 of 3) UML Class Diagram Editing and Visualization Support for Java classes and EJB components Diagrams generated from existing classes/components New diagrams built and used to develop corresponding component Typical Class Diagram Editor operations: Create classes, packages, and interfaces Create extends and implements relationships Create methods and fields Refactor components Add EJB relationships Add EJBQL queries Add CMP fields to a primary key UML Class Diagrams can be exported
© Copyright IBM Corporation 2004
J2EE Tooling (1 of 2) J2EE 1.3 EJB 2.0 Support Servlet 2.3, JSP 1.2 Support J2EE Perspective provides views and editors for EJB/Servlet/JSP Developer Object-relational Mapping for EJBs Top-down/Bottom-up/Meet-in-the-middle All metadata exposed as XMI No hidden metadata EAR and WEB Deployment Descriptor Editors Forms-based (no need to directly edit XML) Source view also available Struts Support Web Diagram visual editor for application design © Copyright IBM Corporation 2004
J2EE Tooling (2 of 2) Connector Projects J2EE Connector Architecture (JCA) based EJB Test Client – Universal Test Client HTML-based J2EE programming model Built-in JNDI registry Browser Unit Test Environment for J2EE WebSphere Application Server V4 or V5 and Apache Tomcat Create multiple projects with different Server configurations/instances Allows for versioning of unit test environment Share Unit Test Environment Configuration across developer
© Copyright IBM Corporation 2004
Portlet Tooling Wizards to create Portlet Application Management of Deployment Descriptors web.xml portlet.xml Multiple portlets per application Integrated development and test environment Full use of debugger Test on remote server or integrated unit test environment Export deployable WAR file
© Copyright IBM Corporation 2004
Data Tooling (1 of 2) Data Perspective Provides views geared for DBAs to:
Create Databases Create Tables/Views/Indexes/Keys Generate DDL Connect to and view existing relational database objects
Online and off-line support for working with databases Metadata generated as XMI
SQL Query Builder and SQL Wizards Visually construct SQL statements
SELECT, INSERT, UPDATE, DELETE supported
Metadata generated as XMI SQL/XML mapping
© Copyright IBM Corporation 2004
Data Tooling (2 of 2) DB2 Stored Procedures Create / Build and Register/ Debug / Drop a stored procedure or User Defined Function (UDF) SQL or Java-based SQLJ Files Create / Build / Debug SQLJ Workbench runs SQLJ translator and builds Java files
© Copyright IBM Corporation 2004
Web Tooling (1 of 2) Web Site Designer Provide site-level views of Web project Graphical and detail tabular views of site structure Page Designer Provides page-level view of Web project components HTML and JSP editing WYSIWYG page design, source editing and page preview Choice of static or dynamic Web project Appropriate tool support loaded at project creation time Palette View Provides drawers of useful items for HTML and JSP creation Items are dropped and dragged onto page editor
© Copyright IBM Corporation 2004
Web Tooling (2 of 2) Multiple markup types (WML, cHTML) and pervasive device support Built in Servlet, Database, and JavaBean Wizards Built-in JSP Debugging Site Style Sheet and Page Template Support Links View View HTML/JSP and all links reference in page Parsing and link management updates link when resources are renamed or moved Jakarta JSP Taglibs Specify in project Properties or New…Project to include Available: Standard Tag Library (JSTL), accessing JSP objects, database access, internationalization, utilities
© Copyright IBM Corporation 2004
XML Tooling (1 of 3) XML Tooling provides integrated tools/perspectives to create XML based components: XML Source Editor DTD/Schema validation Code Assist for building XML documents
DTD Editor Visual tooling for working with DTDs Create DTDs from existing documents Generate an XML Schema from a DTD Generate JavaBeans for creating/manipulating XML documents Generate an HTML form from a DTD
XML Schema Editor
Visual tooling for working with an XML Schema
© Copyright IBM Corporation 2004
XML Tooling (2 of 3) XSL Editor Edit/create and validate XSL XSL Debug and Transformation Tool Trace XSL transformation Examine relationships between the result node, the template rule, and the source node XML to/from Relational Databases Generate XML, XSL, XSD from an SQL Query RDB/XML Mapping Editor Map columns in a table to elements and attributes in an XML document Generate a Database Access Definition (DAD) script to compose/decompose XML documents to/from a database DAD is used with DB2 XML Extender
© Copyright IBM Corporation 2004
XML Tooling (3 of 3) XPath Expressions Wizard Create XPath expressions XML to XML Mapping Editor Map one on more source XML files to a single target
© Copyright IBM Corporation 2004
Performance/Trace Tooling Built-in tooling helps developer isolate and fix performance problems with their Web application Profiling and Logging Perspective allows developers to: Attach to local/remote agents for capturing performance data JVM Monitoring Heap Stack Class/Method details Object References
Resource Monitors Execution patterns CPU usage Disk usage
© Copyright IBM Corporation 2004
Team Development Workbench integration occurs through a pluggable, adapter-based design: A published framework API allows any SCM provider to add an adapter to integrate their SCM into the Workbench Application Developer ships with CVS Plugin ClearCase LT Plugin
© Copyright IBM Corporation 2004
Web Services Tooling (1 of 2) Tools to Construct Web Services: Discover
Browse UDDI registry to locate Web Service (Web Services Explorer) Generate JavaBean proxy for existing Web Services
Create / Transform
Create new Web Services from JavaBeans, databases
Build
Wrap existing artifacts such as SOAP and HTTP GET/POST accessible services Generate Java client proxy to Web Services
Maintain Web Services Description Language (WSDL) files (WSDL Editor)
Create new WSDL files Create ports, port types, messages, bindings, operations, types within WSDL files Validate new and existing WSDL files
© Copyright IBM Corporation 2004
Web Services Tooling (2 of 2) Tools to Construct Web Services: Deploy
Deploy Web Services to WebSphere or Tomcat Servers
Test
Built-in test client allows for immediate testing of local and remote Web Services
Publish Publish Web Services to a UDDI Registry
© Copyright IBM Corporation 2004
Standards Support EJB 2.0 J2EE 1.2 and 1.3 Servlet 2.3 JSP 1.2 JRE 1.3 Web Services Definition Language (WSDL) 1.1 Web Servers Interoperability (WS-I) Basic Profile 1.0 Apache SOAP 2.3 XML DTD 1.0 10/2000 Revision XML Namespaces 1/99 Version XML Schema 5/2001 Version HTML 4.01 (other levels should work) CSS2 (PageDesigner displays a subset) © Copyright IBM Corporation 2004
Review Name some of the roles in Web application development. What is the name of the Application Developer perspective you would usually use for EJB development? Compare and contrast View, Editor, and Perspective. Name the SCM tools that ship with Application Developer.
© Copyright IBM Corporation 2004
Unit Summary Having completed this unit, you should be able to see: The concept of Role-Based Development The WebSphere Studio Family The WebSphere Studio Workbench in the context of WebSphere Studio products Basic features of WebSphere Studio Application Developer Major tooling sets provided by WebSphere Studio Application Developer
© Copyright IBM Corporation 2004