SlideShare a Scribd company logo
Gorkem Ercan – Nokia EclipseCon 2006 Implementing Generic Servers
What is Generic Server Framework Easiest way to add server support to WTP No coding A special server and runtime that can adjust behavior  Server type definition files determine behavior Uses WTP server tool extensions RuntimeTypes ServerTypes Provides UI support Server type definition file driven
Extensions - Runtime type Extension: org.eclipse.wst.server.core.runtimeTypes Implementation: org.eclipse.jst.server.generic.core.internal.GenericServerRuntime
Extensions – Server Type Extension: org.eclipse.wst.server.core.serverTypes Implementation: org.eclipse.jst.server.generic.core.internal.GenericServer behaviourClass: org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour
Extensions - UI Extension: org.eclipse.wst.server.ui.wizardFragments Implementation(Server): org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment Implementation(Runtime): org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment
Extensions - Classpath Extension: org.eclipse.jst.server.core.runtimeClasspathProviders Implementation: org.eclipse.jst.server.generic.core.internal.GenericServerRuntimeTargetHandler
Extension – Server definition file org.eclipse.jst.server.generic.core.serverdefinition Also remember other server extension points Server Images - org.eclipse.wst.server.ui.serverImages Facet runtimes - org.eclipse.wst.common.project.facet.core.runtimes Facet images- org.eclipse.wst.common.project.facet.ui.images Facet mappings - org.eclipse.jst.server.core.runtimeFacetMappings
Generic Publishers Handles publishing modules to servers for generic servers Introduced using  org.eclipse.jst.server.generic. generic publisher  extension point You do not need one for basic scenarios use ANT build file based publisher that is part of WTP Simple API  extend org.eclipse.jst.server.generic.core.internal.GenericPublisher class See org.eclipse.jst.server.generic.core.internal.publishers.AntPublishe
.serverdef file explained XML based meta information about the server Introduced using  “org.eclipse.jst.server.generic.core.serverdefinition ” extension Two parts Properties Derived server information Properties are variables that users provide values using server tools UI Derived server information used by the generic server to enable functionality
Properties to collect user data Properties determine the generic server user interface for collecting user data.  Has following mandatory properties id:  unique value to refer to property later in the file label:  User friendly alias for the property. This is value is diplayed to users.  type:  determines the type of GUI to use. The allowed values,  "string"  renders a text widget,  "boolean"  renders a check box,  "directory"  renders a file path dialog,  "file"  renders a file dialog. “select” renders a Combo.  context: Determineds whether the property is part of server runtime or a server instance.  default:  This is the initial value presented to user.
Property example
Classpath definitions Can be consumed by different sections of the server definition. start, stop project build path Contains following attributes id:  identified by this in the framework archive and path:  points either to a directory or a java library that will be a part of the classpath.  Project classpaths are determined by the project element
Info that starts/stops used to define parameters to launch and stop a server, two launch kinds java launch external launch.  determined by the launch configuration in the definition of the server type.  These attributes are common to both launch types workingDirectory:  directory in which the application server starts.  programArguments:  Specific values that the server is expecting  environmentVariable:  These are the  name  and  value  pairs for environment variables
A java launch In addition to common attributes the following is required mainClass  Name of the class with main to start the server vmParameters:  parameters to java virtual machine classpathReference:  classpath definition used to invoke main class
External launch In addition to common attributes the following is required debugPort:  port number eclipse debugger uses to connect  external:  This is the external executable or script that will be used
Publisher It is possible to provide server specific information for initializing the publisher id:  id of the publisher that matches the id int the  plugin.xml  where publisher is defined publisherdata:  value pair that will be passed to publisher
Modules Determines the supported module types and publisher information  Has these attributes type:  The module type, must match the  plugin.xml  value where the module type is defined publishDir:  The directory where published publisherReference:  The id of the generic publisher
Ports the  port  element indicates the ports and the protocols that the server starts  no:  The port number protocol:  The protocol supported by this port name:  User friendly name of the protocol
JNDI Properties The JNDI properties for a server. The  jndiConnection  element is used to provide the jndi information for accessing an application server. providerUrl:  The url to jndi server.  initialContextFactory:  initial context factory class  jndiProperty:  Name, value pairs that may be used for connection
LAB Certain parts of a tomcat generic server plug-in project is commented Commented files are tomcat.serverdef and plugin.xml Search for “***” to discover commented parts.

