| GT4IDE Features |
|
|
|
Project and Service AbstractionThe plugin provides the programmer an abstraction of a “GT4 Project” and of a “GT4 Service”, both of which are defined and managed through a GUI.![]() As part of the project abstraction, we consider that a GT4 project can contain more than one service (this is an improvement over GT3IDE where a separate project had to be created for each service). For each service, the user provides a set of parameters, as shown in the following window. ![]() This approach allows the user to deal only with high-level concepts (“Is my service a singleton or a factory/instance?” “What is my service's namespace?”, etc.) when defining a new project and service. All the minutiae commonly associated with writing a GT4 service (writing the namespace-to-package mappings file, writing the WSDD file, etc.) are handled automatically by GT4IDE based on the information provided by the user when creating a new project/service. Generation of Namespace-to-package mappings fileThe plugin automatically generates the namespace-to-package mappings file. This file is a project-wide file, shared by all the services created in the project.Generation of WSDD fileThe plugin automatically generates the project WSDD file, including a element for each service created in the project.Generation of JNDI deployment fileThe plugin automatically generates the project JNDI deployment file, including a element for each service created in the project.Initial WSDL generationBased on the initial service parameters, the plugin automatically generates a WSDL 'skeleton' where the operations, messages, and XML Schema definitions will have to be added manually or automatically using the plugin's WSDL↔Java synchronization mechanism.Initial Java generationThe plugin automatically generates Java code (if an implementation skeleton is requested) such that the only task remaining is to actually implement the operations the service is going to provide.WSDL↔Java synchronizationWe firmly believe that programmers should (ideally) not have to edit a single line of WSDL, and that they should simply concentrate on implementing their service operations in Java. Although complete abstraction from WSDL is difficult, the plugin does provide basic synchronization between the Java implementation and the WSDL file such that when a user adds a method to the service, and this method can be identified as “the implementation of an operation we want to offer publicly through our WSDL interface”, the corresponding WSDL code is generated.GAR generation from EclipseThe plugin allows users to generate the GAR file containing their deployable services easily (using the GUI, not running Ant from the command line). As an intermediate step, users can also generate the stub classes so they can verify that their code is correct and compiles. |



