UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University...

28
UDDI, ebXML, WSIL, UDDI, ebXML, WSIL, XRI, WSDM (and the XRI, WSDM (and the GRID) GRID) Matthew J. Dovey Matthew J. Dovey Technical Manager Technical Manager Oxford University e-Science Oxford University e-Science Centre Centre [email protected] [email protected]
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    0

Transcript of UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University...

Page 1: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

UDDI, ebXML, WSIL, XRI, UDDI, ebXML, WSIL, XRI, WSDM (and the GRID)WSDM (and the GRID)

Matthew J. DoveyMatthew J. DoveyTechnical ManagerTechnical Manager

Oxford University e-Science CentreOxford University e-Science [email protected]@oucs.ox.ac.uk

Page 2: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

UDDIUDDI

Universal Description Discovery and IntegrationUniversal Description Discovery and Integration

Provides data model for describing businesses Provides data model for describing businesses and servicesand services

Provides API for accessing registriesProvides API for accessing registries

UBR – Public Registry maintained by IBM, UBR – Public Registry maintained by IBM, Microsoft, HP etc. Microsoft, HP etc. But UDDI can be used for private/community But UDDI can be used for private/community

registriesregistries

Page 3: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

UDDI HistoryUDDI History

Initial simple specification to encourage take-up Initial simple specification to encourage take-up and early implementationsand early implementationsFairly rapid turn-around of new versions:Fairly rapid turn-around of new versions: Version 1.0 late 2000Version 1.0 late 2000 Version 2.0 mid 2001Version 2.0 mid 2001 Version 3.0 mid 2002Version 3.0 mid 2002

2000-2002: lead by UDDI Consortium2000-2002: lead by UDDI Consortium2002- moved to OASIS TC2002- moved to OASIS TCPresent:Present: Version 2.0 process of vote for OASIS Standard Version 2.0 process of vote for OASIS Standard Version 3.0 OASIS Committee specificationVersion 3.0 OASIS Committee specification

Page 4: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

UDDI Data StructureUDDI Data Structure

V2

Page 5: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

UDDI APIUDDI API

SecuritySecurity get_AuthToken, discard_AuthTokenget_AuthToken, discard_AuthToken

PublicationPublication save_ (create, update), delete_save_ (create, update), delete_

InquiryInquiry find_, get_ find_, get_ template based queriestemplate based queries No relevance/rankingNo relevance/ranking Negotiation (QoS, price etc.) should happen outside Negotiation (QoS, price etc.) should happen outside

of UDDI (but UDDI may contain endpoints to such of UDDI (but UDDI may contain endpoints to such negotiation services)negotiation services)

Page 6: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

UDDI v3UDDI v3

SubscriptionSubscription SynchronousSynchronous Asynchronous (via callback webservice)Asynchronous (via callback webservice)

Digital signature support for authenticating provenenceDigital signature support for authenticating provenenceCustody transferCustody transferExplicit node replication APIExplicit node replication API

V2 left to implementationV2 left to implementation

Migration of data between registriesMigration of data between registries UBR as registry of key generatorsUBR as registry of key generators

UDDI Policy modelingUDDI Policy modelingAll UDDI objects can be referenced by http getsAll UDDI objects can be referenced by http getsAdditional query modifiers, category groups, Additional query modifiers, category groups, internationalization, etc.internationalization, etc.

Page 7: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

UDDI ExtensibilityUDDI Extensibility

Prior to v3Prior to v3 getBusinessDetailExtgetBusinessDetailExt

V3 AppendixV3 Appendix Extending data model via XML Schema Extending data model via XML Schema

substitutionGroupssubstitutionGroups Extending API structures via XML Schema Extending API structures via XML Schema

substitutionGroupssubstitutionGroups Use of XML Namespace to identify extension Use of XML Namespace to identify extension

elementselements Policy for client/server behaviourPolicy for client/server behaviour

Page 8: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

Extensibility ExampleExtensibility Example<uddi:add_publisherAssertions

