Microsoft NET Platform An overview composed by Prof
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 Elements of. 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 PC using Microsoft Active. Sync software
Tablet PC • Combines the mobility of a notebook PC with pen and speech tools • Runs Windows XP Tablet Edition operating 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) – b. Central (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 Application. Settings. NET Favorite. Web. Sites. 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: SOAPENV="http: //schemas. xmlsoap. org/soap/envelope/" SOAP-ENV: encoding. Style= "http: //schemas. xmlsoap. org/soap/encoding/"> <SOAP-ENV: Body> <m: Get. Last. Trade. Price xmlns: m="Some-URI"> <symbol>DIS</symbol> </m: Get. Last. Trade. Price> </SOAP-ENV: Body> </SOAP-ENV: Envelope>
Example of a SOAP message in HTTP Response • Response sent from a server to a client <SOAP-ENV: Envelope xmlns: SOAPENV="http: //schemas. xmlsoap. org/soap/envelope/" SOAP-ENV: encoding. Style= "http: //schemas. xmlsoap. org/soap/encoding/" > <SOAP-ENV: Body> <m: Get. Last. Trade. Price xmlns: m="Some-URI"> <symbol>DIS</symbol> </m: Get. Last. Trade. Price> </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
Structure of a WSDL description Type Container for data type definitions Message Abstract definition of data to be transferred Operation Abstract description of the action the web service performs Port type Abstract set of operations supported by one or more end-points in communication Binding A concrete specification of protocol and data format for a specific port type Port One end-point, defined as a combination of binding and network address Service Collection of connected end-points
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
Architectures compared Feature J 2 EE Microsoft. NET Standard Product Middleware Vendors 30+ Microsoft Interpreter JRE CLR Dynamic Web Pages JSP ASP. NET Middle-Tier Components EJB . NET Managed Components JDBC SQL/J ADO. NET SOAP, WSDL, UDDI Yes Implicit middleware (load-balancing, etc) Yes Type of technology Database access
Language support • J 2 EE: – Java is the language of choice – interoperability using CORBA, JNI or JCA • Microsoft. NET: – All major languages except Java are or will be supported All source code compiled to MSIL “common language” code
Migration from previous platform • J 2 EE: – 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
- Slides: 23