1 /*
   2  * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 /**
  27  * <h1>JAX-WS 2.1 Tools</h1>
  28  * This document describes the tools included with JAX-WS 2.0.1.
  29  *
  30  * {@DotDiagram digraph G {
  31 // external tools
  32 AP;
  33 
  34 // ANT tasks
  35 node [style=filled,color=lightyellow];
  36 "WsGen ANT Task"; "WsImport ANT Task";
  37 
  38 // commandline
  39 node [style=filled,color=lightpink];
  40 wsgen; wsimport;
  41 
  42 // libraries
  43 node [style=filled,color=lightblue];
  44 WsimportTool; WsgenTool;"WSAP"; WebServiceAp; WSDLModeler;WSDLParser;SeiGenerator;ServiceGenerator;ExceptionGenerator;"JAXB XJC APIs";CodeModel;
  45 
  46 // aps
  47 #       node [style=filled,color=lightpink];
  48 #       "JAX-WS"; tools; runtime; SPI; "Annotation Processor";
  49 
  50 "WsGen ANT Task" -> wsgen -> WsgenTool;
  51 "WsImport ANT Task" -> wsimport -> WsimportTool;
  52 
  53 WsgenTool -> Annotation Processing -> WSAP -> WebServiceAp;
  54 WsimportTool -> WSDLModeler;
  55 WSDLModeler->WSDLParser;
  56 WSDLModeler->"JAXB XJC APIs"
  57 WsimportTool->SeiGenerator->CodeModel;
  58 WsimportTool->ServiceGenerator->CodeModel;
  59 WsimportTool->ExceptionGenerator->CodeModel;
  60 WebServiceAp->CodeModel
  61 }
  62  * }
  63  * <div align=right>
  64  * <b>Legend:</b> blue: implementation classes, pink: command-line toosl, white: external tool, yellow: ANT tasks
  65  * </div>
  66  *
  67  * <h2>ANT Tasks</h2>
  68    <d1>
  69  *  <dt>{@link com.sun.tools.internal.ws.ant.AnnotationProcessingTask AnnotationProcessing}
  70  *  <dd>An ANT task to invoke <a href="http://download.oracle.com/javase/6/docs/api/javax/annotation/processing/package-summary.html">Annotation Processing</a>.
  71 
  72  *  <dt>{@link com.sun.tools.internal.ws.ant.WsGen2 WsGen}
  73  *  <dd>
  74  *    An ANT task to invoke {@link com.sun.tools.internal.ws.WsGen WsGen}
  75 
  76  *  <dt>{@link com.sun.tools.internal.ws.ant.WsImport2 WsImport}
  77  *  <dd>
  78  *    An ANT task to invoke {@link com.sun.tools.internal.ws.WsImport WsImport}
  79  *
  80  *  </d1>
  81  * <h2>Command-line Tools</h2>
  82    <d1>
  83  *  <dt><a href="http://download.oracle.com/javase/6/docs/api/javax/annotation/processing/package-summary.html">AP</a>
  84  <dd>A Java SE tool and framework for processing annotations. Annotation processing will invoke a JAX-WS AnnotationProcossor for
  85  *   processing Java source  files with javax.jws.* annotations and making them web services.
  86  *   Annotation processing will compile the Java source files and generate any additional classes needed to make an javax.jws.WebService
  87  *   annotated class a Web service.
  88  *
  89  *  <dt>{@link com.sun.tools.internal.ws.WsGen WsGen}
  90  *  <dd>Tool to process a compiled javax.jws.WebService annotated class and to generate the necessary classes to make
  91  *  it a Web service.
  92 
  93  *  <dt>{@link com.sun.tools.internal.ws.ant.WsImport2 WsImport}
  94  *  <dd>
  95  *    Tool to import a WSDL and to generate an SEI (a javax.jws.WebService) interface that can be either implemented
  96  *    on the server to build a web service, or can be used on the client to invoke the web service.
  97  *  </d1>
  98  * <h2>Implementation Classes</h2>
  99  *  <d1>
 100  *    <dt>{@link com.sun.tools.internal.ws.processor.model.Model Model}
 101  *    <dd>The model is used to represent the entire Web Service.  The JAX-WS ProcessorActions can process
 102  *    this Model to generate Java artifacts such as the service interface.
 103  *
 104  *
 105  *    <dt>{@link com.sun.tools.internal.ws.processor.modeler.Modeler Modeler}
 106  *    <dd>A Modeler is used to create a Model of a Web Service from a particular Web
 107  *    Web Service description such as a WSDL
 108  *    file.
 109  *
 110  *    <dt>{@link com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler WSDLModeler}
 111  *    <dd>The WSDLModeler processes a WSDL to create a Model.
 112  *
 113  *    <dt>{@link com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceAp WebServiceAp}
 114  *    <dd>WebServiceAp is a AnnotationProcessor for processing javax.jws.* and
 115  *    javax.xml.ws.* annotations. This class is used either by the WsGen (CompileTool) tool or
 116  *    idirectly via the {@link com.sun.istack.internal.ws.WSAP WSAP} when invoked by Annotation Processing.
 117  *   </d1>
 118  *
 119  * @ArchitectureDocument
 120  **/
 121 package com.sun.tools.internal.ws;