42
Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Embed Size (px)

Citation preview

Page 1: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Enhancing the “Wire”

SIF v2.5 Web Services and the Future Direction of SIF Infrastructure

Copyright SIF Association

Page 2: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Agenda SIF Infrastructure Today: The ZoneSIF Infrastructure Tomorrow: Web Services

Why it was time to move forwardTechnical Direction: Guiding Principals

SIF v2.5 FunctionalityNormative WS DependenciesCreation of a 2nd Reference Transport (SOAP)ZIS and Push Agent Service WSDLOn the wire message examples

What happens next Conclusions & Questions

Page 3: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

SIF Infrastructure Today:A look under the hood

Page 4: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Copyright © SIF Association

Components Working Together

Network Account

H.R. &Finance

Data Analysis

& Reporting

Transportation

Library Automation

Student Information Services

GradeBook

FoodServices

– Zone Integration Server (ZIS)

– SIF Agents

– Applications

– SIF Data Objects

“SIF Zone”

Page 5: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

What is a SIF Zone?• A dedicated “Message Broker-Centric” intranet for

message exchange between two or more Agents.– Each Agent “fronts” for a different K-12 Application– The Zone Message Broker is the ZIS– All Agent Messages are sent to the ZIS and routed to their

appropriate Destination(s)– Request / Response and Publish / Subscribe exchanges

• A collection of certified interoperable components– Any SIF-Certified ZIS on any platform is compatible with any

SIF-Certified Agent on any platform.– Certification is for interoperability …not “correctness”

Page 6: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

What is a SIF Zone? (Con’t)• An Agent between SIF Application and ZIS

– Wraps SIF Transport Protocol details– Asynchronous input Queue in Synchronous Method

Calls– Handles Initial Application Registration to ZIS– Handles Event Subscriptions on ZIS “Topics”

• Per Object Type Application Mapping– Requester / Subscriber / Provider / CUD Event

Publisher• Applications independent of ZIS

• Need not know ZIS is there

Page 7: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

ZIS Functionality: Summary• Quality of Service

– Guaranteed once only Message Delivery– Content Based Routing– Publish / Subscribe support

• Security– Application Authentication– Application level Authorization– Element Level Security (XML Filtering) and encryption

• Application Registry – Auto-Discovery of Object Providers

• Zone Management (monitoring & control)• Certification Program for Compliance

ZIS

Page 8: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

SIF v2.x Zone: Interoperability

Agent Agent

Client Application

Object Provider

Application

Zone Integration

ServerSIF SIF

DB

Agent

Object Provider

ApplicationDB

SIF

Page 9: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Why it was time for SIF to move forward

Page 10: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

SIF’s Guiding Principles for Technology Evolution

• Backwards compatibility should never be broken.– Any technology roadmap must provide a reasonable

transition from where things are today– Extend & Embrace not Rip & Replace

• Increasing “Out of the Box” interoperability is at least as important as adding new functionality.– Leverage Service Encapsulation– Completely define any normative dependencies (what

standard, how used)

• Don’t duplicate existing external technology – adopt it

Page 11: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Advantages of WS support• Web service technology: Advanced and ubiquitous

– Off the shelf connectability at the infrastructure level– Open source and commercial development tool support– Developer expertise far more widespread

• External Applications can leverage Web Services– Registries & Service Governance (UDDI)– Diagnostic support (CIM and WS-Management)– ESB Security Managers and Work Flow Generators

• Powerful story to external communities– “SOA-based” SEAs and large Districts– Previously non-participating K-12 vendors– Developers in allied domains (Higher Ed, Health Care)

Page 12: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

• Infrastructure implications:– SIF Data Model schemas accessible through standard

web service technologies (SOAP / WSDL / …)

• Both Backwards and Forwards Compatibility– Any new SIF Object Provider writable as a standard Web

Service using a publically available toolset– All SIF Data accessible as a Web Service – even by “pure”

registered Web Clients outside the Zone.

• ZIS functionality still available– Guaranteed Delivery, Content Based Routing, Auto