More Related Content

What's hot (20)

PPTX
Java 8 concurrency abstractions
Nawazish Mohammad Khan
 
ODP
Jquery- One slide completing all JQuery
Knoldus Inc.
 
PDF
.NET Core, ASP.NET Core Course, Session 2
Amin Mesbahi
 
PPTX
The Taverna 2 Platform
Tom Oinn
 
PPTX
VS Saturday 2019 - Xamarin.Forms 4.x
Marco Bortolin
 
PDF
Servlet
Rami Nayan
 
PPTX
Java 8 New features
Son Nguyen
 
PPT
Java components in mule
Harish43
 
ODP
Unit Testing and Coverage for AngularJS
Knoldus Inc.
 
PDF
Java Enterprise Edition
Francesco Nolano
 
PDF
Working with oro crm entities
Oro Inc.
 
PPT
Ant - Another Neat Tool
Kanika2885
 
PPT
Java Server Faces (JSF) - advanced
BG Java EE Course
 
PPTX
Servlets - filter, listeners, wrapper, internationalization
susant sahu
 
PDF
Android Meetup Slovenija #3 - Testing with Robolectric by Ivan Kust
Infinum
 
PDF
Servlets
Ravi Kant Sahu
 
PPTX
Mule java part-4
Ravinder Singh
 
PPTX
Integration Group - Robot Framework
OpenDaylight
 
PDF
Testing Web Apps with Spring Framework
Dmytro Chyzhykov
 
Java 8 concurrency abstractions
Nawazish Mohammad Khan
 
Jquery- One slide completing all JQuery
Knoldus Inc.
 
.NET Core, ASP.NET Core Course, Session 2
Amin Mesbahi
 
The Taverna 2 Platform
Tom Oinn
 
VS Saturday 2019 - Xamarin.Forms 4.x
Marco Bortolin
 
Servlet
Rami Nayan
 
Java 8 New features
Son Nguyen
 
Java components in mule
Harish43
 
Unit Testing and Coverage for AngularJS
Knoldus Inc.
 
Java Enterprise Edition
Francesco Nolano
 
Working with oro crm entities
Oro Inc.
 
Ant - Another Neat Tool
Kanika2885
 
Java Server Faces (JSF) - advanced
BG Java EE Course
 
Servlets - filter, listeners, wrapper, internationalization
susant sahu
 
Android Meetup Slovenija #3 - Testing with Robolectric by Ivan Kust
Infinum
 
Servlets
Ravi Kant Sahu
 
Mule java part-4
Ravinder Singh
 
Integration Group - Robot Framework
OpenDaylight
 
Testing Web Apps with Spring Framework
Dmytro Chyzhykov
 

Similar to Implementing Generic Servers for Eclipse WebTools (20)

PDF
Eclipse plug in development
Martin Toshev
 
PDF
Eclipse & java based modeling platforms for smart phone
IAEME Publication
 
PPT
Introduction To Eclipse RCP
whbath
 
PDF
Building Server-Side Eclipse based web applications
Gunnar Wagenknecht
 
PDF
Project Zero JavaOne 2008
Robert Nicholson
 
ODP
Introduction To The Eclipse Platform
ciukes
 
PPT
7) packaging and deployment
techbed
 
PPT
Java J2EE
Sandeep Rawat
 
PPT
Introduction To Ant
Rajesh Kumar
 
PDF
EclipseCon 2010 - JDT Fundamentals
deepakazad
 
PDF
JDT Fundamentals 2010
Olivier Thomann
 
PPTX
Building Eclipse Plugins
Liran Zelkha
 
PDF
Building Server-Side Eclipse based web applications 2010
Gunnar Wagenknecht
 