xmlns:egExt="http://tempuri.org/uddi_extension"xmlns:uddi="urn:uddi-org:api_v3"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<uddi:authInfo>someAuthInfo</uddi:authInfo><egExt:publisherAssertionExt>

<uddi:fromKey>some business key</uddi:fromKey><uddi:toKey>some other business key</uddi:toKey><uddi:keyedReference

tModelKey="uddi:uddi.org:relationships"keyName="some peer to peer relationship"keyValue="peer-peer" />

<uddi:discoveryURLs><uddi:discoveryURL useType="contract">

http://www.example.com/contract/p2pcontract.pdf</uddi:discoveryURL>

</uddi:discoveryURLs></egExt:publisherAssertionExt>

</uddi:add_publisherAssertions>

Page 9: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

UDDI v4UDDI v4

Compatibility changes for SAML, WS-A, WS-I, WS-Compatibility changes for SAML, WS-A, WS-I, WS-Policy, BPEL, Policy, BPEL, XRIXRI, etc., etc.Better external taxonomy support etc.Better external taxonomy support etc.More granular access control (by role, entity, action)More granular access control (by role, entity, action)Life of data (stale data)Life of data (stale data)Trustworthiness (integration of trust and identity Trustworthiness (integration of trust and identity services)services)Federation (representing registries within registries)Federation (representing registries within registries)Different comparisons for category groupsDifferent comparisons for category groupsUDDI and GRID – best practice or new requirements?UDDI and GRID – best practice or new requirements?

More best practice guides etc.More best practice guides etc.

Page 10: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

XRI – eXtensible Resource XRI – eXtensible Resource IdentifierIdentifier

New OASIS Committee (began early this year)New OASIS Committee (began early this year)Chairs:Drummond Reed, OneName and Gabe Wachob, Visa International Chairs:Drummond Reed, OneName and Gabe Wachob, Visa International

Aims:Aims: to define a URI scheme and a corresponding URN namespace that provide to define a URI scheme and a corresponding URN namespace that provide

transport- and application-neutral identification schemes to support distributed transport- and application-neutral identification schemes to support distributed directory services that enable the identification of resources (including people directory services that enable the identification of resources (including people and organizations)and organizations)

define basic mechanisms for resolving the identifiers in thesedefine basic mechanisms for resolving the identifiers in theseschemes and for exchanging data associated with these identifiers. schemes and for exchanging data associated with these identifiers.