Discovery, Data Privacy and Data Security– Web Service Existing Agent / App

The Web Service-enabled Zone

Page 13: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Planning out the Road Ahead

Page 14: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

1. Added second reference transport (SOAP)– ZIS is the bridge to HTTP/S

2. Wrapped ZIS functionality in WSDL Interface– The ZIS is the implementation of the Zone Web Service– Define Web Service Framework

• SOAP / WSDL Versions & options• Other WS -* standards and options (WS-Addressing, BP 1.2)

3. Wrapped Push Agents functionality in WSDL– Write any SIF Application as a “limited” Web Service – Support identical interface (Event, Request, Response)

SIF v2.5 with Web Services (March)

Page 15: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

A. SOAP as an Optional SIF Transport

Agent Agent

Client Application Object

Provider Application

Zone Integration

Server

SIF SIF

DB

AgentObject

Provider Application

DBSIF

SOAP HTTPS

HTTPS

Page 16: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

B. The ZIS viewed as a Series of SIF Infrastructure Web Services

SOAP overHTTP/S

Registration & Subscribe

Service WSDL

Zone Integration

Server

Request & Publish

Service WSDL

SIF Web Application

SIF Agent

Existing SIF Application

SIF

SIF

HTTP/S

SOAP overHTTP/S

SIF

Page 17: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

• Advantages: Minor– A necessary 1st step:– Agent writers may use more generic tools

• Changes / Risks:– ZIS must “bridge” between SOAP and existing SIF Infra– ZIS Certification testing extended

• Migration Path– Existing Agents and applications are unaffected

• Issues / Implications / Limitations– SOAP (pick one version) or REST but not both– May require prior separation of the data model from the

existing SIF infrastructure

SOAP as an Optional Transport

Page 18: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

SIF Web Application• Communicates through SOAP / WSDL

– SIF-Defined versions, options error conventions– Web technologies provide a 2nd Reference Transport

• Invokes SIF Infrastructure Service WSDL APIs– Parallel existing SIF Agent invocations of ZIS– Separate “Push” & “Pull” WSDL variants supported– ZIS becomes “implementation detail”

• Can be SIF Client, Object Provider, or both– Complete functionality of existing SIF Agent /

Application pairs

Page 19: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

The Core SIF Infrastructure Services

Registration & Subscribe

Service WSDL

Zone Integration

Server

Request & Publish

Service WSDL

SIF Web Application

Register (Who am I?)

Page 20: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

The Core SIF Infrastructure Services

Registration & Subscribe

Service WSDL

Zone Integration

Server

Request & Publish

Service WSDL

SIF Web Application

Subscribe & Provide (What do I want to do?)

Callback WSDL

Endpoint( )

Page 21: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

The Core SIF Infrastructure Services

Registration & Subscribe

Service WSDL

Zone Integration

Server

Request & Publish

Service WSDL

SIF Web Subscriber

Object EventsWSDL

Endpoint

SIF Agent

SIF Publishing Application

SIF

Page 22: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

The Core SIF Infrastructure Services

Registration & Subscribe

Service WSDL

Zone Integration

Server

Request & Publish

Service WSDL

SIF Object Provider

Web Service

Object Read RequestsWSDL

EndpointObject Data Response

SIF Agent

SIF Client

SIF

Page 23: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

The Core SIF Infrastructure Services

Registration & Subscribe

Service WSDL

Zone Integration

Server

Request & Publish

Service WSDL

SIF Web Publisher

Publish “Object Change” Event

WSDL Endpoint

SIF Agent

SIF Subscriber

SIF

Page 24: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

The Core SIF Infrastructure Services

Registration & Subscribe

Service WSDL

Zone Integration

Server

Request & Publish

Service WSDL

SIF Web Client Request

Object Data

Object Data Response

WSDL Endpoint

SIF Agent

SIF Object Provider

SIF

Page 25: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Web Service Alternative to Agent/Application

Registration & Subscribe

Service WSDL

Zone Integration

Server

Request & Publish

Service WSDL

