This repository has been archived by the owner on Nov 16, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 38
/
Copy pathrfp-0010-Service_Lookup.html
291 lines (219 loc) · 7.11 KB
/
rfp-0010-Service_Lookup.html
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
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.6 [en] (WinNT; I) [Netscape]">
<title>Service Lookup RFP (04-Oct-1999)</title>
</head>
<body bgcolor="#FFFFFF">
<center><table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="600" >
<tr>
<td ALIGN=LEFT WIDTH="30%"></td>
<td ALIGN=LEFT WIDTH="50%"></td>
<td ALIGN=LEFT></td>
</tr>
<tr>
<td>Java Expert Group </td>
<td></td>
<td>Kriens/Idermark</td>
</tr>
<tr>
<td ALIGN=LEFT>Request for Proposal: 0010</td>
<td ALIGN=LEFT></td>
<td ALIGN=LEFT>ERICSSON </td>
</tr>
<tr>
<td ALIGN=LEFT>Expires 20 days after: (tbd)</td>
<td ALIGN=LEFT></td>
<td ALIGN=LEFT>04 Oct 1999 </td>
</tr>
<tr>
<td ALIGN=LEFT>rfc-0010.html</td>
<td ALIGN=LEFT></td>
<td ALIGN=LEFT></td>
</tr>
<tr>
<td ALIGN=LEFT></td>
<td ALIGN=LEFT></td>
<td ALIGN=LEFT></td>
</tr>
</table></center>
<center>
<h2>
Service Lookup Service</h2></center>
<center><table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="600" >
<tr>
<td ALIGN=LEFT VALIGN=TOP>
<h4>
<b>Status of this Memo</b></h4>
<dl>
<dt>
This document suggests the following extension to the OSGi specification
and requests discussion. Distribution of this document is unlimited. </dt>
<h4>
Abstract </h4>
The ServiceSpace [1] API has been limited in functionality to allow even
very small devices to utilize it. This document requests and RFC that will
extend the ServiceSpace API with a facility to find services based on selection
criteria.
<h4>
Introduction </h4>
The ServiceSpace API does not support a lookup facility for services. Services
can only be obtained via the ServiceDescription. However, in many cases
there is a need for a facility where a service can be found via its property
values instead of its name.
<br>For example, a print service could register its service with a location
property. This would allow any other service that wants to print to present
a list of printing services that are close to a certain location.
<p>This RFP seeks RFCs that propose a service that can supply a filter
mechanism for services.
<h4>
Terminology</h4>
A <i>filter </i>is a construction that asserts one or more values on a
property.
<br>A <i>property</i> is a named attribute of a service. Each attribute
can contain 0 or more values.
<br>A <i>value</i> can be an instance of different data types.
<h4>
Technical Discussion</h4>
<h5>
The API must have:</h5>
<ol>
<li>
An OSGi service where other services can be enumerated that match a filter.</li>
</ol>
<h5>
The API should have:</h5>
<ol>
<li>
The API should fit in the standard OSGi environment as described in [1]
and [2].</li>
<li>
A standard set of attributes plus a mechanism to extend this</li>
<li>
Well defined rules for matching different data types </li>
<li>
Filters should support constructs like AND, OR and NOT.</li>
<li>
Filters should support sub expressions</li>
<li>
A service property must be allowed to have multiple values</li>
<li>
Magnitude comparisons (>,<) should be supported for the appropriate
attributes.</li>
</ol>
<h5>
The API could have:</h5>
<ol>
<li>
API's based on earlier standards are preferable.</li>
<li>
The minimum implementation must be possible to make it small (e.g. <8K).</li>
<li>
It must be possible to construct a filter in run time.</li>
<li>
Filters should be human readable</li>
<li>
A mapping to existing service lookup mechanisms: SLP [5], SSDP[6], JINI
[4], LDAP [3].</li>
<li>
Regular expression matching, approximate matching, presence testing.</li>
</ol>
<h4>
Security Considerations </h4>
The list of services should only contain services to which this service
has access to.
<h4>
References </h4>
[1] Jim Mathis, "Services Framework RFP", OSGi RFP-0001, 1999-09-16, rfp-0001.html
<br>[2] Jim Mathis, "Services Framework J2ME Profile RFP", OSGi RFP-0006,
1999-09-17, rfp-0006.html
<br>[3] LDAP Filter syntax, RFC1960, http://sunsite.hr/cgi-bin/rfc/rfc1960.txt
<br>[4] JINI, http://www.sun.com/jini/
<br>[5] SLP, http://194.52.182.96/rfc/rfc2165.html
<br>[6] SSDP, http://search.ietf.org/internet-drafts/draft-cai-ssdp-v1-02.txt
<h3>
Author's Address </h3>
<table CELLSPACING=0 CELLPADDING=5 WIDTH="600" >
<tr>
<td ALIGN=LEFT VALIGN=TOP WIDTH="231">First Name:</td>
<td ALIGN=LEFT VALIGN=TOP WIDTH="179">Peter</td>
<td ALIGN=LEFT VALIGN=TOP WIDTH="182">Tom</td>
</tr>
<tr>
<td ALIGN=LEFT VALIGN=TOP>Last Name: </td>
<td ALIGN=LEFT VALIGN=TOP>Kriens</td>
<td ALIGN=LEFT VALIGN=TOP>Idermark</td>
</tr>
<tr>
<td ALIGN=LEFT VALIGN=TOP>Company Name: </td>
<td ALIGN=LEFT VALIGN=TOP>ERICSSON</td>
<td ALIGN=LEFT VALIGN=TOP>ERICSSON</td>
</tr>
<tr>
<td ALIGN=LEFT VALIGN=TOP>Company Division: </td>
<td ALIGN=LEFT VALIGN=TOP></td>
<td ALIGN=LEFT VALIGN=TOP></td>
</tr>
<tr>
<td ALIGN=LEFT VALIGN=TOP>Street Address: </td>
<td ALIGN=LEFT VALIGN=TOP>Finnasandsvagen</td>
<td ALIGN=LEFT VALIGN=TOP>Teknikringen 8</td>
</tr>
<tr>
<td ALIGN=LEFT VALIGN=TOP>City, State, Country, Postal Code: </td>
<td ALIGN=LEFT VALIGN=TOP>Onsala,,Sweden,43933</td>
<td ALIGN=LEFT VALIGN=TOP>Linkoping,,Sweden,581 17</td>
</tr>
<tr>
<td ALIGN=LEFT VALIGN=TOP>voice: </td>
<td ALIGN=LEFT VALIGN=TOP>+46 70 5950899</td>
<td ALIGN=LEFT VALIGN=TOP>+46 13 322104</td>
</tr>
<tr>
<td ALIGN=LEFT VALIGN=TOP>fax: </td>
<td ALIGN=LEFT VALIGN=TOP>+46 300 39805</td>
<td ALIGN=LEFT VALIGN=TOP></td>
</tr>
<tr>
<td ALIGN=LEFT VALIGN=TOP>e-mail:</td>
<td ALIGN=LEFT VALIGN=TOP><a href="mailto:[email protected]" TARGET="_top">[email protected]</a></td>
<td ALIGN=LEFT VALIGN=TOP><a href="mailto:[email protected]">[email protected]</a></td>
</tr>
</table>
<h4>
Full Copyright Statement </h4>
<dd>
Copyright (C) The Open Services Gateway Initiative (1999).</dd>
<br>All Rights Reserved.
<p>This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it may
be prepared, copied, published and distributed, in whole or in part, without
restriction of any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works. However,
this document itself may not be modified in any way, such as by removing
the copyright notice or references to the Open Services Gateway Initiative.
<p>The limited permissions granted above are perpetual and will not be
revoked by the Open Services Gateway Initiative or its successors or assigns.
<p>This document and the information contained herein is provided on an
"AS IS" basis and THE OPEN SERVICES GATEWAY INITIATIVE DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE
USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
<dt>
</dt>
<dd>
</dd>
</dl>
</td>
</tr>
<tr>
<td></td>
</tr>
</table></center>
<hr>
<br>
<p>Expires 20 days after: (tbd)
</body>
</html>