WTP Server Tools Open House Tim de Boer
WTP Server Tools Open House Tim de. Boer deboer@ca. ibm. com © 2005 by IBM; made available under the EPL v 1. 0 | May 19, 2005
Agenda § § § 2 Plugins Contributors API Status Quality Current work items WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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 3 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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 4 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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. 1 M 6 § 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 v 1. 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 v 1. 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 v 1. 0
JST Server Plugins § J 2 EE 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 J 2 EE servers to be defined using plain XML files § No code required, add support for a new server in minutes §. serverdefinition plugin contains adapters for Web. Logic, JONa. S, and JBoss 8 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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 v 1. 0
Server Tools Contributors § Gorkem Ercan § Generic server support and adapters for JONa. S, Web. Logic, JBoss § Larry Isaacs (SAS) § Tomcat support § Tim de. Boer (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 v 1. 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 11 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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 12 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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 J 2 EE 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 v 1. 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 v 1. 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 § Eclipse. Con 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. 15 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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 16 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 0
Thank you Questions & Comments 17 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 0
Backup 18 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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 v 1. 0
Server Tools Components § The server tools framework supports any server, not just J 2 EE § Support in both of the WTP subprojects: § wst. server § Server Tools framework (. server. core) § Server Tools UI (. server. ui) § jst. server § J 2 EE server tools (. server. *) § Generic J 2 EE server framework (. server. generic. *) § Tomcat, JBoss support, … 20 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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. J 2 EE 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 21 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 0
Model Overview Module 1 Server 1 Runtime 1 22 Module 2 Server 2 Module 3 Server 2 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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: § module. Types § Define a new type of module § module. Factories § 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 v 1. 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: § runtime. Types § Define a new type of runtime and delegate class § runtime. Locator § Automatically locate new runtimes on disk § runtime. Target. Handler § Change what happens when a project (containing modules) is targeted to a particular runtime § Modify classpath, validation, etc. 24 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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: § server. Types § 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 v 1. 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) § Module. Artifact. Adapter extension point provides enablement support § Adapt object to IModule. Artifact § Each server provides support via launchable. Adapter ext. point § Clients (e. g. Web browser) can add support via clients ext. point 26 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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. § editor. Pages and editor. Page. Sections § Provide sections and pages for the server editor § wizard. Fragments § Provide pages to appear when servers are created 27 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 0
Generic Server Introduction § Extension to WTP server tools § Runtime. Types § Server. Types § 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 v 1. 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 v 1. 0
Server type definition file example. . <property id="server. Root. Directory" label="Application Server Directory: " type="directory" context="runtime" default="/your_server_root/appservers/jboss-3. 2. 3" />. . <start> <class>org. jboss. Main</class> <working. Directory>${server. Root. Directory}/bin</working. Directory> <program. Arguments>-c ${server. Config}</program. Arguments> <vm. Parameters></vm. Parameters> <classpath. Reference>jboss</classpath. Reference> </start> 30 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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 31 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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 v 1. 0
UI example <property id="jonas. Root" label="Jon. AS Installation Directory: " type="directory" context="runtime" default="/your_server_root/JOn. AS-4. 1. 4" /> <property id="jonas. Base" label="Jon. AS Configuration Directory: " type="directory" context="runtime" default="/your_server_root/JOn. AS-4. 1. 4" /> <property id="class. Path" label="Classpath Variable: " type="directory" context="runtime" default="/your_server_root/JOn. AS-4. 1. 4" /> 33 WTP | Server Tools Open House | © 2005 by IBM; made available under the EPL v 1. 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 Generic. Publisher 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 v 1. 0
- Slides: 34