WTP Server Tools Open House Tim deBoer [email protected] © 2005 by IBM; made available under the EPL v1.0 | May 19, 2005

Download Report

Transcript WTP Server Tools Open House Tim deBoer [email protected] © 2005 by IBM; made available under the EPL v1.0 | May 19, 2005

WTP Server Tools Open House

Tim deBoer

[email protected]

© 2005 by IBM; made available under the EPL v1.0 | May 19, 2005

Agenda

     Plugins Contributors API Status Quality Current work items

2

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

3

WST Server Plugins

 Server Tools Framework  org.eclipse.wst.server.core*   org.eclipse.wst.server.ui* org.eclipse.wst.server.util

 Adds notion of a “server” to Eclipse  Starting/stopping servers, publishing, targeting projects, adding & removing modules    Framework for adding new server types Servers view, wizards, editor framework, etc.

Ability to choose resource and Run on Server  Depends only on Eclipse * Contains API WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

WST Internet Plugins

 TCP/IP Monitor  org.eclipse.wst.internet.monitor.core**  org.eclipse.wst.internet.monitor.ui**  Monitor for Web pages, Web services  Shows request from client and the server’s response  Useful for understanding applications, debugging, etc.

  Supports TCP/IP and HTTP View bytes, images, or XML

4

** Contains provisional API WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

WST Internet Plugins

 Web Browser utilities  org.eclipse.wst.internet.webbrowser

 The internal Web browser and support for launching external browsers moved into Eclipse in 3.1M6

 Utilities for the Eclipse browser plugin  Easily switch between browsers, toolbar button to open internal browser

5

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

WST Internet Plugins

 Proxy Settings  org.eclipse.wst.internet.proxy

 Manage internet proxy configuration and JRE properties  Preference page   HTTP proxy servers and firewalls Authenticating proxy servers   SOCKS Likely to move to Eclipse 3.2

6

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

WST Internet Plugins

 Internet Cache  org.eclipse.wst.internet.cache

 Caches documents requested from the internet  Currently only used by the XML resolver

7

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

8

JST Server Plugins

 J2EE server utilities  org.eclipse.jst.server.core*  org.eclipse.jst.server.ui

 Generic Server support  org.eclipse.jst.server.generic.core*  org.eclipse.jst.server.generic.serverdefinition

 org.eclipse.jst.server.generic.ui

 Adds support for J2EE servers to be defined using plain XML files  No code required, add support for a new server in minutes  .serverdefinition plugin contains adapters for WebLogic, JONaS, and JBoss WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

JST Server Plugins

 Apache Tomcat Server support  org.eclipse.jst.server.tomcat.core

 org.eclipse.jst.server.tomcat.ui

 Apache Geronimo Server support  org.eclipse.jst.server.geronimo.core

 org.eclipse.jst.server.geronimo.ui

9

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Server Tools Contributors

      Gorkem Ercan  Generic server support and adapters for JONaS, WebLogic, JBoss Larry Isaacs (SAS)  Tomcat support Tim deBoer (IBM)  Server Tools framework, TCP/IP monitor, Tomcat support Elson Yuen (IBM)  Server Tools framework Ted Bashor, Thomas Yip, Konstantin Komissarchik (BEA)  Server Tools API Tim Francis (IBM)  Geronimo support

10

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

API Status

 Done! … almost  API is basically ready to go. Based on past experience we’re reasonably comfortable with the current content  Reasonable validation through several servers and API users in WTP  BEA and IBM are both in the process of validating the API internally  Provisional APIs:  TCP/IP Monitor  Parts of server tools relating to features WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

11

Quality

 Initial code contribution was shipped in previous products. Although it has undergone lots of cleanup and refactoring since then, much of the code is still stable  We’ve been fixing bugs continuously to keep the code relatively stable throughout  Bugs have been slowing growing – 30 currently on queue  Still some work to do to get ship-ready

12

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Current Work Items - Assembly

 Each server type has it’s own requirements on assembly  Does it happen on build or on publish?

 Do utility projects get jarred up? Does complete EAR file get created?

 The current .deployables directory is server specific and should not be in the workspace  Working with J2EE team and BEA to define an assembly mechanism  Provide support to assemble modules in .metadata

  Assembly can be done via a builder or as part of a publish Everything is under the server’s control

13

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Current Work Items - Features

 Proposal from BEA to enable/disable fine grained features on a module/component  Allows better control over classpath, UI, and which servers support a module that has extensions  Recently deferred to 1.1

 Marking affected classes as provisional API  Still investigating to keep options open and migration low

14

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

