Microsoft .NET, Microsoft .NET, SOAP and SOAP and Web Services Web Services Jian Shuo Wang Jian Shuo Wang eCommerce Team eCommerce Team
Microsoft .NET,Microsoft .NET,SOAP and SOAP and Web ServicesWeb Services
Jian Shuo WangJian Shuo WangeCommerce TeameCommerce Team
AgendaAgenda
XMLXML SOAPSOAP Web ServicesWeb Services .NET Framework.NET Framework .NET User Experience.NET User Experience Q & AQ & A
Microsoft .NETMicrosoft .NET
NNEXTEXT
GGEENERATIONNERATION
ININTTERNETERNET
Current InternetCurrent Internet
Mainframe modelMainframe model Information locked up in centralized Information locked up in centralized
databasesdatabases Reply on Web Servers to do somethingReply on Web Servers to do something Data pictures – HTMLData pictures – HTML Browsers are read-onlyBrowsers are read-only Multiple device, multiple interfaceMultiple device, multiple interface No tools to organize web sitesNo tools to organize web sites
XMLXML
.NET is based on XML.NET is based on XML
<font size="1"><font size="1">TuesdayTuesday</font></th> </tr> <tr </font></th> </tr> <tr align=center> <td headers=day0><img align=center> <td headers=day0><img
src="http://msimg.com/wea_s/ucase/src="http://msimg.com/wea_s/ucase/B.GIFB.GIF" " width=73 height=50 alt="Partly Cloudy">td width=73 height=50 alt="Partly Cloudy">td
headers=day0><font size="1">High: headers=day0><font size="1">High: 3232° °
Low: Low: 2626°</font></td>°</font></td>
I want to read…I want to read…<weather-report><weather-report>
<date><date>August 08, 2000August 08, 2000</date></date><time>15:30</time><time>15:30</time><area><area> <city><city>ShanghaiShanghai</city></city> <province>Shanghai</province><province>Shanghai</province> <region>Downtown</region><region>Downtown</region> <country>China</country><country>China</country></area></area><measurements><measurements> <skies>partly cloudy</skies><skies>partly cloudy</skies> <temperature><temperature>
<high><high>3232</high></high> <low><low>2626</low></low> </temperature></temperature>
</measurements></measurements></weather-report></weather-report>
SOAP DemoSOAP Demo
SOAP Envelope
SOAP Example in HTTPSOAP Example in HTTP
HTTP RequestSOAP-HTTP Binding
SOAP HeaderSOAP Body
POST /Accounts/Henrik HTTP/1.1Host: www.webservicebank.comContent-Length: nnnnContent-Type: text/xml; charset="utf-8"SOAPAction: "Some-URI"
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP:Header> <t:Transaction xmlns:t="some-URI" SOAP:mustUnderstand="1"> 5 </t:Transaction> </SOAP:Header> <SOAP:Body> <m:Deposit xmlns:m="Some-URI"> <m:amount>200</m:amount> </m:Deposit> </SOAP:Body></SOAP:Envelope>
… … or SOAP by Itself…or SOAP by Itself…<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope” SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP:Header> <m:MessageInfo xmlns:m="http://www.wapforum.org/soap/message"> <m:to href="mailto:[email protected]"/> <m:from href="mailto:[email protected]"/> <m:contact href="mailto:[email protected]"> </m:MessageInfo> </SOAP:Header> <SOAP:Body> <msg:Message xmlns:m="http://www.wapforum.org/soap/message"> <msg:subject>Your house is on fire!</msg:subject> <msg:liveUpdate href="http://your.house.is.on.fire.com/rightnow"/> </msg:Message> </SOAP:Body></SOAP:Envelope>
Web ServicesWeb Services
App Development TodayApp Development Today
Local Servicesand Data
App Code
Web app developers took advantage of these local services and used HTML to “project” the UI to lots of clients.
Web app developers took advantage of these local services and used HTML to “project” the UI to lots of clients.
Browsers
Browsers
Internet
Historically, most development efforts have been directed toward building apps using rich local services.
Historically, most development efforts have been directed toward building apps using rich local services.
App Development TomorrowApp Development Tomorrow
OS andLocal
Services
App Code
Application SpecificWeb Services
Building BlockWeb Services
Vertical and PortalServices
DevicesBrowsers
Internet
Web Service Communications1.Message-based (robust and scalable)2.Asynchronous communications model3.XML (easy to specify, modify, &
extend)4.Web protocols (universal access)
Web Service Communications1.Message-based (robust and scalable)2.Asynchronous communications model3.XML (easy to specify, modify, &
extend)4.Web protocols (universal access)
Web Services are building blocks that enable developers to build and aggregate applications and services from local and remote resources for a range of clients.
Web Services are building blocks that enable developers to build and aggregate applications and services from local and remote resources for a range of clients.
What Is A Web Service?What Is A Web Service?
A programmable URI A programmable URI (universal resource identifier)(universal resource identifier)
Expose and or access a Web siteExpose and or access a Web site Easy as creating and using an objectEasy as creating and using an object Using SOAP, or less complex protocolsUsing SOAP, or less complex protocols
““Programming the Web”Programming the Web”
InternetInternet
What Is A Web Service?What Is A Web Service?
ServiceService ClientClient
ApplicationApplication
ServiceService
ServiceService
<?xml version='1.0' ?> <Response>Buy</Response>
Returns this XML:
Web Services in Visual Studio 7Web Services in Visual Studio 7
http://johns/stocks/Ratings.aspx?method=Rate&ticker=msft
Then typing in this URL:
Description of Web SevicesDescription of Web Sevices
Simply by referencing this file you get the ability to easily call the WebService from within Visual Studio
Microsoft .NET ServicesMicrosoft .NET ServicesM
icro
soft
.NET
Ser
vice
sM
icro
soft
.NET
Ser
vice
sM
icro
soft
.NET
Ser
vice
sM
icro
soft
.NET
Ser
vice
s
PersonalizationPersonalizationPersonalizationPersonalization
Notification and MessagingNotification and MessagingNotification and MessagingNotification and Messaging
IdentityIdentityIdentityIdentity
XML StoreXML StoreXML StoreXML Store
More…More…More…More…
Business TransitionBusiness Transition
.NET Building Blocks.NET Building Blocks.NET Building Blocks.NET Building Blocks
TomorrowTomorrow
Office.N
ETO
ffice.NET
Office.N
ETO
ffice.NET
MSN
.NET
MSN
.NET
MSN
.NET
MSN
.NET
Personal SubPersonal SubServices.N
ETServices.N
ETPersonal SubPersonal SubServices.N
ETServices.N
ET
Visual Studio.NET
Visual Studio.NET
Visual Studio.NET
Visual Studio.NET
bCentral
bCentral
bCentral
bCentral
Microsoft ServicesMicrosoft Services
Windows .NEWindows .NETT
Windows .NEWindows .NETT
.NET .NET DevicesDevices
.NET .NET DevicesDevices
OtherOtherplatformsplatforms
OtherOtherplatformsplatforms
TodayToday
ApplicationsApplicationsLicensesLicenses
ApplicationsApplicationsLicensesLicenses
WindowsWindowsRoyalty or licenseRoyalty or license
WindowsWindowsRoyalty or licenseRoyalty or license
ServicesServicesSubscriptionsSubscriptions
ServicesServicesSubscriptionsSubscriptions
Ads, Ads, transactionstransactions
Ads, Ads, transactionstransactions
.NET Framework.NET Framework
VBVBSource Source codecode
CompilerCompiler
C++C++C#C#
CompilerCompilerCompilerCompiler
AssemblyAssemblyIL CodeIL Code
AssemblyAssemblyIL CodeIL Code
AssemblyAssemblyIL CodeIL Code
Operating System ServicesOperating System Services
Common Language RuntimeCommon Language Runtime
JIT CompilerJIT Compiler
Native CodeNative Code
ManagedManagedcodecode
UnmanagedUnmanagedComponentComponent
Common Language RuntimeCommon Language RuntimeExecution modelExecution model
.NET User .NET User ExperienceExperience
The drive for .NETThe drive for .NET
Bill GatesBill Gates Microsoft ResearchMicrosoft Research Pressure from MarketPressure from Market New technologiesNew technologies
Hardware BreakthroughsHardware Breakthroughs BroadbandBroadband WirelessWireless Smart cardsSmart cards Incredible PCs with Incredible PCs with
microphone, cameramicrophone, camera Tablet PCTablet PC Pocket PC, screen phonePocket PC, screen phone
New DevicesNew Devices
Computing everywhereComputing everywhere
10 billion10 billion microprocessors today microprocessors today
Assumptions and Bets on Assumptions and Bets on the Futurethe Future One network for allOne network for all
Phone, TV, Information, Audio and VideoPhone, TV, Information, Audio and Video
World is going to be digitalWorld is going to be digital Business, video, voice, Business, video, voice, smell :->smell :->
End user device will be everywhere\End user device will be everywhere\ Refrigerator, light switches, kitchensRefrigerator, light switches, kitchens
Devices are connected via wirelessDevices are connected via wireless Always online, high speedAlways online, high speed
Source: Brain Valentine’s mailSource: Brain Valentine’s mail
Next-Generation SoftwareNext-Generation SoftwareMicrosoft .NETMicrosoft .NET Software as a serviceSoftware as a service XML-enabledXML-enabled Range of smart devicesRange of smart devices New user experienceNew user experience
.NET Roadmap .NET Roadmap TodayToday 20012001 2002+2002+
User User ExperienceExperience
Technology Technology previewpreview
WindowsWindows.NET 1.0.NET 1.0
Full .NET UEFull .NET UERange of Range of devicesdevices
Infrastructure Infrastructure and Toolsand Tools
XML in serversXML in serversBizTalk ServerBizTalk Server Visual Studio 7Visual Studio 7 Windows .NEWindows .NE
T ServerT Server
Building Building BlocksBlocks PassportPassport 3 or 4 key 3 or 4 key
servicesservices
Full Offer,Full Offer,Corporate Corporate FederationFederation
User User ServicesServices
Service Service experienceexperience
bCentral, MSN,bCentral, MSN,Personal Sub.Personal Sub.
Office, Visual Office, Visual Studio.NETStudio.NET
ResourcesResources
http://www.microsoft.com/nethttp://www.microsoft.com/net http://arecw/articles/net/http://arecw/articles/net/