RE: Compositions Types:Static and Dynamic

William,

Congratulations to the progress you have. However, what I am doing may be
different from the traditional data-centric issue. Correspondingly, it not
very fancy to identify the class-subclass relationship in database related
applications, OOP, RDF/OWL, etc. This does not mean your progress is not
significant. SW has such strength to deal with the ontology and
relationships of *concept* or data. 

In GIS (Geographic Information Systems) community, many people use SW
technology to define the ontology of GI but ignore or omit the "S" - you see
the problem here, almost entirely all such research and discussion on
knowledge, semantics, ontology, etc. in GIS community just target on GI
(data, information, and knowledge), but not "S". I think it is a PROBLEM for
SW and SWS also in other domains-where is the "S" - functions and services
in SWS (may have nothing to do with those concept related- ontologies in
SW?)?

In my research, when I developed varied kind of WSs for GIS applications,
there were NO data or database located on the server side. All such kind of
WSs are waiting for the data transferred from the client-side. Once the
service provider get the data from service requester, the provider will
process the request and send back the result-this can be service-oriented
WSs, other than data-centric applications.

It seems we need more negotiation to see how can we share the same data
definition and semantics specified by either service provider or requester
or the owner of data. Otherwise, as you see, we still have semantic trouble
in communication after you could solve some problems. Moreover, how program
by program-programmer can understand that the same function has different
behavior and output result, as what I talked about here in the past -
Function intersect (String: poly1, String poly2): String poly3? The same
function interface will generate different output result depending on the
purpose of this function (for spatial query and feature selection, or, for
data processing to generate new dataset). I wonder how your approach can
handle such issues.

Best wishes,

Xuan


-----Original Message-----
From: William Wu
To: Shi, Xuan
Cc: ''public-sws-ig@w3.org ' '
Sent: 4/27/06 11:01 PM
Subject: Re: Compositions Types:Static and Dynamic

Xuan,

I have already solved the problem when the service is a front end of a 
database.  It is now possible to query any database regardless of its 
schema.  I have a demo system ready. 

As for services, I have also solved the problem when the target service 
is not process oriented (as in partner interface process described by 
RosettaNet).  I am working on a demo system right now.  I am very close 
to solve the problem when the service is process oriented.   
Unfortunately I am filing patents, so I cannot disclose more.  Please 
wait until that process is complete, then I can disclose more.

Right now the only thing I can say is that the current OWL-S and 
semantic annotation is not enough.  As we all know, if just given a 
WSDL, no human programmer can really use the web service without 
mistakes.  Just think how much information is contained in an API 
document or a programmer's guide contains and how much knowledge a 
programmer need to have before he/she can start to read those documents,

you can appreciate how much knowledge must be built into the 
program-programmer in order to make it work.  Also it is not necessary 
to have the same standard API for all Web Services.  It is the PROBLEM 
Semantic Web should solve.  And I have solved most of it.


Cheers,
William Wu
Semansoft Corporation