For more information

 Component overviews  Overviews exist for all three components (wst.internet, wst.server, jst.server) on the WTP website   Some documentation about specific function:   Run on Server Generic servers EclipseCon presentation  API – javadoc in code or in online help  Bugzilla  Feel free to open enhancement requests for unclear javadoc, further documentation you’d like to see, etc.

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

15

Help Needed

  We’re not done yet!

If you are planning on using or building on WTP, we can use your help with:  API review     Bug fixes Testing JUnit tests Feedback

16

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Thank you Questions & Comments

17

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Backup

18

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

What exactly is Server Tools?

 Sub-component of WTP in both WST and JST  Server Tools provides:  Targeting applications to a specific server     Adding & removing projects from servers Publishing applications to a server Starting & stopping servers Implementations for specific servers:  Tomcat, JBoss, …

19

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Server Tools Components

  The server tools framework supports any server, not just J2EE Support in both of the WTP subprojects:  wst.server

 Server Tools framework (.server.core)  Server Tools UI (.server.ui)  jst.server

 J2EE server tools (.server.*)   Generic J2EE server framework (.server.generic.*) Tomcat, JBoss support, …

20

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Users of Server Tools APIs

    Server Providers  Add support for additional servers  E.g. Tomcat, JBoss Module Providers  Add additional module types and Run on Server support  E.g. J2EE Tools Client App Providers  Provide clients for Run on Server  E.g. Web browser Client Users  Use API to configure and launch servers, check runtime target, etc.

 E.g. Web Services, DD editors WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

21

Model Overview

Module 1 Module 2 Module 3 Server 1 Server 2 Server 2 Runtime 1

22

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Modules

  A module is content that can be deployed to a server Typically a project or folder (e.g. Web module) within the workspace, but can consist of anything  Extension Points:  moduleTypes  Define a new type of module  moduleFactories  Provide factory for creating and discovering modules of a specific type  Provides module delegates with a specified interface

23

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Runtimes

 A runtime is an installed server on the local hard-drive  Executables, Jar files, etc.

 Used for build-time compilation, validation  Extension points:  runtimeTypes  Define a new type of runtime and delegate class  runtimeLocator  Automatically locate new runtimes on disk  runtimeTargetHandler  Change what happens when a project (containing modules) is targeted to a particular runtime  Modify classpath, validation, etc.

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

24

Servers

 A server is an instance of (handle to) a real server  Add & remove modules   Publish modules Usually supports starting & stopping  Often based on a local runtime  Extension points:  serverTypes   Define a new type of server and delegate classes Handles publishing, starting & stopping server, etc.

25

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Run on Server support

 Run > Run on Server menu item allows users to quickly choose/create a server and run module  Allows user to choose or create a server  Starts server, publish  Launches client application (e.g. Web browser)  To enable on a selection:  Adapt object to ILaunchable to make Run menu appear (via Eclipse debug support)  ModuleArtifactAdapter extension point provides enablement support  Adapt object to IModuleArtifact   Each server provides support via launchableAdapter ext. point Clients (e.g. Web browser) can add support via clients ext. point WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

26

UI Support

   Provided by org.eclipse.wst.server.ui

Servers view for creating and configuring servers Preferences and property pages, etc.

 Extension points:  images  Provide images for runtimes, servers, etc.

 editorPages and editorPageSections  Provide sections and pages for the server editor  wizardFragments  Provide pages to appear when servers are created

27

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Generic Server Introduction

    Extension to WTP server tools  RuntimeTypes  ServerTypes Design has its roots from Lomboz, Community already familiar with its use A special server and runtime that can adjust behaviour  Server type definition files determine behaviour

28

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Server type definiton file

      XML based meta information Validated against an XSD Introduced using “org.eclipse.jst.server.generic.core.serverdefinition” extension Virtually two parts  Properties  Derived information Properties are variables that users provide values using server tooling UI Derived info is information used by the generic server to perform server tooling functionality

29

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Server type definition file example

.

.

.

.

org.jboss.Main ${serverRootDirectory}/bin -c ${serverConfig} jboss WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

30

Making sense of the server type definition files

        : define a classpath used by other elements : information for starting a server(classpath,class,vmarguments, etc.) : information used for stopping a server :port(s) to start server on : classpath to provide when creating a project for this runtime : information for each supported modules, such as publisher and type : data used by different publishers when publishing to this server :define variable data to be collected from user

31

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Using metadata for UI

   Property type determines the type of widget used Context determines whether this is a server or runtime property Currently 4 types are supported  Directory    String Boolean File

32

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

UI example

33

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0

Generic publishers

       Handles publishing modules to servers Only part where you may need to code Introduced using

org.eclipse.jst.server.generic.antpublisher

extension point Extend GenericPublisher class It is optional you may choose to use an existing publisher ANT build file based publisher is available part of the core package More general publishers to come...

34

WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v1.0