- From: Shi, Xuan <xshi@GEO.WVU.edu>
- Date: Fri, 28 Apr 2006 00:53:56 -0400
- To: "'William Wu '" <williamcwu@sbcglobal.net>, "Shi, Xuan" <xshi@GEO.WVU.edu>
- Cc: "'''public-sws-ig@w3.org ' ' '" <public-sws-ig@w3.org>
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