Implementing WS-Discovery for non-webservice services

101 views
Skip to first unread message

Konstantin Sokolov

unread,
Aug 10, 2011, 5:50:18 AM8/10/11
to ws4d-gso...@googlegroups.com
Hello everyone,

We need to implement the WS-Discovery standard as a means for discovering services that are not webservices. Simply put, we want to use the WS-Discovery approach in order to find service addresses by name, type etc.

After a more or less short inspection of the WS4D-gSOAP documentation, I found functionalities that seemingly offer exactly what we need: abstractions for the WS-Discovery logic. Before I go deeper into the documentation (it’s quite a lot) I just want to make sure that my impression is correct. So here is my concrete question: Is it advisable to use WS4D-gSOAP (compared to implementing from scratch on) for the implementation of WS-Discovery for non-webservice services? Like I said, we just need abstractions for building, parsing, sending and receiving of WS-Discovery messages in ad hoc and managed mode.

Thanks in advance,

Konstantin Sokolov

Elmar Zeeb

unread,
Aug 10, 2011, 6:48:44 AM8/10/11
to ws4d-gso...@googlegroups.com
Am 10.08.2011 11:50, schrieb Konstantin Sokolov:
> Hello everyone,
>
> We need to implement the WS-Discovery standard as a means for discovering services that are not webservices. Simply put, we want to use the WS-Discovery approach in order to find service addresses by name, type etc.
>
> After a more or less short inspection of the WS4D-gSOAP documentation, I found functionalities that seemingly offer exactly what we need: abstractions for the WS-Discovery logic. Before I go deeper into the documentation (it�s quite a lot) I just want to make sure that my impression is correct. So here is my concrete question: Is it advisable to use WS4D-gSOAP (compared to implementing from scratch on) for the implementation of WS-Discovery for non-webservice services? Like I said, we just need abstractions for building, parsing, sending and receiving of WS-Discovery messages in ad hoc and managed mode.
WS4D-gSOAP is an implementation of the devices profile for web services
(DPWS) that uses WS-Discovery to discovery and announce devices in a
network. So there is more than WS-Discovery in WS4D-gSOAP.

As DPWS further profiles WS-Discovery (e.g. discovery types) the
WS4D-gSOAP API may not be generic enough for you. But you can either try
to uncouple the WS-Discovery part of WS4D-gSOAP from the DPWS part or
simply use it as source how to implement WS-Discovery with gsoap.

You can look at the gsoap-specific parts:
http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/gsoap/ws-discovery.c

And the non gsoap-specific parts:
http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/ws4d_target.c
http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/ws4d_targetservice.c
(target side)
http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/ws4d_targetcache.c
(client side)
http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/ws4d_discovery_ctx.c
(client side)

You will find the gsoap callbacks implementing the discovery messages
starting from
http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/gsoap/dpws.c#L991

Regards,
Elmar

--

*******************************************************************************
Dipl.-Inf. Elmar Zeeb
Universit�t Rostock, Fakult�t f. Informatik und Elektrotechnik
Institut f. Angewandte Mikroelektronik und Datentechnik
University of Rostock, Faculty of CS and EE
Institute of Applied Microelectronics and Computer Engineering,
18051 Rostock
Deutschland/Germany
Tel. : ++49 (0)381 498 - 7262
Fax : ++49 (0)381 498 - 7252
Email: elmar...@uni-rostock.de
www : http://www.imd.uni-rostock.de/, http://www.ws4d.org/
*******************************************************************************

Konstantin Sokolov

unread,
Aug 10, 2011, 7:22:00 AM8/10/11
to ws4d-gso...@googlegroups.com

Thank you a lot for the hints!

So just to make it clear for myself: An appropriate approch would be first to get familiar with gSOAP and then directly trying to understand WS4D code, right?

Regards,
Konstantin


On 08/10/11, Elmar Zeeb <elmar...@uni-rostock.de> wrote:

> Am 10.08.2011 11:50, schrieb Konstantin Sokolov:
> >Hello everyone,
> >
> >We need to implement the WS-Discovery standard as a means for discovering services that are not webservices. Simply put, we want to use the WS-Discovery approach in order to find service addresses by name, type etc.
> >

> >After a more or less short inspection of the WS4D-gSOAP documentation, I found functionalities that seemingly offer exactly what we need: abstractions for the WS-Discovery logic.  Before I go deeper into the documentation (it’s quite a lot) I just want to make sure that my impression is correct. So here is my concrete question: Is it advisable to use WS4D-gSOAP (compared to implementing from scratch on) for the implementation of WS-Discovery for non-webservice services?  Like I said, we just need abstractions for building, parsing, sending and receiving of WS-Discovery messages in ad hoc and managed mode.


> WS4D-gSOAP is an implementation of the devices profile for web services (DPWS) that uses WS-Discovery to discovery and announce devices in a network. So there is more than WS-Discovery in WS4D-gSOAP.
>
> As DPWS further profiles WS-Discovery (e.g. discovery types) the WS4D-gSOAP API may not be generic enough for you. But you can either try to uncouple the WS-Discovery part of WS4D-gSOAP from the DPWS part or simply use it as source how to implement WS-Discovery with gsoap.
>
> You can look at the gsoap-specific parts:
> http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/gsoap/ws-discovery.c
>
> And the non gsoap-specific parts:
> http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/ws4d_target.c
> http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/ws4d_targetservice.c (target side)
> http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/ws4d_targetcache.c (client side)
> http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/ws4d_discovery_ctx.c (client side)
>
> You will find the gsoap callbacks implementing the discovery messages starting from
> http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/browser/trunk/src/libdpws/gsoap/dpws.c#L991
>
> Regards,
> Elmar
>
> --
>
> *******************************************************************************
>   Dipl.-Inf. Elmar Zeeb

>   Universität Rostock, Fakultät f. Informatik und Elektrotechnik


>   Institut f. Angewandte Mikroelektronik und Datentechnik
>   University of Rostock, Faculty of CS and EE
>   Institute of Applied Microelectronics and Computer Engineering,
>   18051 Rostock
>   Deutschland/Germany
>   Tel. : ++49 (0)381 498 - 7262
>   Fax  : ++49 (0)381 498 - 7252
>   Email: elmar...@uni-rostock.de
>   www  : http://www.imd.uni-rostock.de/, http://www.ws4d.org/
> *******************************************************************************
>

> --
> You received this message because you are subscribed to the Google Groups "WS4D-gSOAP Users" group.
> To post to this group, send email to ws4d-gso...@googlegroups.com.
> To unsubscribe from this group, send email to ws4d-gsoap-use...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/ws4d-gsoap-users?hl=en.

Elmar Zeeb

unread,
Aug 11, 2011, 4:44:44 AM8/11/11
to ws4d-gso...@googlegroups.com
Am 10.08.2011 13:22, schrieb Konstantin Sokolov:
> Thank you a lot for the hints!
>
> So just to make it clear for myself: An appropriate approch would be first to get familiar with gSOAP and then directly trying to understand WS4D code, right?
That's a good approach in general :-)

Regards,
Elmar


--

*******************************************************************************
Dipl.-Inf. Elmar Zeeb
Universit�t Rostock, Fakult�t f. Informatik und Elektrotechnik

Reply all
Reply to author
Forward
0 new messages