JAX-WS supports both static and dynamic clients

G

gk

what is a static and dynamic client ?

Here is the relevant context which you may need . I am not comfortable
with the following text..

*JAX-WS supports both static and dynamic clients*.

My Question : when we are talking about web service clients, what
is a static client and dynamic client ?

I have a very bad guess though but I'm not sure whether I've
understood it correctly. I know HTML is a static client but jsp is a
dynamic client ...but I don't think it is appropriate
here ....because HTML can't be a web service client though jsp
possibly could be.

what is a static client and and dynamic client for JAX-WS ? I need
an example to understand it.
 
L

Lew

what is a static and dynamic client ?

Here is the relevant context which you may need . I am not comfortable
with the following text..

*JAX-WS supports both static and dynamic clients*.

Good instinct. I'm not comfortable with it either.
My Question : when we are talking about web service clients, what
is a static client and dynamic client ?

I think it's a bad term.
I have a very bad guess though but I'm not sure whether I've
understood it correctly. I know HTML is a static client but jsp [sic] is a
dynamic client ...but I don't think it is appropriate
here ....because HTML can't be a web service client though jsp [sic]
possibly could be.

Ummmm ...

Neither HTML nor JSP is a "client" in any meaningful sense of the word. JSP
is a markup standard for a system that produces HTML from the JSP source.
HTML is, as "ML" in the initialism indicates, a markup language for
presentation. Neither one is a client. The client is the browser that
interprets the HTML.
what is a static client and and dynamic client for JAX-WS ? I need
an example to understand it.

It's a nonsense term, so there won't be any examples.

Presumably the source of that term (which you do not cite) explains what they
mean by their idiosyncratic usage. Perhaps they mean "client of systems that
generate static (dynamic) content"? I don't know - I cannot make sense of the
term.

Maybe someone else can, but I vote that you're being led astray by yet another
bad source.
 
A

Arved Sandstrom

Lew said:
Good instinct. I'm not comfortable with it either.


I think it's a bad term.
[ SNIP ]

They are real terms - the *static* client approach is the dynamic proxy (go
figure), where you have an SEI (top-down or bottom-up, starting with
existing WSDL or not). This is considered to be high-level. The low-level
*dynamic* client approach is to use the Dispatch API directly and dispense
with generated artifacts.

AHS
 
G

gk

Good instinct.  I'm not comfortable with it either.
I think it's a bad term.

[ SNIP ]

They are real terms - the *static* client approach is the dynamic proxy (go
figure), where you have an SEI (top-down or bottom-up, starting with
existing WSDL or not). This is considered to be high-level. The  low-level
*dynamic* client approach is to use the Dispatch API directly and dispense
with generated artifacts.

Let me take your comment and further extend it.

so, I assume this way ...

Static clients are generated from e.g a WSDL2Java (in Axis) and
generate a client class to call the service methods.

Dynamic clients are called by hitting the endoint URL directly using
Disatch ApI.

hopefully this is what you wanted to mean.
 
L

Lew

Lew said:
I think it's a bad term.
[ SNIP ]

Arved said:
They are real terms - the *static* client approach is the dynamic proxy (go
figure), where you have an SEI (top-down or bottom-up, starting with
existing WSDL or not). This is considered to be high-level. The low-level
*dynamic* client approach is to use the Dispatch API directly and dispense
with generated artifacts.

Thanks.
 
T

Tom Anderson

Lew said:
I think it's a bad term.
[ SNIP ]

Arved said:
They are real terms - the *static* client approach is the dynamic proxy (go
figure), where you have an SEI (top-down or bottom-up, starting with
existing WSDL or not). This is considered to be high-level. The low-level
*dynamic* client approach is to use the Dispatch API directly and dispense
with generated artifacts.

Thanks.

It's basically like the Dynamic Invocation Interface from CORBA all over
again. Only done wrong, i'm sure.

I suppose the analogue in java itself is to normal method calls (static)
and reflective ones (dynamic). Given:

String a, b;
Comparator<String> c;

You can do:

int d = c.compare(a, b);

Or you can do something like (i'm going from memory here):

Method m = c.getClass().getMethod("compare", String.class, String.class);
int d = (Integer)m.invoke(c, a, b);

The point being that you could drive the latter from metadata
descriptions, without ever having to write code which really knows about
the Comparable interface.

Cases where you need dynamic invocation at the programmer level are pretty
rare. The example that springs to mind is when writing something like
SoapUI:

http://www.soapui.org/

tom
 
A

Arne Vajhøj

Lew said:
On 09/25/2010 08:01 AM, gk wrote:
what is a static and dynamic client ?
Here is the relevant context which you may need . I am not
comfortable with the following text..
*JAX-WS supports both static and dynamic clients*.
Good instinct. I'm not comfortable with it either.
My Question : when we are talking about web service clients, what
is a static client and dynamic client ?
I think it's a bad term.

[ SNIP ]

They are real terms - the *static* client approach is the dynamic proxy (go
figure), where you have an SEI (top-down or bottom-up, starting with
existing WSDL or not). This is considered to be high-level. The low-level
*dynamic* client approach is to use the Dispatch API directly and dispense
with generated artifacts.

Let me take your comment and further extend it.

so, I assume this way ...

Static clients are generated from e.g a WSDL2Java (in Axis) and
generate a client class to call the service methods.

Dynamic clients are called by hitting the endoint URL directly using
Disatch ApI.

hopefully this is what you wanted to mean.

That is the commonly used terminology.

I prefer to talk about "generated stub" and "hand coded call",
because those more clearly explains what they are.

Arne
 
A

Arne Vajhøj

Lew said:
I think it's a bad term.
[ SNIP ]

Arved said:
They are real terms - the *static* client approach is the dynamic
proxy (go
figure), where you have an SEI (top-down or bottom-up, starting with
existing WSDL or not). This is considered to be high-level. The
low-level
*dynamic* client approach is to use the Dispatch API directly and
dispense
with generated artifacts.

It's basically like the Dynamic Invocation Interface from CORBA all over
again. Only done wrong, i'm sure.

JAX-WS's predecessor JAX-RPC even used the term DII !

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,905
Latest member
Kristy_Poole

Latest Threads

Top