PDF
Enterprise Java, Servlet, JDBC and JSP.pdf
PokemonSpyk
 
PPT
Eclipse IDE
Anirban Majumdar
 
PPTX
Writing simple web services in java using eclipse editor
Santosh Kumar Kar
 
PDF
Tomcat + other things
Aravindharamanan S
 
PDF
Introduction to OSGi (Tokyo JUG)
njbartlett
 
PPTX
IBM Websphere introduction and installation for beginners
Shubham Gupta
 
PPT
The Web on OSGi: Here's How
mrdon
 
Eclipse plug in development
Martin Toshev
 
Eclipse & java based modeling platforms for smart phone
IAEME Publication
 
Introduction To Eclipse RCP
whbath
 
Building Server-Side Eclipse based web applications
Gunnar Wagenknecht
 
Project Zero JavaOne 2008
Robert Nicholson
 
Introduction To The Eclipse Platform
ciukes
 
7) packaging and deployment
techbed
 
Java J2EE
Sandeep Rawat
 
Introduction To Ant
Rajesh Kumar
 
EclipseCon 2010 - JDT Fundamentals
deepakazad
 
JDT Fundamentals 2010
Olivier Thomann
 
Building Eclipse Plugins
Liran Zelkha
 
Building Server-Side Eclipse based web applications 2010
Gunnar Wagenknecht
 
Enterprise Java, Servlet, JDBC and JSP.pdf
PokemonSpyk
 
Eclipse IDE
Anirban Majumdar
 
Writing simple web services in java using eclipse editor
Santosh Kumar Kar
 
Tomcat + other things
Aravindharamanan S
 
Introduction to OSGi (Tokyo JUG)
njbartlett
 
IBM Websphere introduction and installation for beginners
Shubham Gupta
 
The Web on OSGi: Here's How
mrdon
 
Ad

More from Gorkem Ercan (10)

PDF
Eclipse demo camp 2016 Toronto
Gorkem Ercan
 
PDF
Hybrid mobile development with Red Hat JBoss developer studio
Gorkem Ercan
 
PDF
Mobile development with JBoss Tools
Gorkem Ercan
 
PPTX
Nokia Uygulama Geliştirme Platfornları
Gorkem Ercan
 
PDF
The More Capable Series 40 Java Platform
Gorkem Ercan
 
PDF
Exploring Mobile UI Technologies of Eclipse
Gorkem Ercan
 
PPT
Developing applications using Embedded Rich Client Platform (eRCP)
Gorkem Ercan
 
PPT
Development With eRCP
Gorkem Ercan
 
PPT
eRCP Overview and Update '06
Gorkem Ercan
 
PPT
eSWT: The new UI toolkit for the mobile java
Gorkem Ercan
 
Eclipse demo camp 2016 Toronto
Gorkem Ercan
 
Hybrid mobile development with Red Hat JBoss developer studio
Gorkem Ercan
 
Mobile development with JBoss Tools
Gorkem Ercan
 
Nokia Uygulama Geliştirme Platfornları
Gorkem Ercan
 
The More Capable Series 40 Java Platform
Gorkem Ercan
 
Exploring Mobile UI Technologies of Eclipse
Gorkem Ercan
 
Developing applications using Embedded Rich Client Platform (eRCP)
Gorkem Ercan
 
Development With eRCP
Gorkem Ercan
 
eRCP Overview and Update '06
Gorkem Ercan
 
eSWT: The new UI toolkit for the mobile java
Gorkem Ercan
 
Ad

Recently uploaded (20)

PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 