To enable the creation of Web-like collections of resourcesTo enable the creation of Web-like collections of resources(including, but not limited to, data, systems, services, organizations,(including, but not limited to, data, systems, services, organizations,and people) that extend the WWW's current generalized addressing andand people) that extend the WWW's current generalized addressing andlinking capabilitieslinking capabilities

Define an XML schema to associate metadata withDefine an XML schema to associate metadata withresources and a service to manipulate this metadata and data associatedresources and a service to manipulate this metadata and data associatedwith the resourceswith the resources

Page 11: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

XRI StrawmanXRI StrawmanXRI-URI areXRI-URI are

Abstract - XRI-URIs are intended primarily to identify things that are not otherwise Abstract - XRI-URIs are intended primarily to identify things that are not otherwise concretely identified on the network (such as HTTP endpoints, SMTP mailboxes, etc) concretely identified on the network (such as HTTP endpoints, SMTP mailboxes, etc)

Human-friendly - XRI-URIs are intended to supported names that are parseable, Human-friendly - XRI-URIs are intended to supported names that are parseable, memorable, and semantically meaningful to humans. memorable, and semantically meaningful to humans.

Reassignable - XRI-URIs are intended to be "reassignable". This means that they can both Reassignable - XRI-URIs are intended to be "reassignable". This means that they can both resolve to different networked resources or representations as well as semantically refer to resolve to different networked resources or representations as well as semantically refer to different resources themselves over time. different resources themselves over time.

Multiple paths of hierarchy - Each "segment" of an XRI-URI corresponds to a local key in a Multiple paths of hierarchy - Each "segment" of an XRI-URI corresponds to a local key in a directory/namespace. No assumption is made about the segments used to "reach" a directory/namespace. No assumption is made about the segments used to "reach" a particular directory -- there can be multiple "paths" to get to a particular particular directory -- there can be multiple "paths" to get to a particular directory/namespace. directory/namespace.

XRI-URNs are:XRI-URNs are: Abstract - XRI-URNs are intended primarily to identify things which are not otherwise Abstract - XRI-URNs are intended primarily to identify things which are not otherwise

concretely identified on the network (such as HTTP endpoints, SMTP mailboxes, etc)concretely identified on the network (such as HTTP endpoints, SMTP mailboxes, etc) Efficiently Machine Resolvable - An important feature of XRI-URNs is that they are very Efficiently Machine Resolvable - An important feature of XRI-URNs is that they are very

efficiently resolvable. Efficient resolvability is favored over support for human readability. efficiently resolvable. Efficient resolvability is favored over support for human readability. Permanent - XRI-URNs have the semantics of other URN schemes – an XRI-URN refers to Permanent - XRI-URNs have the semantics of other URN schemes – an XRI-URN refers to

the same logical resource from the time it is defined globally and forever.the same logical resource from the time it is defined globally and forever.

Page 12: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

XRI ExamplesXRI Examples

XRIXRI xri://’naming.authority’/local/part xri://’naming.authority’/local/part (abstract identifiers)(abstract identifiers) xri://naming.authority.com/local/part xri://naming.authority.com/local/part (leveraging DNS)(leveraging DNS) xri://(http://root.cross-reference.com).leaf/local/part xri://(http://root.cross-reference.com).leaf/local/part (cross referencing leveraging other URI scheme – abstract identifiers)(cross referencing leveraging other URI scheme – abstract identifiers) xri://=AlbertEinstein/theory/relativity xri://=AlbertEinstein/theory/relativity (shortcut mnemonics for convenience of humans)(shortcut mnemonics for convenience of humans)

XRNXRN urn:xri://.naming.authority/local/parturn:xri://.naming.authority/local/part (abstract identifiers)(abstract identifiers) urn:xri://.(urn:pin:999).leaf/local/parturn:xri://.(urn:pin:999).leaf/local/part (cross referencing leveraging other URN scheme – abstract identifiers)(cross referencing leveraging other URN scheme – abstract identifiers)

Page 13: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

WSIL - Web Services Inspection LanguageWSIL - Web Services Inspection Language

IBM/Microsoft Note (2001)IBM/Microsoft Note (2001)

Dropped from OGSI/OGSA due to Dropped from OGSI/OGSA due to potential IPR issuespotential IPR issues

XML document acting as intermediate XML document acting as intermediate pointer to service descriptionpointer to service description

Can reference UDDI services or WSDL (or Can reference UDDI services or WSDL (or other WSIL)other WSIL)

Extensible to support other descriptionsExtensible to support other descriptions

Page 14: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

WSIL ExamplesWSIL Examples

Referencing WSDLReferencing WSDL

<description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" location="http://example.com/stockquote/main.wsdl">location="http://example.com/stockquote/main.wsdl">

</description> </description>

Referencing UDDIReferencing UDDI

<description referencedNamespace="urn:uddi-org:api"><description referencedNamespace="urn:uddi-org:api"><wsiluddi:serviceDescription <wsiluddi:serviceDescription location="http://www.example.com/uddi/inquiryapi"> location="http://www.example.com/uddi/inquiryapi"> <wsiluddi:serviceKey>4FA28580-5C39-11D5-9FCF-B3200333F79</wsiluddi:serviceKey><wsiluddi:serviceKey>4FA28580-5C39-11D5-9FCF-B3200333F79</wsiluddi:serviceKey>

<wsiluddi:discoveryURL useType="businessEntity"><wsiluddi:discoveryURL useType="businessEntity">

http://www.example.com/uddi?3C9CADD0-5C39-11D5-9FCF-BB3200333F79http://www.example.com/uddi?3C9CADD0-5C39-11D5-9FCF-BB3200333F79</wsiluddi:discoveryURL></wsiluddi:discoveryURL>

</wsiluddi:serviceDescription></wsiluddi:serviceDescription></description> </description>

Page 15: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

Locating WSILLocating WSIL

Add /inspection.wsil to URL Add /inspection.wsil to URL

Via HTML meta tagsVia HTML meta tags <HTML> <HEAD> <META name="serviceInspection" <HTML> <HEAD> <META name="serviceInspection"

content="localservices.wsil"> <META content="localservices.wsil"> <META name="serviceInspection" name="serviceInspection" content="http://www.example.com/calculators.wsil"> content="http://www.example.com/calculators.wsil"> <META name="serviceInspection" <META name="serviceInspection" content="ftp://www.anotherexample.com/translators.wcontent="ftp://www.anotherexample.com/translators.wsil"> </HEAD> <BODY> sil"> </HEAD> <BODY>

Page 16: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

WSIL Alternative?WSIL Alternative?

Use of html link element (proposed to Use of html link element (proposed to UDDI list by Paul Denning)UDDI list by Paul Denning) e.g.e.g.

<link rel="alternate" type="application/uddi-inq+xml" <link rel="alternate" type="application/uddi-inq+xml" title="bizNameHere" title="bizNameHere" href="url/to/SOAP/UDDIv2/inquiryAPI" /> href="url/to/SOAP/UDDIv2/inquiryAPI" />

UDDI v3 all UDDI objects can be referenced by http UDDI v3 all UDDI objects can be referenced by http gets.gets.

Page 17: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

Web Service Architecture – DiscoveryWeb Service Architecture – Discovery

N.B.N.B. UDDI is registry designed for long life-cycle endpointsUDDI is registry designed for long life-cycle endpoints QoS, contract negotiation, management, etc. outside of UDDI (but endpoints can be stored QoS, contract negotiation, management, etc. outside of UDDI (but endpoints can be stored

in UDDI)in UDDI)

Page 18: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

ebXMLebXML

XML for e-BusinessXML for e-Business

OASIS Standard (Currently at version 2)OASIS Standard (Currently at version 2)

Defines:Defines: Data model for e-business objects (including Data model for e-business objects (including

services, policies etc.)services, policies etc.) Messaging for e-business transactionsMessaging for e-business transactions Registry for e-business objectsRegistry for e-business objects

Page 19: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

ebXML Data ModelebXML Data Model

Object Oriented Model (UML)Object Oriented Model (UML) Objects have methods and attributesObjects have methods and attributes

Page 20: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

ebXML Registry APIebXML Registry API

Life Cycle ManagementLife Cycle Management

Query ManagementQuery Management Filter (XML syntax)Filter (XML syntax) SQLSQL XQuery in future version?XQuery in future version?

ebXML Registries must ebXML Registries must have policieshave policies

AuditingAuditing

Page 21: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

ebXML Filter QueryebXML Filter Query<AdhocQueryRequest> <ResponseOption returnType = "LeafClass"/> <FilterQuery> <OrganizationQuery> <OrganizationParentBranch> <NameBranch> <LocalizedStringFilter> <Clause> <SimpleClause leftArgument = "value"> <StringClause stringPredicate = "Equal">XYZ</StringClause> </SimpleClause> </Clause> </LocalizedStringFilter> </NameBranch> </OrganizationParentBranch> </OrganizationQuery> </FilterQuery></AdhocQueryRequest>

select id from Organization where parent in (select id from Organization where name = ‘XYZ’);

Page 22: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

ebXML and UDDIebXML and UDDI

Fairly similar aimsFairly similar aims ebXML centred on e-businessebXML centred on e-business UDDI centred on WebServicesUDDI centred on WebServices ebXML defined UML data model; UDDI defines XML ebXML defined UML data model; UDDI defines XML

SchemaSchema

Cross OASIS TC Working GroupsCross OASIS TC Working Groups UDDI as basis for ebXML registriesUDDI as basis for ebXML registries ebXML as basis for UDDI registriesebXML as basis for UDDI registries

JAXR (Java Access to XML Registries)JAXR (Java Access to XML Registries) High level abstract interface to UDDI, ebXML, …High level abstract interface to UDDI, ebXML, …

Page 23: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

WSDMWSDM

New OASIS TC (started up last month)New OASIS TC (started up last month)Based on previous floundered OASIS TCBased on previous floundered OASIS TC

Defining management of distributed resources Defining management of distributed resources USING Web servicesUSING Web servicesDefining management OF Web services Defining management OF Web services operations and WSDL. operations and WSDL. Collaborate with W3C, GGF, DMTF, OASISCollaborate with W3C, GGF, DMTF, OASISChairs: Heather Kreger (IBM, Chair of WSA Chairs: Heather Kreger (IBM, Chair of WSA MTF) & Winston Bumpus (Novell, DMTF MTF) & Winston Bumpus (Novell, DMTF President)President)

Page 24: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

Web Service Architecture – MTF Web Service Architecture – MTF

Defining the manageability characteristics of the Defining the manageability characteristics of the architectural elements of the Web Services architecture, architectural elements of the Web Services architecture, i.e.:i.e.:

IIdentification - data that uniquely identifies the elementdentification - data that uniquely identifies the element Status - information about operational state of a element (up: Status - information about operational state of a element (up:

busy/idle; down: stopped/saturated/crashed)busy/idle; down: stopped/saturated/crashed) Configuration - a collection of behavioural properties which may Configuration - a collection of behavioural properties which may

be changed (persistent over instances)be changed (persistent over instances) Metrics - raw atomic, unambiguous information for Metrics - raw atomic, unambiguous information for

managmement purposesmanagmement purposes e.g. response times e.g. response times Operations - methods that control or help manage the entity Operations - methods that control or help manage the entity

(instance specific)(instance specific) Events - changes in the state of the entity e.g a lifecycle state Events - changes in the state of the entity e.g a lifecycle state

change, or a state change.change, or a state change.

Page 25: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

DTMFDTMF

Models real world managed objects. Large existing Models real world managed objects. Large existing model (not in web/grid format/granularity)model (not in web/grid format/granularity)

Application Working GroupApplication Working Group Intends to model management of web services Intends to model management of web services

Interoperability Working Group Interoperability Working Group Defining a CIM/SOAP protocol in WSDL: CIM/Ops as Defining a CIM/SOAP protocol in WSDL: CIM/Ops as

WSDL operations and xmlCIM as the body of SOAP WSDL operations and xmlCIM as the body of SOAP messages over HTTPmessages over HTTP

Page 26: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

GRIDGRID

OGSA et al.OGSA et al.

But you know all about that!But you know all about that!

Page 27: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

Web Services stackWeb Services stack

Man

agem

ent

Secu

rity/Trust/P

rivacy

Qu

ality of S

ervice

Manageability portTypes - OASIS WSDM, GGF CMM, DMTF

Management requirements for a Manageable Web Services ArchictureW3C WS Arch WG, Management TF

Web service based accessto management data - OASIS WSDM, GGF CMM

Mangeability of Web ServicesOASIS WSDM

Page 28: UDDI, ebXML, WSIL, XRI, WSDM (and the GRID) Matthew J. Dovey Technical Manager Oxford University e-Science Centre matthew.dovey@oucs.ox.ac.uk.

LinksLinks

OASIS (ebXML, UDDI, XRI, WSDM)OASIS (ebXML, UDDI, XRI, WSDM) http://www.oasis-open.orghttp://www.oasis-open.org//

Web Service ArchitectureWeb Service Architecture http://www.w3.org/2002/ws/arch/http://www.w3.org/2002/ws/arch/

WSILWSIL http://www-106.ibm.com/developerworks/webservices/library/ws-http://www-106.ibm.com/developerworks/webservices/library/ws-

wsilspec.htmlwsilspec.html