CF and .NET Working Together Using Web Services Geoff Snowman Developer Community Champion [email protected] Microsoft Corporation
Dec 31, 2015
CF and .NET Working Together Using Web Services
Geoff Snowman
Developer Community Champion
Microsoft Corporation
http://blogs.msdn.com/gsnowman
The .NET Unified Programming Model
Windows APIWindows API
.NET Framework.NET Framework
Consistent API availability regardless ofConsistent API availability regardless oflanguage and programming modellanguage and programming model
ASPASP
Stateless,Stateless,Code EmbeddedCode Embeddedin HTML pagesin HTML pages
MFC/ATLMFC/ATL
Sub-classing,Sub-classing,Power andPower and
ExpressivenessExpressiveness
Visual Basic Visual Basic Object Object ModelModel
RAD,RAD,Composition andComposition and
DelegationDelegation
.NET Framework Architecture
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
Visual Visual BasicBasic C++C++ C#C# J#J# …… M
icro
so
ftM
icro
so
ft
®® Vis
ua
l Stu
dio
Vis
ua
l Stu
dio
®® .NE
T .N
ET
.NET Languages (Microsoft)
• Visual Basic .NET• C#• C++ (Managed/Unmanaged)• J#
.NET Languages (Others)• APL
• CFML• Fujitsu COBOL
• Micro Focus COBOL
• Eiffel
• Forth
• FORTRAN 95
• Haskell
• Mercury
• Mondrian
• Oberon
• Pascal
• Perl
• Python
• RPG
• S#
• Scheme
• Standard Meta Language
SystemSystem
System.Data (ADO .NET)System.Data (ADO .NET) System.XMLSystem.XML
System.Web (ASP.NET)System.Web (ASP.NET)
DiagnosticsDiagnostics
ConfigurationConfiguration
CollectionsCollections
NetNet
IOIO
ThreadingThreading
TextText
SecuritySecurity
CommonCommon
OLEDBOLEDB
SQLTypesSQLTypes
SQLClientSQLClient
XPathXPath
XSLXSL
RuntimeRuntimeInteropServicesInteropServices
RemotingRemoting
SerializationSerialization
SerializationSerialization
ConfigurationConfiguration SessionStateSessionState
CachingCaching SecuritySecurity
ServicesServicesDescriptionDescription
DiscoveryDiscovery
ProtocolsProtocols
UIUIHTMLControlsHTMLControls
WebControlsWebControlsSystem.DrawingSystem.Drawing
ImagingImaging
Drawing2DDrawing2D
TextText
PrintingPrinting
System.Windows.FormsSystem.Windows.Forms
DesignDesign ComponentModelComponentModel
.NET Unified Classes
SchemaSchema
ReflectionReflection
ResourcesResourcesGlobalizationGlobalization
ServiceProcessServiceProcess
Some Application Types• Windows Forms• Web Forms• Web Service• Windows Service• Console Application• Class Library• Smart Device
Application• Mobile Web
Application
• Windows Control Library
• Web Control Library
• Setup Project
• Extensibility Project
• SQL Server Reporting Services
• Office Projects
Server Controls
• Programmable, server-side objects Properties, methods and events
• Encapsulate both behavior and rendering HTML, XML, WML, script, etc.
• You can create server controls Custom controls User controls Or derive from existing controls
Demonstration 1Demonstration 1
ASP.NETASP.NET
• A component that provides a service to a consumer Components potentially have global reach Consumers use a standard Internet protocol
(HTTP) and data format (XML)• Web services can be implemented in many
languages The consumer does not care which
• The basis of B2X applications
What is a Web Service?
XML Web Services Explained• Internet connects entities
together• Email and WWW
inherently cross boundaries
• XML Web Services applies the same platform neutral approach to system integration Platform Neutral Leverage Existing
Standards No Rip and Replace
ConnectsPeople
WWW
ConnectsPeople to
Information
Web Services
ConnectsApplications
PERLPERL Apache 2.0Apache 2.0 MySQLMySQL LinuxLinux
LOB J2EE AppLOB J2EE App BEA WeblogicBEA Weblogic Oracle 8iOracle 8i Sun UE 10000Sun UE 10000
XML Web Services
XML Web Services
SAP R/3SAP R/3 DB2DB2 AIXAIX IBM RS/6000IBM RS/6000
Language IndependentPlatform Independent
Device Independent
Motorola i85sMotorola i85s J2MEJ2ME
Compaq iPAQCompaq iPAQ Windows CEWindows CE StrongARMStrongARM PeopleSoft 7.0PeopleSoft 7.0
SQL 2000SQL 2000 Windows 2000/.NETWindows 2000/.NET Compaq ProliantCompaq Proliant
The Web Services Stack Web Services Stack
WSDL (API description)WSDL (API description)
SOAP (messaging)SOAP (messaging)
XML (XML (lingua francalingua franca))
UDDI (discovery)UDDI (discovery)
HTTP (transport)HTTP (transport)
WSDL
• Schemas }• Messages } Machine Readable Description• End Points }
Demonstration 2Demonstration 2
Web ServicesWeb Services
UDDI in Windows Server 2003 How does UDDI work?
UBR operator nodeUBR operator node(uddi.microsoft.com)(uddi.microsoft.com)
UBR operator nodeUBR operator node(uddi.ibm.com)(uddi.ibm.com)
Public client ABCPublic client ABCCompany XYZCompany XYZ
InternetInternetPublishesPublishes
Replicates
Replicates
SearchesSearches
MarketplaceMarketplaceor directoryor directory
The Future: WSA• Use the SOAP header!
• WS-Security• WS-Routing• WS-Transaction• WS-ReliableMessaging
• WS-I
Web Services Interoperability Organization (WS-I)
Operational Requirement WS-I Deliverable
• Common definition for Web services
• Profiles
• Implementation scenarios
• Implementation guidance and support for Web services adoption
• Supporting documentation and whitepapers
• Sample code and applications
• Consistent, reliable interoperability between Web services technologies from multiple vendors
• Conformance testing tools
Goal: Promote Web services interoperability across Goal: Promote Web services interoperability across platforms, applications, and programming languagesplatforms, applications, and programming languages
WS-I Profiles• Profile: Group of Web services
specifications at specific version levels• Profiles make it easier to discuss Web
services interoperability • First profile: WS-I Basic
UDDI 1.0
WSDL 1.1
SOAP 1.1
XML Schema 1.0
© 2004 Microsoft Corporation. All rights reserved.© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.