230 likes | 239 Views
Learn about the goals, elements, and standards of the Microsoft .NET Platform, including .NET clients, servers, and XML web services.
E N D
Microsoft .NET Platform An overview (composed by Prof. H-M. Haav) IU Fall 2003
Introduction • Defined by Microsoft as "the platform for XML web services" • Goals set for the new platform are: • Use of widely accepted industry standards such as XML, HTTP, SOAP • Code interoperability instead of code portability • Shift towards distributed applications • Embracing Internet as the widest possible working surrounding • Providing simple and compelling experience to end users
Basic Elementsof .NET • .NET clients • .NET servers • XML web services • Developer tools
.NET Clients • Thick-client applications with advanced user interfaces • On-demand installation for different users, using specified servers • Data management and business logic are placed on the client side • Connection to the server only during data exchange • Devices that act as .NET clients are: • desktop and notebook PCs, • palm-top Personal Digital Assistants, • mobile phones, • game consoles etc.
.NET Client Examples • Pocket PC – PDA devices operating on Windows CE .NET • MS Smartphone Platform – extending the functionality of an ordinary mobile phone • Tablet PC –extends pen and speech capabilities to a mobile, versatile PC device • Desktop or notebook PC running Windows XP or Windows 2000
Pocket PC 2002 • New communication features, integrating e-mail, voice and www • Support for Windows-based popular software, such as: • Pocket Outlook • Pocket Word • Pocket Excel • Windows Media Player • File Explorer
Smartphone 2002 • Running on Windows XP • Completely personalized • Full Internet support (e-mail, www, XML web services) • Integrated multimedia • Unified Inbox for all types of communication • Easy to synchronize with a PCusing Microsoft ActiveSync software
Tablet PC • Combines the mobility of a notebook PCwith pen and speech tools • Runs Windows XP Tablet Editionoperating system • New features such as: • Creating handwritten documents • Voice control and dictation of documents • converting from laptop to tablet mode • Fully compatible with external peripherals such as monitors, keyboards, mouses etc. • First models marketed in December 2002
Desktop / notebook PC • Any desktop or notebook PC can run smart client software,if operating on Windows XP or Windows 2000 • Examples of client services: • MS Passport (www.passport.com) • MSN (www.msn.com) • bCentral (www.bcentral.com) • The use of these services is fully personalized on the client machine
.NET My Services • User-oriented set of XML web services • User authentication based on MS Passport • Basic set consists of: • .NET Profile • .NET Contacts • .NET Locations • .NET Alerts • .NET Presence • .NET Inbox • .NET Calendar • .NET Documents • .NET ApplicationSettings • .NET FavoriteWebSites • .NET Wallet • .NET Devices • .NET services • .NET Lists • .NET Categories
.NET Servers • Turn-key solutions for business infrastructure • Based on Windows 2000 • .NET Enterprise servers are specialized for various applications: • Message exchange • Support for mobile devices • Database management • Web content management • E-commerce • Data security • Sharing and publishing business information
.NET platform standards • XML • SOAP • WSDL • UDDI
XML (Extensible Markup Language) • Universal format for structured documents and data • A restriction of SGML (Standard Generalized Markup Language) • Enables easy creation and processing of documents • XML documents are easily readable, their structure is formalized and logical
SOAP (Simple Object Access Protocol) • Protocol intended for exchanging structured information in a decentralized, distributed environment, using XML • SOAP defines an extensible messaging framework providing a message construct that can be exchanged over a variety of underlying protocols • SOAP message consists of two parts: • header block • body block
Example of a SOAP message in HTTP Request • Message sent from a client to a server <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Example of a SOAP messagein HTTP Response • Response sent from a server to a client <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
WSDL (Web Services Description Language) • XML format for defining web services as a set of end-points which exchange messages • Abstract definition of end-points and messages is separated from the network configuration or the data formats used • What IDL is for COM, WSDL is for XML web services
UDDI(Universal Description, Discovery and Integration) • Set of specifications which provide publishing and discovery of web services on the Internet • Based on existing open standards • Platform and implementation independent • UDDI Business Registry contains information on web services and provides means to locate and use them • UDDI registries are free of charge and publicly accesible
Language support • J2EE: • Java is the language of choice • interoperability using CORBA, JNI or JCA • Microsoft .NET: • All major languages except Java are or will be supportedAll source code compiled to MSIL “common language” code
Migration from previous platform • J2EE: • Only web services and JCA require new code • Minor migration problems • .NET – two methods to migrate: • Rewrite the old code as CLR code • Keep the old code unmanaged,and take special measures for interoperability
Conclusion • Microsoft .NET introduces a new way of thinking, both for seasoned Windows developers and end-users • Software development is intended to be easier and more efficient at the same time • Excellent development tools and user interface in Visual Studio .NET • Microsoft has opted for language interoperability on Windows platform, while Java offers code portability between platforms