SIF Object Provider or

other SIF Application (written as pure Web

Application)

Register & Subscribe & Responses

Object Events & Requests

Request s & Event Publish

Responses

WSDL Endpoint

SIF Agent

Existing SIF Application

SIF

Page 26: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

• Any new SIF Object Provider writable as a standard Web Service using a publically available toolset– Appeal to External Educational Communities that must soon

interface with SIF Zones but have not yet standardized on how (LMS)

• All SIF Data accessible as a Web Service – even by “pure” registered Web Clients outside the Zone.• Appeal to non-Educational Vendor Products or End User

Communities that will never be integrated into the SIF Zone

• ZIS functionality still available– Guaranteed Delivery, Content Based Routing, Auto

Discovery– Web Service Existing Agent / App

The Web Service-enabled Zone

Page 27: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

• Migration Path– Existing Agents and applications are still unaffected– Complete interoperability with new Web Services

• Issues / Implications / Limitations– New Object Provider Services support same CRUD API– The ZIS is still at the center of every message exchange– The SIF object hierarchy is still visible – The registration and subscribe logic is still required– Error resolution must make sense in WS terms– Impact to Certification Test Harness

The Web Service-enabled Zone(Con’t)

Page 28: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Physical Topology: Zone can be a Service accessible via ESB

SOAP

Registration & Subscribe

Service WSDL

Request & Publish Service

WSDL

SIF Web Application

SIF Agent

Existing SIF Application

SIF V3.0 ZIS

SIF

ESB

SOAP SOAP

Page 29: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Other SIF Utility Web ServicesOnce the ZIS is hidden behind a Web Service

API wall or replaced altogether, additional SIF Infrastructure Web Services may be

supported

UDDI SIF Application Registry WS-Management / CIM-based Administration BAM-type Message Logging Complex Event Processing & Filtering

Page 30: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

The devil is in the details

Page 31: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Web Service Functionality:Normative Dependencies

Component Choice Options

Transport SOAP 1.1 Document/Literal

Interface Language WSDL 1.1

Basic Profile BP 1.2 WS-Addressing

Security Transport Layer Security (TLS)

Underlying protocol: HTTPS 1.1

Mutual Authentication mode supported by X.509 Certificates

Page 32: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Structure of a SIF MessageHTTPS Transport SOAP Transport

SIF_Message

SIF_Response SIF_Header Header Sublements Packet control elements SIF_ObjectData (xs:choice) (Chosen Data Object Schema)

SOAP Envelope SOAP Header

WS-Addressing elements SIFHeader

Header Subelements Packet control elements SOAP Body

SIF_QueryResponse (xs:any) (Any Data Object Schema)

The SIFHeader contains those elements necessary to successfully process and route the SIF_QueryResponse message being conveyed

The SIF_QueryResponse schema is independent of the actual SIF data object or SIF data elements being conveyed.

Page 33: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

SIF XML Namespaces

Transport (ex: SIF_Header) || || (Dependency)

V

Messaging (ex: SIF_Request) || || (Dependency)

V

-----------------------------------

Data Model (v2.5 US, UK, AU)(Ex: StudentPersonal)

Transport(SOAP Header)

Co-exist with WS-Addressing

Messaging(Top Child in SOAP Body)

Ex: SIF_Query

Data Model(Any locale, any version)

SIF v2.5 Web ServicesSIF v2.X HTTP/S

Page 34: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

SOAP Header: WS-Addressing

<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope”> <soap:Header xmlns:wsa=”http://www.w3.org/2005/08/addressing”> <wsa:To>https://AcmeHost:443/StudentAdmin</wsa:To> <wsa:From> <wsa:Address>https://AcmeHost:443/ZoneControl</wsa:Address> </wsa:From> <wsa:MessageID>A3E90785EFDA330DACB00785EFDA330E</wsa:MessageID> <wsa:Action> http://www.sifassociation.org/contract/SifZone/2.x/ PushAgent-S11/PostEvent </wsa:Action>

<wsa:ReplyTo> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address> </wsa:ReplyTo>

