Design View

Design View provides a graphical representation of your web service, giving you a unified picture of how your web service is put together and how it interacts with its client application and external resources, such as databases and other web services. Note that only JWS files can be displayed in Design View; CTRL files only appear as components of the web service displayed in Design View.

# Design View Basics

In Design View, the web service itself is represented by a box in the center of the screen. The client application is represented on the left side of the web service. Interactions between the web service and the client are represented by arrows. Arrows pointing from the client to the web service represent the operations the client may invoke on the web service; arrows pointing from the web service to the client represent the callbacks through which the web service sends asynchronous messages to the client.

The different types of external resources available to the web service are represented on the right side of the web service. These resources can be databases, Enterprise Java Beans and even other web services. Controls, the interfaces between a web service and its external resources, are represented by arrows linking the web service and the resource. Arrows pointing from the web service to a control represent the Java methods through which a web service invokes the control; arrows pointing from the a control to the web service represent callbacks the control may use to notify the web service of events.

# Building and Editing Components in Design View

To add an interface between the client and the web service, click on the dropdown box labeled "Add Operation". To add a control, click on the dropdown box labeled "Add Control".

Once you have added a new method, callback or control, you can edit its properties through the Properties Editor. For finer control over the functionality of your web service, switch to Source View and edit the underlying code directly. To view the source code for a particular method, click on the method's name. To view the source code for a particular control, right-click on the name of the control and select 'Go to .ctrl definition'.

# XML Maps

Because a web service built using the WebLogic Workshop is, essentially, a Java class which communicates with the external world via XML (Extensible Markup Language) messages, the arrows also represent the Java/XML interfaces, called "XML maps", that your web service implements. To view and edit a particular XML map, double click the image of the arrow. For more information about the basic architecture of web service communications, see "What Are Web Services?" For more information about XML maps see Why Use XML Maps?

# Conversations and Buffers

Ovals containing the letters "S", "C" and "F" show how your web service supports conversations. The presence of an oval containing "S" means that the method starts a conversation. An oval containing the letter "C" means the method or callback continues a conversation. An oval containing the letter "F" means the method or callback finishes a conversation. Use conversations to manage asynchronous exchanges between client and service and service and controls.

In the illustration above the methods and callbacks that link the client and the service are participating in a conversation; the methods and callbacks that link the controls to the service are also conversational. For more information about conversations see Overview: Conversations. For instructions on how to add conversations to a web service displayed in Design View see How Do I: Add Support for Conversations?

Message queues, a.k.a. "buffers", are represented by springs. In the illustration above the methods requestReport and cancelReport are buffered. Use buffers to avoid overloading the servers running your web service, as well as to prevent clients from blocking waiting for long-running operations. For more information about message queuing and buffers see Customizing a Service Control: Buffering Methods and Callbacks and Using Asynchrony to Enable Long-Running Operations.

Related Topics

Step 2: Tour WebLogic Workshop