2009 - Microsoft Springbreak: IIS, PHP & WCF

31
Daniel Fisher [email protected]

Transcript of 2009 - Microsoft Springbreak: IIS, PHP & WCF

Page 1: 2009 - Microsoft Springbreak: IIS, PHP & WCF

Daniel [email protected]

Page 2: 2009 - Microsoft Springbreak: IIS, PHP & WCF

Leistungen• Architektur-Beratung

• Strukturierter und effizienter zu einer wartbaren Anwendung.

• Prozessoptimierung• BPM

• FDD, TDD, MSF Agile & SCRUM

• Software-Entwicklung• Team-out-of-the-box (Near-shoring)

• Objektmodelle und Datenzugriff

• Kommunikations-Infrastrukturen

• Identitäts- und Berechtigungsmodelle

• Web 2.0 und Rich Internet Applikation

• Coaching & Training• Technologien schneller verstehen und richtig einsetzen.

Technologien• Microsoft Windows & .NET Framework

• ASP.NET, WCF, WF, WPF, Silverlight & Geneva

Kunden• Versicherung, Finanzindustrie, Mittelstand, Handel,

Kommunikation, Softwarehersteller u.v.a.• Bundesamt für Sicherheit in der Informationstechnologie,

Microsoft, Dresdner Bank…

Project Experience

Technology Know-how

devcoach®

Page 3: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 4: 2009 - Microsoft Springbreak: IIS, PHP & WCF

Daniel Fisher | CTO & Software Architect

MCP, MCTS, MCPD…[email protected]

Mit-Gründer und Geschäftsführer von devcoach.comwww.devcoach.com

Mit-Gründer und Vorstand dergemeinnützigen www.just community.de e.V.

Veranstalter des größten Entwickler & IT-Pro Community Events in Deutschland: www.nrwconf.de

Mit-Gründer und Leiter derINETA Usergroup Düsseldorf

www.NetUG-NiederRhein.de

Mitglied im Microsoft Community Leader & Insider Program (CLIP)

Connected Systems Advisory Board

Expertengruppe für WCF, WF & BizTalk

Page 5: 2009 - Microsoft Springbreak: IIS, PHP & WCF

IIS & The Microsoft Web Platform

Windows Communication Foundation

PHP as SOAP Client

Summary

Page 6: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 7: 2009 - Microsoft Springbreak: IIS, PHP & WCF

Completly rebuid

Modular

Roboust

Stable

Easy to administer

Page 8: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 9: 2009 - Microsoft Springbreak: IIS, PHP & WCF

The fastest way to setup your environment

• Just download from http://www.microsoft.com/web

Page 10: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 11: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 12: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 13: 2009 - Microsoft Springbreak: IIS, PHP & WCF

The fastest PHP host out there…

http://phplens.com/phpeverywhere/fastcgi-php

Page 14: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 15: 2009 - Microsoft Springbreak: IIS, PHP & WCF

Common Language Runtime (CLR)

ADO.NET ASP.NET WinForms ...

WCF WCS WFWPF

Page 16: 2009 - Microsoft Springbreak: IIS, PHP & WCF

Interopwith otherplatforms

ASMX

Attribute-Based

Programming

Enterprise Services

WS-*ProtocolSupport

WSE

Message-Oriented

Programming

System.Messaging

ExtensibilityLocation

transparency

.NET Remoting

Page 17: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 18: 2009 - Microsoft Springbreak: IIS, PHP & WCF

Caller Service

MessageABC A B C

A B C

Address Binding Contract

(Where) (How) (What)

Page 19: 2009 - Microsoft Springbreak: IIS, PHP & WCF

[ServiceContract]

public interface ICalculator

{

[OperationContract]

ComplexProblem SolveProblem(ComplexProblem p);

}

Page 20: 2009 - Microsoft Springbreak: IIS, PHP & WCF

[DataContract]

public class ComplexNumber

{

[DataMember] public double Real = 0.0D;

[DataMember]public double Imaginary = 0.0D;

public ComplexNumber(double r, double i){

this.Real = r;this.Imaginary = i;

}

}

Page 21: 2009 - Microsoft Springbreak: IIS, PHP & WCF

<endpoint

address="http://localhost/calculator"

binding="basicHttpBinding"

bindingConfiguration="Binding1"

contractType="ICalculator" />

<bindings><basicHttpBinding><binding

configurationName="Binding1"

maxMessageSize="65536"

messageEncoding="Text"

textEncoding="utf-8" /></binding>

</basicHttpBinding></bindings>

Page 22: 2009 - Microsoft Springbreak: IIS, PHP & WCF

Transport Encoder Security Reliability Protocol

Pipes

MSMQ

Custom

HTTP Text

TCP Binary

MTOM

Custom

Custom Custom

WS-* WS-* WS-*

Custom

WS-* WS-* WS-*TCP Binary

Page 23: 2009 - Microsoft Springbreak: IIS, PHP & WCF

T = Transport Security | S = WS-Security | O = One-Way Only

BasicHttpBinding

WsHttpBinding

WsDualHttpBinding

NetTcpBinding

NetNamedPipesBinding

NetMsmqBinding

WS

WS

T

TS

TS

TS

TS

TS

O

O

NetPeerTcpBinding TS

Page 24: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 25: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 26: 2009 - Microsoft Springbreak: IIS, PHP & WCF

InterOp Problems!

• WCF is 100% OASIS-Conform

• PHP soap is NOT• Request are sent bare and not as documents

• UTF8 encoding issues

• No Authentication

• …

PHP nusoap

• Open Source Library

Page 27: 2009 - Microsoft Springbreak: IIS, PHP & WCF

require_once("nusoap/lib/nusoap.php");

$client =

new nusoap_client("MyService.wsdl", true);

$result =

$client->call(

"MethodName", $params, $namespaces, …);

Page 28: 2009 - Microsoft Springbreak: IIS, PHP & WCF

HTTP Authentication module

Page 29: 2009 - Microsoft Springbreak: IIS, PHP & WCF
Page 30: 2009 - Microsoft Springbreak: IIS, PHP & WCF

PHP - widley spread platform

• Lots of libraries

• Lots of developers

IIS - perfect Web Server platform

• High performant

• Robust, secure and easy to manage

WCF – Unified communication platform

• implements WS-*a standards

• Easy to start and scale

Page 31: 2009 - Microsoft Springbreak: IIS, PHP & WCF