WTP Server Tools Open House Tim deBoer [email protected] © 2005 by IBM; made available under the EPL v1.0 | May 19, 2005
Download ReportTranscript 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
© 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
.
.
.
30
Making sense of the server type definition files
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