Shi, Xuan wrote:
> William,
>
> Thanks for your comments and advice. I agree with you to some degree
as
> "Dynamic" means composition and invocation is programed by
> program-programmer. However, program by program-programmer is
predefined by
> human programmer, as the machines has little intelligence to know and
do
> something in any unknown situation, such as any exception undefined in
SW
> logic referential scope.
>
> Given the example of those four address geocoding Web services as I
sent to
> 'public-ws-semann@w3.org':
>
> http://www.arcwebservices.com/services/v2006/AddressFinder.wsdl 
> http://arcweb.esri.com/services/v2/AddressFinder.wsdl 
> http://rpc.geocoder.us/dist/eg/clients/GeoCoder.wsdl 
>
http://157.182.136.76/xshi/disst/geocodingservice/geocodingconversion.as
mx?W
> SDL
>
> supposed we know that we need such Web services for certain tasks in a
> composite process involving multiple Web services, and we already can
> identify these 4 available Web services through composition process.
Then
> how can invoke any of them?
>
> In case one service does not function correctly then machine has to
switch
> to another one. In this case, since all APIs and WSDLs for such same
kind of
> Web services are different, machine has to do everything differently
to
> figure out how to invoke the same service with a different interface.
If
> unfortunately only the 4th service can work correctly for some reason,
then
> you can imagine how long people or machine has to wait until an answer
comes
> out through such kind of dynamic matchmaking, composition, and
invocation
> process.
>
> In my previous suggestion to develop semantic Web services through
OSRR
> approach by sharing service semantics, all Web services have one
> standardized API. Since everything has been predefined in one service
> description XML document, program by program-programmer is not that
hard
> since to compose a service request, it is such a simple process as
> copy-cut-paste then machine can do such work easily (one of my papers
is
> accepted by an IEEE journal and will be published).
>
> Whenever any service does not work correctly, machine just need to
send the
> same request to another service provider without changing anything.
Dynamic
> invocation is easy and simple since the ONLY input and output are a
'String'
> data type containing the message exchanged between requester and
provider.
> We can easily build dynamic invocation in different ways by SOAP/WSDL,
> HTTP/POST, or even CORBA and DCOM.
>
> Regarding semantic annotation for WSDL, please use the above four WSs
to
> test such an approach. The result may be a mixure of semantics of both
> service and interface. It may be a way to describe the semantics of
service
> interface, but not good for service semantics. However, such an
approach can
> be a new burden for dynamic invocation as mentioned above.
>
> Below is a message I got from someone who has been keeping an eye on
the
> debates we have had in W3C-SWS-IG. I hope it could be helpful to all
of us
> for consideration. In W3C-SWS-IG, someone said before that I am an
outsider
> from this community. Then you know the meaning of "insider" in the
following
> message. This guy seems to be an insider as you see he or she digged
much
> deeper than what I did. 
>
> Again, thank you very much for your kind attention and advice to such
> discussion. Maybe you can tell us something about how do you think the
> algorithm related issues for SW and SWS.
>
> Best wishes, 
>
> Xuan 
>
>
************************************************************************
* 
>
> ... ...
>
> The deeper I get into this field, the more skeptical I feel towards 
> current roadmap for so called Semantic Web. As we have seen in 
> Deductive Database, Object-Oriented Database, Neural Network, Expert 
> System, just mention a few among many 
> looks-nice-at-the-beginning-but-failed-finally research, scaleability 
> has killed so many other beautiful ideas. Do you believe an ExpTime or

> even NExpTime algorithm will be accepted by any computer network or 
> database researcher? That's what OWL can offer us at best - not to 
> mention other practical difficulties in communication, modularity, 
> privacy and ontology mapping. To my opinion, only O(log) or linear 
> algorithm can survive on the Web, which is only possible for very week

> ontologies, such as RSS, Trees and DAGs. I would say, the working SW 
> in practice in the near future can hardly be more complex than that. 
>
> Well, nobody who is an "insider" should say that - only to be a 
> funding killer. And you know from your experience what some people 
> will react for such a skepticism from non-insiders. 
>
> Recently people are moving on to OWL1.1 with even stronger 
> expressivity. I believe it is further wrong on an already misleading 
> direction. And you know, some rule language proposals may even lead to

> undecidability. 
>
> ... ...
>
>
************************************************************************
* 
>
>
> -----Original Message-----
> From: William Wu
> To: Shi, Xuan
> Cc: 'Daniela CLARO '; 'public-sws-ig@w3.org '
> Sent: 4/27/06 9:29 AM
> Subject: Re: Compositions Types:Static and Dynamic
>
>
> Daniela and Xuan,
>
> For semantic web, I would give a somewhat different definition about 
> "dynamic" vs "static" than conventional  definition.  "Dynamic" means 
> composition and invocation is programed by program-programmer.
"Static"
>
> means it is programed by human programmer.  The more dynamic it is,
the 
> more a human programmer needs to make his/her program closer to a 
> program-programmer.  "Dynamic" composition/invocation in conventional 
> technology like Java, CORBA, ActiveX, or Web Services are very
limited.
>
> The goal of semantic web is to create an order-of-magnitude more 
> flexible program-programmer.  Semantic annotation is to assist them to

> write programs  to use a particular service just as API specification 
> and programmer's guide to assist human programmer.
>
> Even though, we are still far away from creating program-programmer 
> close to human programmer.  The research in semantic web has 
> dramatically improved the capability of program-programmers.  To do 
> this, it requires a paradigm shift from conventional object-oriented 
> model to semantic-oriented model.  It requires a different kind of 
> programming language, a different kind of data store, a different kind

