1 / 27

Microsoft .Net

Microsoft .Net. Jim Fawcett CSE687 – Object Oriented Design Spring 2002. The Service Bazaar. Microsoft and Sun seem to have a vision of the web as a bazaar of services, as well as products.

kkaty
Télécharger la présentation

Microsoft .Net

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microsoft .Net Jim Fawcett CSE687 – Object Oriented Design Spring 2002

  2. The Service Bazaar • Microsoft and Sun seem to have a vision of the web as a bazaar of services, as well as products. • With the product model you make one large payment and get unlimited access to one product version, shipped over the web or via a physical route. • In the services model you make a per-use payment and get access to the most current version, over the web.

  3. Web Services • Provide a service over the internet • Support construction of distributed applications • Reuse model – a distributed application may use third-party services as part of their basic functionality. • Example – Travel Agency application uses scheduling services provided by airlines, trains, and hotels.

  4. PC Magazine – Secret Services, 13 Nov 01

  5. Web Service Components • XML– eXtensible Markup Language • SOAP– Simple Object Access Protocol • UDDI– Universal Description, Discovery, & Integration • WSDL– Web Services Description Language

  6. PC Magazine – Secret Services, 13 Nov 01

  7. XML • Tagged, hierarchical markup language intended to describe data. • Schemas are used to verify that a given XML document satisfies some structural constraints. • eXtensible Stylesheet Language (XSL) is a presentation language used to support the styling and presentation of XML documents. • XML documents can also be styled with Cascading Style Sheets (CSS).

  8. SOAP Transaction • Simple Object Access Protocol (SOAP) • XML data packed in soap wrapper, using HTTP protocol • Remote Procedure Call (RPC) model

  9. WSDL • Describes the capabilities of a web service • Tells other machines how to format their requests and responses to a web service • Defines a service’s binding to a network transport protocol, usually HTTP

  10. WSDL According to the W3C: • Services are defined using six major elements: • types, which provides data type definitions used to describe the messages exchanged. • message, which represents an abstract definition of the data being transmitted. A message consists of logical parts, each of which is associated with a definition within some type system. • portType, which is a set of abstract operations. Each operation refers to an input message and output messages. • binding, which specifies concrete protocol and data format specifications for the operations and messages defined by a particular portType. • port, which specifies an address for a binding, thus defining a single communication endpoint. • service, which is used to aggregate a set of related ports.

  11. UDDI • A specification for an internet-wide registry of Web services. • Uses metadata • Details about the provider • Details about how to access the service • White pages • general information • Yellow pages • categories by industry, products, services, and locations • Green pages • technical details about invoking the services

  12. UDDI Sample UDDI Listings • Finding a business. • <find_business generic='1.0' xmlns='urn:uddi-org:api'><name>IBM</name></find_business> • Finding a service from a business • <find_service generic='1.0' xmlns='urn:uddi-org:api' businessKey='6827FE60-00E2-F6A9-F6C4-C6113993AA77'><name>UDDI Inquiry</name></find_service> • Getting Details on a service • <get_serviceDetail generic='1.0' xmlns='urn:uddi-org:api'><serviceKey>68280DC6-00E2-F664-135E-C6113993AA77</serviceKey></get_serviceDetail> • (note, these will see if a company has a UDDI directory. The responses from the UDDI are very long in most cases.)

  13. .Net Architecture • http://www.dotnet101.com/articles/art014_dotnet.asp

  14. .Net Architecture • Common language runtime library • C# language • A set of base components • provided by the common language runtime • Networking, containers, GUI parts, … • Win Forms and Web Forms • New UI framework, simplifying UI implementation • ASP+ • Active Server Pages supporting compiled server side components • ADO+ • Database access components using XML and SOAP • Scripts can use common runtime library and can be compiled.

  15. Common Language Runtime (CLR) • PC Magazine – Extreme Tech Web Site

  16. Common Language Runtime (CLR) • Runs bytecodes in an Intermediate Language (IL) format. This is compiled, not interpreted. • Scripts now can be compiled and can use the services and components provided by the CLR.

  17. C# Language • Looks a lot like Java. • A strong analogy between: • Java Virtual Machine & C# code manager • Java bytecodes & C# Intermediate Language • Java packages & CRL components and assemblies • Both have Just In Time (JIT) compilers • Both support reflection, used to obtain class information at run time • Both languages lack generics • Differences: • Java and C# do have significant differences • C# has most of the operators and keywords of C++ • C# has enumerations • C# code supports attributes – tagged metadata • C# plans to add generics in the second release of Visual Studio 7

  18. What can you do with C#? • Build console applications • Build windows applications • Uses a process similar to Visual Basic applications. • Build windows controls • Very like creating an ActiveX control • Create web server programs using ASP • ASP pages are a mix of HTML and script. • The HTML builds a presentation in the client’s browser • The script provides associated processing on the server. • Build web controls • Provide information to users via browser and web forms • Build web services • Provide information to other applications on other machines • Build .Net components

  19. Support for Components • C# is designed to support components: • Properties, methods, events, attributes, and documentation are all first-class language constructs. • Any class can publish a set of events to which objects of another class can subscribe at run time. • Attributes, defined by the designer, can be attached to classes, methods, data members, or properties. • The compiler can be asked to generate XML documentation based on class attributes. • C# integrates with COM • Can build wrappers that create COM objects out of C# assemblies. • But C# assemblies themselves have a different architecture, and use manifests instead of the registry.

  20. Base Components from the CLR • The Common Language Runtime library has components for: • String handling • Mathematical operations • Containers • File and directory access • Accessing the registry • Security • Building user interfaces and handling windows messages • Network and internet programming • Database access

  21. Win Forms and Web Forms • Win forms build user interfaces using techniques borrowed from Visual Basic. • Significantly simpler than Win32, MFC, or WTL windows programming. • Much less powerful in Visual Basic. I don’t know yet how powerful Win Forms are in C#. • Web forms attempt to build user interfaces based on HTML pages. • Flexible and integrates well with distributed, web-based systems • Not as powerful as MFC programming. • Can you drop down to WTL or Win32 programming? I don’t know yet.

  22. ADO+ • Emphasizes the Data Set, which is a disconnected, in memory, copy of part of the database, which may have multiple tables. • This is a performance improvement that minimizes locking that used to occur with ADO recordsets. • You instantiate a DataSet, populate it from the database, and work on the DataSet. • Send back only changes to the database when you are done working with the DataSet object. • Transmission back and forth now uses XML, rather than COM marshaling, as with ADO.

  23. ASP+ • ASP code consists of pages of HTML and script. • ASP+ code does a lot of what the ASP scripts did using attribute tags. • ASP+ pages are compiled into into a .Net class the first time the page is requested. The compiled class is cached for future requests. • ASP+ pages can be changed without stopping the web server. • “Script” part of ASP+ pages can be written in any .Net language, not just VBScript or JavaScript. • Creation of ASP+ pages is directly supported by Visual Studio 7.

  24. Performance? • Microsoft .NET Pet Shop • New! Version 1.5You need to see it to believe it! We implemented Sun's own J2EE best practices blueprint application, the Java Pet Store, using C# and Microsoft .NET. The result? The exact same application functionality was implemented in just 1/4 the code using C#/ASP.NET, and it performs up to 28 times faster than previously published benchmarks of the J2EE application. • Lies, Damned lies and benchmarks? • http://www.gotdotnet.com/team/compare/petshop.aspx

  25. ECS Courses with .Net Content • Dr Furmanski offers courses on Mobile Computing that focus on .Net remoting • CSE791 - Distributed Objects: • Mostly COM based • Discuss C# and .Net Framework in 4 lectures. • Projects that may be done with either COM or .Net • CSE791 – Advanced Windows Programming (summer) • About 60% of the course will be .Net content, mostly WinForms • CSE691/891 – Internet Programming (summer) • Almost entirely .Net centered • Focus on C#, remoting, ASP.NET, ADO

  26. When can I start using .Net? • Visual Studio.Net has been released. • Final Release is out, in the Schine Computer Store for $99 + tax. • Beta 2 has been installed in ECS clusters in Link 010 and 202. Final release will be installed very soon. • You can no longer get the Beta2 from Microsoft downloads. • You can get the .Net Platform SDK which has command line compilers etc. • Books are starting to become available now – see the references on the next slide.

  27. References • C# Programming, Harvey et al., Wrox Press, 2000 • Covers a lot of the .Net framework as well as C#. • C# and the .Net Platform, Troelsen, Apress, 2001 • Professional C#, Robinson et al, Wrox Press, 2001 • Microsoft .Net vs. J2EE, Jim Farley, www.java.oreilly.com/news/farley_0800.html • Comparison of .Net with Java 2.0 Enterprise Edition • Deep Inside C#, An Interview with Microsoft Chief Architect Anders Hejlsberg, John Osborn, www.windows.oreilly.com/news/hejlsberg_800.html • Interview with the principal developer of C#, who also was the author of the original Turbo Pascal.

More Related