wtp server tools open house

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

Upload: gafna

Post on 28-Jan-2016

57 views

Category:

Documents


0 download

DESCRIPTION

WTP Server Tools Open House. Tim deBoer [email protected]. Agenda. Plugins Contributors API Status Quality Current work items. WST Server Plugins. Server Tools Framework org.eclipse.wst.server.core* org.eclipse.wst.server.ui* org.eclipse.wst.server.util - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: WTP Server Tools Open House

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

Tim [email protected]

WTP Server Tools Open HouseWTP Server Tools Open House

Page 2: WTP Server Tools Open House

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

Agenda

Plugins Contributors API Status Quality Current work items

Page 3: WTP Server Tools Open House

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

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

Page 4: WTP Server Tools Open House

4 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

** Contains provisional API

Page 5: WTP Server Tools Open House

5 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

Page 6: WTP Server Tools Open House

6 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

Page 7: WTP Server Tools Open House

7 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

Page 8: WTP Server Tools Open House

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

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

Page 9: WTP Server Tools Open House

9 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

Page 10: WTP Server Tools Open House

10 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

Page 11: WTP Server Tools Open House

11 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

Page 12: WTP Server Tools Open House

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

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

Page 13: WTP Server Tools Open House

13 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

Page 14: WTP Server Tools Open House

14 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

Page 15: WTP Server Tools Open House

15 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.

Page 16: WTP Server Tools Open House

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

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

Page 17: WTP Server Tools Open House

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

Thank you

Questions&

Comments

Page 18: WTP Server Tools Open House

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

Backup

Page 19: WTP Server Tools Open House

19 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, …

Page 20: WTP Server Tools Open House

20 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, …

Page 21: WTP Server Tools Open House

21 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

Page 22: WTP Server Tools Open House

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

Model Overview

Module 1

Module 2

Module 3

Server 1

Server 2

Runtime 1

Server 2

Page 23: WTP Server Tools Open House

23 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

Page 24: WTP Server Tools Open House

24 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.

Page 25: WTP Server Tools Open House

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

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.

Page 26: WTP Server Tools Open House

26 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

Page 27: WTP Server Tools Open House

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

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

Page 28: WTP Server Tools Open House

28 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

Page 29: WTP Server Tools Open House

29 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

Page 30: WTP Server Tools Open House

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

Server type definition file example

.

.<property id="serverRootDirectory"label="Application Server Directory:"type="directory"context="runtime"default="/your_server_root/appservers/jboss-3.2.3" />..

<start><class>org.jboss.Main</class><workingDirectory>${serverRootDirectory}/bin</workingDirectory><programArguments>-c ${serverConfig}</programArguments><vmParameters></vmParameters><classpathReference>jboss</classpathReference>

</start>

Page 31: WTP Server Tools Open House

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

Making sense of the server type definition files

<classpath> : define a classpath used by other elements <start>: information for starting a

server(classpath,class,vmarguments, etc.) <stop>: information used for stopping a server <port>:port(s) to start server on <project>: classpath to provide when creating a project for this

runtime <module>: information for each supported modules, such as

publisher and type <publisher>: data used by different publishers when publishing to

this server <property>:define variable data to be collected from user

Page 32: WTP Server Tools Open House

32 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

Page 33: WTP Server Tools Open House

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

UI example

<property id="jonasRoot"label="JonAS Installation Directory:"type="directory"context="runtime"default="/your_server_root/JOnAS-4.1.4"

/><property id="jonasBase"label="JonAS Configuration Directory:"type="directory"context="runtime"default="/your_server_root/JOnAS-4.1.4"

/><property id="classPath"label="Classpath Variable:"type="directory"context="runtime"default="/your_server_root/JOnAS-4.1.4"

/>

Page 34: WTP Server Tools Open House

34 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...