style of soap messages
the soap specification defines two styles in wich you can formata soap message. these formats are
discussed in the following list:
document style: in this style,the soap body element contains one ormore child elements called parts.
rpc style: in this style, the body element includes the methods orremote procedures that you need to call. In
addtion, the body element includes the parameters that theremote procedures accept.
the soap encoding rules
when you create a soap message, you need to adhere to a set ofrules to encode the soap message. this set
of rules is defined in the soap specification and is called soapencoding. the soap encoding rules are similar
to xml schemas and define the types and constructs that you canuse to create the soap message. these
rules are present in the encoding namespace. the url of theencoding namespace refers to the xml schema
that defines the encoding rules for a soap message.
types of data types
the encoding rules specify the types that you can include in asoap message. these data types can be eother
simple or compound.
simple data types
the data types that are specifies in the xml schema specificationare called simple types. therefore, a simple
type either is defined in the xml schema specification orderived from the data type that is defined in the xml
schema specification. the simple data types that you can use ina soap message are integer
,float,negativeinteger,string,data and so on. these build indata types are defined in the namespaces
xmlschema.
the compound data type
compound data types are created using on or more simple datatypes. compound data types contain child
elements that define the elements or the fields of the datatypes. soap encoding supports two types of
compound data types:structs and arrays.
structs
a struct is a collection of variables with the same or differentdata tyeps. however, the name of the variables
that are defined in a structs can not be the same.
array
an array is a compound data types that contains values with thesame data type. these values are referred to
by their index value. to declare a data types of the type array,you need to use the xsi:type attribute ,the value
of thsi attribute is soap-enc:array.
soap is used to transfer data across applications on thenetwork. these applications are called soap nodes. a
soap message is sent from from an application. the soap messageexchange model defines the manner in
which a soap message is transferred from a sender node to areceiver node.
defining uddi
uddi initiated by ariba,ibm and microsift is an industrystandard for registering,publishing and discovering web
services in a central registry called the uddi directory.
a uddi directroy is a platform independent framework that allowsyou to publish infromation about a web
service. this information includes the description of the webservice,web methods that are included in the web
service,the procedure that a client application needs to followto communicate with the web service and a
programmer's interface that allows user to interact with theuddi directory.
jboss jbpm is encapsulated within the followingcomponents:
process engine: this component executes defined processactions,maitain process state,and logs all process
events xia the following delegate components: a request handler,a state manager, a log manager,a definition
loader, an execution service.
process monitor: this module tracks ,audit,and reports the state ofprocessed as they execute.
process language: the process definition language is based ongop
interactiion services: these services expose legacy application asfunctions or data to be used in process
executions.
a pocess definition is based on a directed graph. the graph iscomposed of nodes,transitions, one start state
and one end state. the type of each node defines the runtimebehavior for the node. while a process definition
executes ,the following entities come into play.
process instance: a process instance is one execution of aprocess definition.
token: a token is one path of execution. a token is the runtimeconcept that maintains a pointer to a node in the
graph. when a process instance is created, a token is createdfor the main path of execution. this token is
called the process instance's root token and is positioned inthe process definition's start state.
signal: a signal instructs a token to continue graph execution bytransition out of a node.
node: nodes are responsible for the continuation of a graphexecution. when a token enters a node, the node
executes. a node that does not propagate execution is regardedas a state.
action: actions are instances of java code executed when eventsoccur in a process execution. the primary
event types are "entering a node","leaving a node" and "taking atransition".
web service protocol stack has four main layers: servicetransport(this layer is reponsible for transporting
messages between applications),xml messaging( this layer isresponsible for encoding messages in a
common xml format so that messages can be understand at eitherend),service description(this layer is
responsible for describing the public interface to a specificweb service), service discovery(this layer is
responsible for centralizing services into a common registry andproviding easy publish/find functionality)
each request contains a single xml document whose root elementis a methodCall element. each methodCall
element contains a methodName element and a params element. themethodName element identifies the
name of the procedure to be called,while the params elementscontains a list of parameters and their values.
namespaces are usde to disambiguate xml elements and attributesand are often used to reference external
schemas. the body element encapsulates the main payload of thesoap message. every soap messages has
a mandatory envelope element, an optional header element and amandatroty body element.
soap data types are divided into two broad categories:scalartypes and compound types. scalar types contain exactly one value.compound types contain multiple values ,further suddivided intoarrays and structs.
working with strings ,primitive data types and arrays will onlyget you so far. fortunately, apache soap also includes support forjavabean ans literal xml documents.