Nostalgia del Passato...

Oggi, navigando qua e la per la rete, mi sono imbattuto in un mio vecchio articolo comparso nel lontano 2002 sulla rivista Computer Programming : Il Global XML Web Services Architecture ! L'occhio mi è caduto sull’ultimo paragrafo dal lungimirante titolo: Nel Futuro... per verificare se, a distanza di 5 anni, i "vaticini" si siano avverati oppure no...:-).
Vediamo...

Da giovane scrivevo:

"Oltre alla definizione di questi standard Microsoft si sta muovendo verso la realizzazione di un set di tecnologie chiamate (1) TrustBridge che permetteranno l’integrazione delle infrastrutture basandosi sui messaggi SOAP e le specifiche GXA. In un futuro molto prossimo sarà possibile scambiare credenziali tra architetture completamente diverse come Active Directory, Microsoft .NET Passport, infrastrutture PKI e (2) altri prodotti di terze parti, con (3) l’unico vincolo del supporto allo standard XML/SOAP WS-Security. (4) TrustBridge abbraccerà nel tempo tutte le specifiche di GXA. (5) Una data probabile di rilascio per la prima versione di questa tecnologia è calcolata verso la metà del 2003.
(6) Microsoft prevede di integrare all’interno del .NET framework tutte le specifiche GXA che verranno rilasciate in futuro."

Oggi...

(1) TrustBridge oggi si chiama ADFS (Active Directory Federation Services) e permette di realizzare il Web Single-Sign-On (SSO) tra applicazioni appartenenti a contesti di sicurezza diversi. ADFS è stato progettato sulla base dell' Identity Federation che prevede la portabilità dell'identità degli utenti tra security domains autonomi (interni o esterni alla propria organizzazione) e l'utilizzo della autorizzazione claim based, chiamata anche, guarda caso,Identity Model.
ADFS è un componente di Windows Server 2003 R2 e si basa principalmente sulle specifiche WS-Security, WS-Trust e WS-Federation (presenti in GXA fin dagli albori) oltre a SAML Tokens 1.0/1.1. Rispetto alle features previste inizialmente la versione presente in WS2003 R2 ha alcune limitazioni come ad esempio l'implementazione del solo WS-Federation Passive Requestor Profile (WS-F PRP) che "tradotto" significa che si ha il supporto nativo al SSO solo alle Web Applications e non ai Web Services. Il supporto ai Web Services, e quindi alla specifica WS-Federation Active Requestor Profile, sarà presente nella prossima versione di ADFS.
Una panoramica di ADFS la si può trovare qui!

(2)  Active Directory non solo tra sistemi Microsoft! ADFS è in grado di "parlare" anche con altri ambienti basati su sistemi operativi e linguaggi di programmazione diversi: Quelli con cui ho lavorato in passato sono :
- DirectControl di Centrify disponibile per (Apache,TomCat,WebLogic,WebSphere e JBoss)
- Quest Vintela Single Sign-on for Java V 3.1 (con supporto a NTLM, SPNEGO e WS-Federation).

(3)  beh...il "vincolo" non è solamente WS-Security ma anche WS-Trust + WS-Federation + SAML Tokens...

(4)  Esagerato !!! ... solo quelle che servono all' Identity Federation :-)

(5)  Ahi ahi ahi.. qui sono stato veramente troppo ottimista ... allora ero ancora un pò ingenuo e credevo a tutto ciò che leggevo :-)...metà del 2003? Uhmmm il prodotto RTM di Windows Server 2003 R2 è stato reso disponibile a partire da Gennaio 2006 :-)

(6)   L'integrazione delle specifiche GXA all'interno del framework .NET è iniziata con la versione 3.0 (precedentemente si utilizzava un assembly esterno chiamato WSE - Web Services Enhancements ) . Infatti con WCF, uno dei 4 pilastri della versione .NET 3.0, sono state implementate parecchie specifiche :

WS-Addressing 2004/08
W3C Web Services Addressing 1.0 - Core
W3C Web Services Addressing 1.0 - SOAP Binding
MTOM + SOAP1.2 Binding
MTOM WS-Policy Assertion
WS-Secure Conversation
WS-Trust
WS-SecurityPolicy 2005/07
WS-Coordination
WS-AtomicTransaction
WS-Policy 1.2
WS-PolicyAttachment 1.2
WS-MetadataExchange 1.1
WS-Transfer Get for metadata retrieval
WS-Reliable Messaging February 2005
WSS: SOAP Message Security 1.0
WSS: Username Token Profile 1.0
WSS: X.509 Token Profile 1.0
WSS: SAML 1.1 Token Profile 1.0
WSS: SOAP Message Security 1.1
WSS Username Token Profile 1.1
WSS: X509 Token Profile 1.1
WSS: Kerberos Token Profile 1.1
WSS: SAML 1.1 Token Profile 1.1

...molte ma non tutte... come dissi :-)
Lista completa specifiche WS-*. in .NET 3.0.

Per dovere di completezza (sebbene non siano referenziate nel paragrafo "Nel Futuro... ") le specifiche WS-Routing w WS-Referral sono state sostituite da WS-Addressing a partire dal 2003!

--Mario