WebServices.html
30.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 13), see www.w3.org" />
<title>
Web Services overview - Design Issues
</title>
<link rel="Stylesheet" href="di.css" type="text/css" />
<meta http-equiv="Content-Type" content="text/html" />
</head>
<body bgcolor="#DDFFDD" text="#000000" lang="en" xml:lang="en">
<address>
Tim Berners-Lee<br />
Originally created: 2002-10, last change:
</address>
<address>
$Date: 2009/08/27 21:38:10 $<br />
Status: Rough amalgam of input from generally reliable
sources. Editing status: draft. This is really a set of
pointers, as the web services architecture is being
elaborated by a whole communit, with the WS-Arch group
playing a specific role. Started as notes from W3C Web
Services Workshop [@@].
</address>
<p>
<a href="./">Up to Design Issues</a>
</p>
<hr />
<h1>
Web Services
</h1>
<blockquote>
<p>
Program Integration across Application and Organization
boundaries
</p>
</blockquote>
<h3>
Introduction
</h3>
<p>
Web Services mean many things to many people. In the end,
there will be a set of standards which allow us to do things
we could not do before, but in the mean time different people
and companies approach them from different positions, and
with different expectations. In 2001-2, Web Services have
also been a buzzword used repeatedly and claimed to be one of
the hot new technologies. The common themes are:-
</p>
<ul>
<li>A departure from the web as a quasi-static information
space to one in which interactions are the primary model
</li>
<li>A use of HTTP, XML and other standards from the web
architecture as the building blocks
</li>
<li>A typical focus on enterprise wide and inter-enterprise
operations
</li>
</ul>
<p>
The Web in Web Services is, from the first point, a misuse:
the term Internet Services would be more appropriate. The Web
comes from the second point - the use of the HTTP and XML is
already in use as a well-understood and well-debugged set of
protocols which support the Web, and so it makes sense to
reuse them in providing remote operations and those things
connected with them. The third point is what makes web
service requirements so different from a local RPC system.
The fact that data is exchanged for business purposes and
between different social entities means that accountability
is required, rather than just reliable transmission.
</p>
<ul>
<li>The vendors of software see web services as way to
repackage existing capability in a way which makes it
interoperable with other systems.
</li>
<li>The security requirements for web services are dictated
by the trust environments, whether it is intranet or b2b or
b2c, etc
</li>
<li>For b2b one needs not just reliabilioty but
accountability.
</li>
</ul>
<p>
The architecture of Web Services is the scope of the W3C Web
Service Architecture Working Group.
</p>
<h3>
Philosophy
</h3>
<p>
Other articles have dealt with the fundamental architectural
difference between remote operations and the architecture of
the information space, and the mappings between the two.
</p>
<ul>
<li>
<a href="Axioms.html">Axioms of web architecture</a>
(1990s) talks about the information space concept
</li>
<li>
<a href="PaperTrail.html" rel="chapter">Paper Trail</a>-
Discusses the relationships between two patterns:
read/write state derived from read-only documents in real
life. Which came first, the journal or the database?
</li>
<li>
<a href="Conversations.html">Conversations and State</a>
(1998) discusses the trends in many areas away from shared
information spaces, from Web Services to Voice browsing.
</li>
</ul>
<p>
The Web Services architecture group has produced various
drafts:
</p>
<ul class="deliverables">
<li class="wd">
<a href="http://www.w3.org/TR/2002/WD-wsa-reqs-20021114"
rel="details" class="title">Web Services Architecture
Requirements</a> (<span class="date">2002-11-14</span>)
</li>
<li class="wd">
<a href="http://www.w3.org/TR/2002/WD-ws-arch-20021114/"
rel="details" class="title">Web Services Architecture</a>
(<span class="date">2002-11-14</span>)
</li>
<li class="wd">
<a href="http://www.w3.org/TR/2002/WD-ws-gloss-20021114/"
rel="details" class="title">Web Services Glossary</a>
(<span class="date">2002-11-14</span>)
</li>
<li class="wd">
<a href=
"http://www.w3.org/TR/2002/WD-ws-arch-scenarios-20020730/"
rel="details" class="title">Web Services Architecture Usage
Scenarios</a> (<span class="date">2002-07-30</span>)
</li>
</ul>
<p>
The architecture uses the following diagram for the highest
level:
</p>
<p>
<img src=
"http://www.w3.org/TR/2002/WD-ws-arch-20021114/Triangle.png"
alt="Basic Web services architecture graphic" />
</p>
<p>
However, the essential part of Web services is the
<em>Interact</em> relationship between a Service provider and
Service requestor. This is the Web Service. Discovery
agencies need not be used - they will in some cases but not
in others. The discovery agencies are well represented as a
cloud, rather than being a well-defined module in the web
services architecture. They will become interface to a huge
world of data and query services which provide data about web
services as well as many other things.The Interact between
between requestor and provider is the essential defining
element to web services. As we shall see, the metadata about
web services
</p>
<h2>
Technologies within the Web Servcies umbrella
</h2>
<p>
There is a mass of different pieces being bolted onto the
foundations of Web Services provided by WSDL and SOAP 1.2 and
th diagram implies things considerably. The management layer
is a supervisory layer allowing the conrol of the many agents
involved in a web services-based operation. The "Application
semantics" layer indicates the necessity, for any useful
interoperability, to have
</p>
<p>
<img alt=
"Stcak based on XML, and HTTP has WSDL and SOAP 1.2 as WS foundation."
src="diagrams/ws-stack.png" />
</p>
<h3>
Run Time messaging
</h3>
<p>
The design work of web services is divided between the run
time protocols and the descriptions of services.
</p>
<p>
The W3C work at runtime based on HTTP transport of
XML-encoded messages, using the SOAP protocol. (Here by SOAP
we mean SOAP 1.2, previous versions including early
proprietory submissions which are not standards or guaranteed
to interoperate) . There is a bifurcation in the design at
this point, as SOAP operates basically in two modes.
</p>
<p>
In one, the XML message is used to encode the parameters to a
remote operation in much the same way as remote method
invokation in for example, Corba, DCOM, or RMI. In this mode,
XML is used as the marshalling style, but the system is a
distributed using remote procedure call in a fairly
traditional way.
</p>
<ul>
<li>There is a standard marshalling syntax
<p>
Interfaces between software modules have well-defined
functions, which in turn have well-defined and typed
input and output parameters
</p>
<p>
Stubs (dummy routines which similate the remote procedure
by a local one which communcates with the remote one) can
be generated directly from the WSDl definition
</p>
</li>
<li>The remoteness can be transparent, making the design of a
distributed system similar to the design of a program.
</li>
</ul>
<p>
In the other mode, SOAP carries an XML document, and the task
of the receiver is seen more as a document processing
operation. This is less rigid than the RPC style.
</p>
<ul>
<li>The interface a service provides is defined just by the
XML schema. This defines the acceptable document types, which
can allwo extension in many ways, using XML namespaces.
<p>
The communication is more apparent to the application
writer, who deals with the document object model (DOM) of
the recived message, rather than having parameters
unmkarshalled automatically.
</p>
<p>
XML tools such as XSLT and XML-Query, and XML encryption
and so on can be used.
</p>
<p>
It is simpler to use message exchange patterns other than
the request/response.
</p>
</li>
</ul>
<p>
The document mode of SOAP seems to be getting the most
traction in the ecommerce stack. This is not an accident. The
XML mode is more flexible than the RPC mode. It is easier in
principle to extend an XML-based message system to include
more information as a system grows. In fact, RDF is
especially powerful in this area, as new information can be
parsed into an entity-relationship form by old agents, and it
becomes logically clear which parts can be ignored by those
who do not understand them.
</p>
<p>
Functionality which has been mentioned as required above the
basic layer at runtime includes:
</p>
<ul>
<li>Routing. Routine data within message for processing bu
different agents; defining workflow path of message. Black
box or white box patterns of design.
</li>
<li>Security. Prolfiling existing security technologies for
use in ebusiness applications using web sevices.
Authentication and key management.
</li>
<li>Packaging of attachments to messages. XML Packaging.
</li>
<li>Reliable messaging (delivery, non-duplication, ordering)
for the case in which the transport layer (such as TCP under
the HTTP) doesnot provide this. (TCP does provide this
reliability but (a) systems are not designed to keep TCP
connections open for the weeks or years over which a web
service may run, and (b) TCP does not provide accountability
so you can show the tax man the acknowledgement of receipt 7
years later.)
</li>
</ul>
<h3>
<a name="Descriptio" id="Descriptio">Description</a>
</h3>
<p>
The descriptions of services are made at various different
models and different levels of abstraction in different specs
proposed as part of the stack, though there is agreement on
WSDL as the modelling of the lowest level, the message or
request/response interaction, and the binding to the specific
HTTP (say) port at which it happens.
</p>
<p>
<img alt="Lots of concepts interconnected" src=
"../2003/Talks/0521-hh-wsa/wsa_concepts.png" />
</p>
<p>
Higher layers in the description above WSDL are known
variously as coordination, orchestration, choreography,
composition.
</p>
<p>
They involve (compared with basic WSDL), for example:
</p>
<ul>
<li>Protocols involving more than two messages
</li>
<li>Protocols having a common shared state over a long period
</li>
<li>Protocols having more than two parties involved; web
service workflow
<ul>
<li>structured version (ws-*, damls process model)
</li>
<li>precondition-postcondition style (DAMLS)
</li>
</ul>
</li>
<li>The protocols as business protocols, in terms of common
business functions
</li>
<li>The relationship between allowed transitions in the
protocol and the content of messages. For example, the
requirement for a transaction ID to match across a
transaction, or for possible responses to be a function of a
request code.
</li>
</ul>
<h3 id="Choreograp">
Composability and Choreography
</h3>
<p>
Composability of web services refers to the building, from a
set of web services, of something at a higher level,
typically itself exposed as a larger web service.
</p>
<p>
Choreography refers more abstractly the part of the
description of web services which defines a way, or the ways,
in which a acyual invokations to various web services work
together. (Peltz uses <em>Choregraphy</em> when it involves
multiple parties, and <em>Orchestration</em> when it is
internal to one party. Thus the former crosses application
boundaries, the latter also crosses organization boundaries.
here we use Choregorahy in general for both.)
</p>
<p>
There is so small amount overlap here, which has led to some
confusion. To be general, one might say, for example, that a
flight confirmation must involve an already reserved flight.
This the actual constraint. One can describe a particular
choregraphy (a particular dance, if you like) in which a
flight query service is called, and produced a list of
flights, and then a reservation service is called to reserve
the flight, that is successful, and the resulting reservation
is passed to the confirmation service. It may be that there
are other ways -- other choreographies -- in which one could
have achived a reserved flight. The engineer has the choice
of modelling the many possible ways all in one choreogrpahy,
or of making several choreographies.
</p>
<p>
Web services <em>can</em> be combined in such as way that
messages are passed around in a very random fashion. However,
a particular design techniqe is for a master process to
delegate to other services in a recusive tree-like manner, as
has been de rigueur in programming languages since Pascal.
For example, if the consumer asks the travel agent and the
the travel agent books a hotel, the hotel will reply to the
travel agent, not to the consumer. This makes everything
orderly.
</p>
<p>
WSCI, BPML and BEPL take this approach to choreography. This
is a programming language approach with
</p>
<ul>
<li>Sequential, Parallel and Exception execution, loops &
conditionals
</li>
<li>Message-passing rendezvous between processes
</li>
<li>Calls: Web Services
</li>
<li>Data: bits of XML
</li>
<li>Assignment to variables
</li>
<li>Expressions: XPath 1.0 plugable in BPEL
</li>
<li>Does not handle actual calculations, rules etc.
</li>
</ul>
<p>
WSCI has the empahsis on description, and BPEL on being able
to compile to an executable agent. As neither is intended to
do the actual calculations or business rules, it would be
closer to compare themm with scripting shells such as bash
which handle concurrency and synchronization but actually
call programs (or rather web services) to do the real work.
</p>
<p>
See:
</p>
<ul>
<li>WS Choreography Group
</li>
<li>IBM, Microsoft and BEA, under OASIS, <em>BPL4WS</em> (not
W3C, not RF).
</li>
<li>BPMI, Business Process Modelling Language BPML
</li>
<li>Sun et al: <em>Web Services Choreography Interface
(WSCI),</em> W3C Note
</li>
<li>IBM specs ws-coordination, ws-transaction,
ws-orchestration
<p>
Chis Peltz, Hewlett Packard, <em><a href=
"http://devresource.hp.com/drc/technical_white_papers/WSOrch/WSOrchestration.pdf">
Web Services Orchestration</a> - a review of emerging
technologies, tools, and standards.</em>
</p>
</li>
</ul>
<p>
@@ Different attitudes - top down program design, or
bottom-up agent design, bottom up document design.
</p>
<h3>
Message-oriented choregraphy
</h3>
<p>
The <a href="PaperTrail.html">Paper Trail</a> concept is that
the state of a mult-agent multi-process system can be looked
at, sometimes rather effectively, as a function of the
documents which have been transmitted.
</p>
<p>
The process-oriented attitude to a bank-customer relationship
may be "In parallel, the customer writes checks, merchants
pay in checks, credit card transactions happen, all month.
Then, the charges, interest are assessed and a bank statement
sent from the bank to the customer". The document-, or
message-oriented one is more like "Every month a bank balance
lists valid transaction dated that month. A cleared incoming
check in a valid transaction. A cleared outgoing check is a
valid transaction. A validated credit card debit is a valid
transaction. A check is cleared if it is incoming and there
is a matching transfer from the payee bank", and so on. This
builds the relationships up in a bottom-up, weblike way. The
process-oriented attitude suggests the bank be written as a
procedure in a top-down way using for example WSCI and BPL.
The document-oriented attitude suggests the use of business
rules systems triggered by the receipt of new information --
new documents, in this case new web services messages.
</p>
<p>
(Web service messages are of course documents just like
documents sent in email. Messages are particular in that they
have a particular time of transmission, and their document
content sdo not change. They do of course generally have
identifiers, and even though they can only be accessed by
sender and explicit receivers, they can still be regarded as
part of the web by those parties.)
</p>
<p>
Whether the design process is a top-down process-oriented one
or a bottom-up document-oriented one, the design will have to
be translated into a set of agents and their responses to
incoming messages. This manipulation can of course be done
automatically.
</p>
<p>
A concern in all this frantic design is it evolution with
time. A BPEL script sets out to be a description of a a
business process at a high level. The critical values which
decide on conditional execution, or which correlate a
particular process with a given transaction, are expressed as
parts of the structure of the XML messages. This may lead to
what has been called "DTD fragility". What happens which you
change the DTD? The design of the message types with XML
schema is the sort of thing which is difficult to get
everyone in a company to agree on, and tents to change with
time. There are many arbitrary choices made as to how the
knowledge in the message is serialized as XML. Moving to RDF
may, by removing a layer of arbitrary design, reduce that
fragility and allow web sevice choregraphy to evolve with
time within and outside a company.
</p>
<h3>
<a name="Process" id="Process">Process modeling</a>
</h3>
<p>
When considering a business system with multiple agents and
multiple concurrent processes, one would like to have an
automated way of checking some fundamental questions.
</p>
<ul>
<li>Will the process necessarily terminate?
</li>
<li>Will the service respond within a given time?
</li>
<li>Will the net gain from a sale always be positive?
</li>
<li>Will we ever promise to ship something we do not have in
stock?
</li>
</ul>
<p>
and so on.
</p>
<p>
The pi calculus and other calculi derived from it are formal
ways of modeling systems with multiple agents and multiple
processes. They can do some way to answering these questions.
Rule-based systems can also be designed so that proofs can be
found of these sort of conjecture. This is a good reason for
keeping the languages involved as simple as possible It may
be the design reason for the limitations on computational
power in WSCI and BPEL.
</p>
<p>
See petri nets (IBM; and stadford), Pi calculus @@ refs.
</p>
<p>
Much of the functionality is seen in terms of tying web
services down to well-known functionality such as exiting
transaction processing systems, PKI trust infrastructure, and
so on.
</p>
<h3>
<a name="Discovery" id="Discovery">Discovery</a>
</h3>
<p>
In a large number of applications, web servcies will be
provided by on one hand and used by on the other peers who
have established relationships. Indeed, until a trust
infrastructure is fairly developed it is not reasonable to
expect computers to do automatic comparison shopping for very
many services. Web services will probably (like the web in
1993, and the Semantic Web in 2003) spread first within the
corporate firewall, where security problems are minor and
mistakes less embarassing than inter-enterprise or
publically. However, the goal is that so many web services
should be available that it will be important to be able to
find them in all kinds of ways.
</p>
<p>
The UDDI project and the related work on description and
query systems is aimed at this. A positive aspect of UDDI is
the definition of an ontology for web services. Problems with
it are that it is centralized by design, both in the
single-tree ontology, and in the design based fundamentally
on a central registry, with inter-registry operation as a
secondary thing.
</p>
<p>
From the semantic web point of view, web services are simply
one aspect of the many things which will be searched for.
Indeed, the fact that a web service is provided may in fact
be rather incidental to the essential nature of the business
item which is discovered -- a trader in stocks, a seller of
lawnmowers, and so on. The semantic web aims to describe any
aspect of anything, including the catalogs, parts, materials,
services organization, relationships and contracts. A query
system which addresses web services only makes sense when
smoothly integrated with the rest of the web of enterprise
knowledge.
</p>
<h3>
<a name="Services" id="Services">Web Services and Semantic
Web</a>
</h3>
<p>
The question of the relationship between these two activities
is constantly in the air.
</p>
<ul>
<li>The whole description side is a clear semantic web
application, and so long as XML languages are defined which
introduced with english language specs but no RDF mapping,
there is a potential ambiguity which will have to be resolved
later in making that mapping, there is an inability to use
common semnatic web tools, and there is cost down the road
assuming semantci web tools will eventually be used.
Essentailly, web serv ices become instant legacy technoplogy
for the semantic web.
</li>
<li>The DAML-services collalition of researchers is tackling
the job of service description at a higher level.
</li>
<li>Many things which are described as web services can in
fact be described as the publication of a series of semantic
web documents, just as the billing of a peer company is in
reality effected by the issuance of an invoice.
</li>
<li>When Semantic Web agents query each other, they could use
SOAP (though a direct encoding into an HTTP URI may also be
effective).
</li>
<li>When Semantic Web agents update each other, they should
use SOAP, running typically over HTTP POST.
</li>
</ul>
<p>
The argument against integration of the technologies is
mainly social. It is costly to coordinate very large groups.
It is much more effcient to develop WS and SW independently.
Neither side has a great incentive to take on the learning
required to absorb the needs and potentials fo the other.
Using technology in preparation by another group takes a
great leap of faith, and does really add to the development
time. These are real issues. So while it may take more effort
in the long run, it is a better parallelization of the design
task to allow web services and semantic web to proceed in
together without a mandated link. (This was the apparent
consesnsus of the W3C AC meeting in Nice, 2000/11)
</p>
<p>
That said, wherever overlap of expertise between the
technologies occurs, those who form a bridge should do their
best to make the conceptual differences as small as possble.
There is a Semantic Web Services group, connected to the
______
</p>
<h3>
Service design tools
</h3>
<p>
Most modern software design differentiates strongly between
the design of an interface, and the design of the software
which implements it.
</p>
<p>
Web services are required to be composable - you should be
able to make a web service implmentation by building it out
of component web services. At the low level, think of making
a latittude/longitude to state code converter composed from a
latittude/longitude to postal code converter and a postal
code to state code converter. At a high level, think of a
making a vacation being composed of resrvations of flights,
hotels and entertainment.
</p>
<h3>
Runtime System management
</h3>
<p>
Real web services have multiple agents running commerical
environments, in which downtime is expensive, and incorrect
operation could be disasterous. The running, monitoring,
provisioning and upgrading of such systems clearly requires
tools, but their design is out of scope for this overview.
</p>
<hr />
<h2>
<a name="References" id="References">References, Fodder</a>
</h2>
<ul>
<li>Hugo Hass, <a href="../2003/03/ws-specs.html">List of Web
Services Specifications.</a> This lists the specs from
various sources in the web services area.
</li>
</ul>
<ul>
<li>W3C Web Servicess Workshop procedings. These position
papers were an early exposition of web services plans.
</li>
<li>
<a href="http://www.w3.org/2002/ws/">W3C WSeb Services
Activity</a> - all groups and documents, but
specifically:roups therein.
</li>
<li>
<a href="http://www.w3.org/2002/ws/arch/">W3C Web Services
Architectrue Working Group</a>
</li>
<li>White papers
</li>
</ul>
<p>
http://www.bpmi.org/
</p>
<p>
web ser vices orchestrationa review of emerging technologies,
tools, andstandards,
http://devresource.hp.com/drc/technical_white_papers/WSOrch/WSOrchestration.pdf
</p>
<p>
Related activites elsewhere
</p>
<ul>
<li>Rosettanet, UDDI, various Oasis activties.
</li>
</ul>
<p>
RPC history
</p>
<ul>
<li>Sun/RPC, Apollo domain, DCOM, OMG's Corba, XML/RPC
</li>
</ul>
<p>
See: @@@ <a href="../2003/03/ws-specs.html">Web Services
Specs</a>
</p>
<h3>
From W3c Web Services Workshop
</h3>
<p>
IBM, Microsoft: "<a href="../2001/03/WSWS-popa/paper51">Web
Services Framework</a>"
</p>
<p>
http://www.w3.org/2001/03/WSWS-popa/paper51
</p>
<h3>
Other white papers
</h3>
<p>
@@ HP's ESpeak papers - Web Services roots
</p>
<p>
From IBM:
</p>
<p>
http://www-106.ibm.com/developerworks/library/w-ovr/
</p>
<p>
From Microsoft:
</p>
<p>
http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnglo
bspec/html/ws-securitypolicy.asp
</p>
<p>
http://msdn.microsoft.com/library/en-us/dnglobspec/html/ws-trust.asp?frame=true
</p>
<p>
http://msdn.microsoft.com/webservices/understanding/whatsnext/default.aspx
</p>
<h3>
Fodder
</h3>
<p>
@@@@@
</p>
<p>
BPSS From FAQ: Q. What is the relationship between WSCI and
ebXML BPSS? A. There is no direct relationship between BPSS
and WSCI. They are used for different purposes and have
different design centers. BPSS is used for defining the
semantics of commercial collaboration between businesses. Its
design center is the commercial transactions between two
business partners, and as such it provides full commercial
semantics, and is designed to work in with conjunction with
the ebXML Collaboration Partner Profile/Agreement (CPP/CPA).
In contrast, WSCI is used for describing a Web service and
the operations performed by that Web service. Its design
center is the WSDL service definition, and it describes the
relationship between multiple WSDL operations that are
performed by a given Web service. Because WSCI is generic to
all Web services, it does not provide any explicit commercial
semantics, nor does it have any notion of a trading
collaboration partner agreement. ]]] -- <a href=
"http://wwws.sun.com/software/xml/developers/wsci/faq.html">http://wwws.sun.com/software/xml/developers/wsci/faq.html</a>
</p>
<p>
@@ concept diagram
</p>
<p>
Other areas one can contemplate include:
</p>
<ul>
<li>Constraints on the semantics of the messages as opposed
to merely their syntax
</li>
<li>Trust structures
</li>
<li>What sort of a service this is
<ul>
<li>classification of things bought and sold etc
</li>
</ul>
</li>
</ul>
<hr />
<p>
<a href="Overview.html">Up to Design Issues</a>
</p>
<p>
<a href="../People/Berners-Lee">Tim BL</a>
</p>
</body>
</html>