Implementing Generic Servers for Eclipse WebTools

  • 1. Gorkem Ercan – Nokia EclipseCon 2006 Implementing Generic Servers
  • 2. What is Generic Server Framework Easiest way to add server support to WTP No coding A special server and runtime that can adjust behavior Server type definition files determine behavior Uses WTP server tool extensions RuntimeTypes ServerTypes Provides UI support Server type definition file driven
  • 3. Extensions - Runtime type Extension: org.eclipse.wst.server.core.runtimeTypes Implementation: org.eclipse.jst.server.generic.core.internal.GenericServerRuntime
  • 4. Extensions – Server Type Extension: org.eclipse.wst.server.core.serverTypes Implementation: org.eclipse.jst.server.generic.core.internal.GenericServer behaviourClass: org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour
  • 5. Extensions - UI Extension: org.eclipse.wst.server.ui.wizardFragments Implementation(Server): org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment Implementation(Runtime): org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment
  • 6. Extensions - Classpath Extension: org.eclipse.jst.server.core.runtimeClasspathProviders Implementation: org.eclipse.jst.server.generic.core.internal.GenericServerRuntimeTargetHandler
  • 7. Extension – Server definition file org.eclipse.jst.server.generic.core.serverdefinition Also remember other server extension points Server Images - org.eclipse.wst.server.ui.serverImages Facet runtimes - org.eclipse.wst.common.project.facet.core.runtimes Facet images- org.eclipse.wst.common.project.facet.ui.images Facet mappings - org.eclipse.jst.server.core.runtimeFacetMappings
  • 8. Generic Publishers Handles publishing modules to servers for generic servers Introduced using org.eclipse.jst.server.generic. generic publisher extension point You do not need one for basic scenarios use ANT build file based publisher that is part of WTP Simple API extend org.eclipse.jst.server.generic.core.internal.GenericPublisher class See org.eclipse.jst.server.generic.core.internal.publishers.AntPublishe
  • 9. .serverdef file explained XML based meta information about the server Introduced using “org.eclipse.jst.server.generic.core.serverdefinition ” extension Two parts Properties Derived server information Properties are variables that users provide values using server tools UI Derived server information used by the generic server to enable functionality
  • 10. Properties to collect user data Properties determine the generic server user interface for collecting user data. Has following mandatory properties id: unique value to refer to property later in the file label: User friendly alias for the property. This is value is diplayed to users. type: determines the type of GUI to use. The allowed values, "string" renders a text widget, "boolean" renders a check box, "directory" renders a file path dialog, "file" renders a file dialog. “select” renders a Combo. context: Determineds whether the property is part of server runtime or a server instance. default: This is the initial value presented to user.
  • 12. Classpath definitions Can be consumed by different sections of the server definition. start, stop project build path Contains following attributes id: identified by this in the framework archive and path: points either to a directory or a java library that will be a part of the classpath. Project classpaths are determined by the project element
  • 13. Info that starts/stops used to define parameters to launch and stop a server, two launch kinds java launch external launch. determined by the launch configuration in the definition of the server type. These attributes are common to both launch types workingDirectory: directory in which the application server starts. programArguments: Specific values that the server is expecting environmentVariable: These are the name and value pairs for environment variables
  • 14. A java launch In addition to common attributes the following is required mainClass Name of the class with main to start the server vmParameters: parameters to java virtual machine classpathReference: classpath definition used to invoke main class
  • 15. External launch In addition to common attributes the following is required debugPort: port number eclipse debugger uses to connect external: This is the external executable or script that will be used
  • 16. Publisher It is possible to provide server specific information for initializing the publisher id: id of the publisher that matches the id int the plugin.xml where publisher is defined publisherdata: value pair that will be passed to publisher
  • 17. Modules Determines the supported module types and publisher information Has these attributes type: The module type, must match the plugin.xml value where the module type is defined publishDir: The directory where published publisherReference: The id of the generic publisher
  • 18. Ports the port element indicates the ports and the protocols that the server starts no: The port number protocol: The protocol supported by this port name: User friendly name of the protocol
  • 19. JNDI Properties The JNDI properties for a server. The jndiConnection element is used to provide the jndi information for accessing an application server. providerUrl: The url to jndi server. initialContextFactory: initial context factory class jndiProperty: Name, value pairs that may be used for connection
  • 20. LAB Certain parts of a tomcat generic server plug-in project is commented Commented files are tomcat.serverdef and plugin.xml Search for “***” to discover commented parts.