<wsa:FaultTo> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address> </wsa:FaultTo>

Page 35: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

SOAP Header: SIF Transport<SIFHeader xmlns=”http://www.sifassociation.org/transport/soap/2.x” soap:mustUnderstand=”1”>

<TransportVersion>2.5</TransportVersion>

<DataModel> http://www.sifinfo.org/infrastructure/2.x </DataModel>

<DataModelVersion>2.5</DataModelVersion>

<ZoneId>sif:zone:AcmeMiddleSchool1.CoyoteDistrict.Arizona.US</ZoneId>

<MsgId> A3E90785EFDA330DACB00785EFDA330E</MsgId>

<Security> <SecureChannel>

<AuthenticationLevel>3</AuthenticationLevel>

<EncryptionLevel>4</EncryptionLevel>

</SecureChannel> </Security>

<Timestamp>2010-10-24T15:58:33.984Z</Timestamp>

<SourceId>AcmeZIS</SourceId>

<DestinationId>StudentAdmin</DestinationId>

<EventAction>Change</EventAction>

<TopicName>StudentPersonal</TopicName>

</SIF_Header>

Page 36: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

SOAP Body: SIF_Event<soap:Body> <SIF_Event xmlns=”http://www.sifassociation.org/messages/2.x”>

<StudentPersonal xmlns=” http://www.sifinfo.org/infrastructure/2.x”

RefId="D3E34B359D75101A8C3D00AA001A1652">

<PhoneNumberList>

<PhoneNumber Type="0096">

<Number>(312) 555-1234</Number>

</PhoneNumber>

</PhoneNumberList>

</StudentPersonal>

</SIF_Event>

</soap:Body>

Page 37: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

ZIS Service Operation Groups

Group Type Char Operations (omitting the leading “SIF_” prefix)

PushSWA Data Model

O Event, Query, ExtendedQuery, QueryResults, ExtendedQueryResults CancelRequests

PushSWA Zone Service

O ServiceNotify, ServiceInput, ServiceOutput, CancelServiceInputs

PushSWA System Control

M Ping, Sleep, Wakeup,

Page 38: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Takeaways?

Page 39: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Recent Steps: Near Term Enablers(from last Annual Meeting)

• Make infrastructure extensions necessary to support Zone Web Services (Completed in V2.4)

• Support SOAP as alternative Zone transport layer (Completed in v2.5)

• Encapsulate ZIS content routing and notification functionality in first two SIF Utility Web Services (Completed in v2.5)

• Enable any SIF agent/application to be written as a SIF Web Application using standard toolsets, by accessing these Services. (Completed in v2.5)

Page 40: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

WS Roadmap Milestones - Medium

• Reduce special Zone Management & Monitoring by supporting widely available protocols– Encapsulate ZIS Application Registration data in standard

UDDI Registry Service– Encapsulate ZIS diagnostic and ACL data in Common

Information Model (CIM) for a Zone– Use WS-Management + CIM to provide standard Zone

Management and Diagnostic Service

• Add additional Web Services (WSDL)– Logging– 3 Zone Service

Page 41: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

SIF v2.5 Web Services Reviewer Release Kit: Ask now

File Name ContentsReadThisFirst This file

Appendix Q SIF v2.5 Specification Appendix describing web services capabilities

ZIS WSDL defining ZIS Web Service Operations

PushAgent WSDL defining PushAgent Web Service Operations

Common Common WSDL defining complete set of SIF supported messages

SIF_Transport XSDs defining the SIF Transport (in SOAP Header)

SIF_Message XSDs defining the SIF Messages (in SOAP Body)

xml Industry standard file describing the XML namespace (needed by some tools)

Existing SIF Data Model (not in kit) Currently chose any schema version from the choice at:http://specification.sifinfo.org/Implementation/2.4/index.html

Page 42: Enhancing the “Wire” SIF v2.5 Web Services and the Future Direction of SIF Infrastructure Copyright SIF Association

Questions?

EduGuy

[email protected]

www.sifassociation.org