Upload
hector
View
27
Download
0
Embed Size (px)
DESCRIPTION
.NET web szolgáltatások. WSE 2. 0 BPEL Beadandó feladat A félév áttekintése Bilicki Vilmos [email protected] www.inf.u-szeged.hu/~bilickiv. MCP vizsga lehetőség. http://www.microsoft.com/learning/mcp/mcp/ Javasolt vizsga: - PowerPoint PPT Presentation
Citation preview
1
.NET web szolgáltatások
WSE 2.0BPELBeadandó feladatA félév áttekintése
Bilicki [email protected]/~bilickiv
2
MCP vizsga lehetőség http://www.microsoft.com/learning/mcp/mcp/ Javasolt vizsga: Developing and Implementing Web
Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET
http://www.microsoft.com/learning/exams/70-315.asp
Email: 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 (
http://www.microsoft.com/downloads/details.aspx?FamilyId=FC5F06C5-821F-41D3-A4FE-6C7B56423841&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
KerberosV5X509...
7
UserNameTokenusing 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 = "https://myserver/basicWSE/Service1.asmx"; 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() + @"\Kings")) return "Hello, King " + name; return "Hello, " + name; } } return "Hello, Liar"; }
9
Saját felh. kötéspublic 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 <mappings>
<endpoint uri="http://www.develop.com/someapp/someservice.asmx">
• <operation requestAction="http://www.develop.com/someapp/someservice/someop">
• <request policy="#policy1" /> • <response policy="#policy2"/> • <fault policy="#policy3"/>
• </operation> • <defaultOperation>
• <request policy="#policy4" /> • <response policy="#policy5" /> • <request fault="#policy6" />
• </defaultOperation> </endpoint>
</mappings>
12
Példa Policy <policies xmlns:wsu= "http://docs.oasis-open.org/wss/
2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy"> <wsp:Policy wsu:Id="policy1">
• <SecurityToken wsp:Usage="wsp:Required" xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext">
• <TokenType> http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-username-token-profile-1.0#UsernameToken </TokenType>
• </SecurityToken> </wsp:Policy> <wsp:Policy wsu:Id="policy2"> <!-- Policy assertions go
here --> </wsp:Policy> <policies>
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