> of API, and most of all, a different kind of API specification.
>
>
> William Wu
> Semansoft Corporation
>
> Shi, Xuan wrote:
>   
>> Daniela,
>>
>> Thanks very much for your kind advice and discuss. To my opinion,
>>     
> dynamic
>   
>> composition may be a part of the service discovery and matchmaking
>>     
> process.
>   
>> Semantic information is useful in such situation. Dynamic invocation,
>> however, may have to deal with programming issue.
>>
>> So when we know the composite process of a service chain, how can you
>> dynamically invoke each of the services described in your composition
>> document? Given the example that you know the WSDL URLs and IOPEs for
>>     
> both
>   
>> Microsoft's TerraService and ESRI's address geocoding services, you
>>     
> know you
>   
>> have to first use the "address" information to invoke geocoding
>>     
> service to
>   
>> retrieve lat/lon values, which will then be used to invoke
>>     
> TerraService's
>   
>> function to retrieve the image you want. How can you invoke the
>>     
> service
>   
>> through composition? 
>>
>> I know even it's a difficulty and complex process to create/deploy a
>>     
> static
>   
>> java Web service, but did not try dynamic invocation in java.
However,
>>     
> I do
>   
>> know how to dynamic invoke a WS in .NET in the proposed OSRR approach
>>     
> which
>   
>> is much much better and convenient than the traditional WSDL-based
>>     
> dynamic
>   
>> invocation-a difficulty for such task.
>>
>> Best wishes,
>>
>> Xuan
>>
>>
>> -----Original Message-----
>> From: Daniela CLARO
>> To: public-sws-ig@w3.org
>> Sent: 4/26/06 4:11 AM
>> Subject: RE: Compositions Types:Static and Dynamic
>>
>>
>> Hi Xuan, 
>>   
>>
>>   
>>     
>>> One more question is about the relationship between dynamic 
>>> service composition and dynamic service invocation. If the 
>>> purpose of dynamic service composition is for dynamic service 
>>> invocation, given the example of retrieving an aerial photo 
>>> from Microsoft's Terraservice, how such dynamic composition 
>>> will enable the dynamic invocation? 
>>>     
>>>       
>> For me, one think is dynamic composition, i.e. when your goal is to
>> construct a stair(ws1) and for this you need to supply the
>> concrete(ws2). However the ws2 (supply concrete) you do not know yet.
>> Thus the dynamic composition is responsible to put the ws2 in your
>> composition to achieve the goal 'create a stair'. On the other hand,
>> dynamic invocation, we can have already done dynamic composition, and
>>     
> at
>   
>> the moment you will execute these services w1 and w2, the w2 is
>>     
> offline.
>   
>> Thus you should find another service, with the same functionalities
to
>> replace the ws2. 
>>
>> Thus we can have dynamic compositions and dynamic invocations or
both!
>> This is my point of view :o)! And most of the papers in planning, as
I
>> could observe, treats dynamic invocation. Actually I do not know if
>>     
> they
>   
>> treat dynamic composition also, do they? 
>>
>>
>>   
>>     
>>> In this case, the known 
>>> WSDL documents can be identified, thus you know the IOPEs for 
>>> this task. 
>>>     
>>>       
>> Yes... 
>>   
>>     
>>> I never tried the dynamic invocation in Java, but in .NET, I 
>>> know it's a difficulty to build dynamic invocation in the 
>>> traditional WSDL approach.
>>>     
>>>       
>> I think dynamic invocation as people are doing, as I have read in
some
>> papers is using planning and semantic web, because how you will find
>> other services, with the same functionalities (and probably others
>> non-functional criteria as QoS) without semantics, it will be more
>> difficult. Thus many approaches are using planning with semantics.
The
>> paper Template-based Composition of Semantic Web Services E. Sirin,
B.
>> Parsia, J. Hendler used a planner based on Java, the Jshop. 
>>
>> I created a planning algorithm using a rule-based engine, called
JESS.
>> It not efficient as a planner with relaxed restrictions as a HTN, but
>>     
> we
>   
>> should start by something! JESS is completely integrated with Java.
>> JSHOP I do not know, but the authors can say something about it! I
>> created a dynamic composition and not a dynamic invocation. In my
>> invocation I consider that everything works fine!
>>
>> Hope that helps,
>> Daniela
>>
>>
>>   
>>     
>
>
>
>   

Received on Friday, 28 April 2006 04:54:16 UTC