1.NET web szolgáltatások WSE 2.0 BPEL Beadandó feladat A félév áttekintése Bilicki Vilmos
2 MCP vizsga lehetőség Javasolt vizsga: Developing and Implementing Web Applications with Microsoft Visual C#.NET and Microsoft Visual Studio.NET asp bilickiv….
3 Az előadás tartalma WSE 2.0 Újdonságok WS-Security UsernameToken KerberosToken X509Token WS-Policy BPEL Beadandó feladat Határidő Minta UDDI – telepítés, definiálás,... Keresés UDDI-ben Visual Studio UDDI támogatása A szerver Minta kliens A speckoll. összefoglalója
4 WSE 2.0 Az újabb WS-* elemeket támogató Microsoft keretrendszer A WSE 1.0 bővítése WS-Routing -> WS-Addressing WS-Policy WS-Security – titkosítás, tartalom védelem TCP, processzek közötti kommunikáció használata TTL követelmények Hozzávalók egy személyre: Web Services Enhancements 2.0 ( 6C7B &displaylang=en ) 6C7B &displaylang=en UDDI használatához Windows SDK Core
5 WSE 2.0 Micorosoft.Web.Services2 névtér (Microsoft.Web.Services2.dll) Regisztrálni kell a web.config fájlban
6 WS-Security Azonosítás UserNameToken ClearText (ez kell a windows-nak) Digest KerberosV5 X509...
7 UserNameToken using System; using Microsoft.Web.Services2; using Microsoft.Web.Services2.Security.Tokens; namespace BasicWSEClient { class BasicWSE2ConsoleApp { static void Main() { string name = Console.ReadLine(); Console.WriteLine("Enter password: "); string password = Console.ReadLine(); BasicWSEService.Service1Wse proxy = new BasicWSEService.Service1Wse(); proxy.Url = " proxy.RequestSoapContext.Security.Tokens.Add( new UsernameToken(name, password, PasswordOption.SendPlainText)); Console.WriteLine(proxy.Hello(name)); } } }
8 Szerver oldal [WebMethod] public string Hello(string name) { SoapContext ctxt = RequestSoapContext.Current; foreach (SecurityToken tok in ctxt.Security.Tokens) if (tok is UsernameToken) { UsernameToken user = (UsernameToken)tok; if (user.Username == name) { if (user.Principal.IsInRole( System.Net.Dns.GetHostName() return "Hello, King " + name; return "Hello, " + name; } } return "Hello, Liar"; }
9 Saját felh. kötés public class MySecurityTokenManager : UsernameTokenManager { protected override string AuthenticateToken(UsernameToken token) { string pwd; switch(token.Username) { case "Simon": pwd = token.Username+"-pwd"; token.Principal = new GenericPrincipal( new GenericIdentity(token.Username), new string[] {"SomeRole","SomeOtherRole"} ); break; case "Guest": pwd = token.Username+"-pwd"; token.Principal = new GenericPrincipal( new GenericIdentity(token.Username), new string[] {"SomeRole"} ); break; default: pwd = base.AuthenticateToken(token); break; } return pwd; }
10 WS-Policy A WS-Policy segítségével egyszerűvé teszi a követelmények specifikálását Kódba rögzíteni a jogosultságokat nem nyerő Policy fájl Mappings endpoint Operation Request Response fault Default operation Policies
11 Példa Policy
12 Példa Policy oasis wss-username-token-profile-1.0#UsernameToken
13 BPEL4WS XML nyelv Elődei: IBM WSFL Microsoft XLANG Üzleti folyamatok definiálása Web szolgáltatások összekapcsolása Üzleti folyamat Egy új web szolgálatatást hoz létre egy adott web szolgáltatás halmazon értelmezett végrehajtási sorrend segítségével Kivétel kezelés Hosszú tranzakciók kezelése Hogyan használja fel a web szolgáltatásokat Hogyan nyújt web szolgáltatásokat
14 Hol, hogyan használhatjuk? Bpel szerverek Microsoft BizTalk 2004 Oracle BPEL Process Manager IBM BPEL4WS Editor and Java Run-Time OpenStorm Service Orchestrator... Szolgáltatásai: Vezérlés (elágazás, hurok,...) Aszinkron kommunikáció (join, source, target) Nem determinisztikság pick, onAlarm Hosszú tranzakciók (kompenzáció)
15 Folyamatot definiál Activity Egyszerű Invoke Receive Reply Wait Assign Throw Terminate Empty Komplex Sequence Switch While Pick Flow Partnerek Olyan szolgáltatás melyet meghív - portType1 Olyan szolgáltatás mely meghívja - portType2 A kettő kombinációja – serviceLink (szerepkörök)
16 Példa
17 Példa
18 Példa
19 A beadandó feladat Határidő 2005.január.10 A honlapon fenn lesz a helyszín valószínűleg irnyi 227, de. 10 óra
20 Beadandó feladat Szerver Adatbázis Szolgáltatások: Register Remove Update Weboldal Kliens Adatbázis Szolgáltatások: Tipp Eredmeny Weboldal Bemutatkozás Regisztráció (UDDI keresés, dinamikus) Az algoritms leírása Statisztika
21 A félév áttekintése SOA alapok.NET architektúra C# alapok ADO.NET ASP.NET XML XPATH XSL XSD WSDL SOAP WSE 1.0 WSE 2.0 BPEL
22 Utolsó fólia Köszönöm a félévnyi kitartó figyelmet