Jim Fawcett CSE791 – Distributed Objects Spring 2002

Slides:



Advertisements
Similar presentations
Overview Environment for Internet database connectivity
Advertisements

Web Service Architecture
Intesar G Ali IT DepartmentPalestinian Land Authority Web services Prepared by: Intesar Ali IT Department PLA August 2010.
Introduction to .NET Framework
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Introduction to ASP.NET. 2 © UW Business School, University of Washington 2004 Outline Static vs. Dynamic Web Pages.NET Framework Installing ASP.NET First.
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
INTRODUCTION TO WEB DATABASE PROGRAMMING
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
CIS 451: Web Services Dr. Ralph D. Westfall March, 2009.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Internet, intranet, and multimedia database processing l Database processing across local and wide area networks l Alternative architectures for distributing.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
Lecture 15 Introduction to Web Services Web Service Applications.
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Component-Based Software Engineering Introduction to.NET Paul Krause.
Current Trends in Network- Based Application Developments Bill Chu Department of Software and Information Systems UNC Charlotte.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
1 Senn, Information Technology, 3 rd Edition © 2004 Pearson Prentice Hall James A. Senn’s Information Technology, 3 rd Edition Chapter 12 Creating Web-Enabled.
CIS 451: ASP.NET Concepts Dr. Ralph D. Westfall January, 2009.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Kemal Baykal Rasim Ismayilov
Web Services An Introduction Copyright © Curt Hill.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
.NET Mobile Application Development XML Web Services.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Introduction to Web Services Srinath Vasireddy Support Professional Developer Support Microsoft Corporation.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 9 Web Services.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Jim Fawcett CSE687 – Object Oriented Design Spring 2001
Java Web Services Orca Knowledge Center – Web Service key concepts.
Windows Communication Foundation and Web Services
Jim Fawcett CSE681 – SW Modeling & Analysis Spring 2005
.NET Omid Darroudi.
Jim Fawcett CSE681 – Software Modeling and Analysis Spring 2010
Sabri Kızanlık Ural Emekçi
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
WEB SERVICES.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Jim Fawcett CSE687 – Object Oriented Design Spring 2002
Introduction to Web Services
Distributed web based systems
Windows Communication Foundation and Web Services
Introduction to Internet Programming
Implementing a service-oriented architecture using SOAP
Chapter 23 – ASP.NET Outline 23.1 Introduction NET Overview
Web Server Administration
Chapter 27 WWW and HTTP.
.NET Overview Yingcai Xiao.
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Microsoft .NET Presentation
WEB SERVICES From Chapter 19, Distributed Systems
Jim Fawcett CSE791 – Distributed Objects Spring 2002
Presentation transcript:

Jim Fawcett CSE791 – Distributed Objects Spring 2002 Microsoft .Net Jim Fawcett CSE791 – Distributed Objects Spring 2002

Potential of the Web The web started as an extended library of relatively static web pages (1991-98). Web commercialization added a market place of products, e.g., Amazon.com, Dell.com, … (1998-2001). What’s next?

W3C View - Semantic Web W3C’s Director, Tim-Berners-Lee sees a “Semantic Web”. Web pages with semantic tags and catalogs of definitions and relationships between tags that convey “meaning” to computers. The idea is to develop “automated web services such as highly functional agents.” The focus here is a technical model for the web that supplies more detailed infrastructure.

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.

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.

PC Magazine – Secret Services, 13 Nov 01

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

PC Magazine – Secret Services, 13 Nov 01

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 docu-ments. XML documents can also be styled with Cascading Style Sheets (CSS).

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

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

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.

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

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.)

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

.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.

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

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.

C# Language Looks a lot like Java. Differences: 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# plans to add generics in the second release of Visual Studio 7 C# code supports attributes – tagged metadata

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

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.

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

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.

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.

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.

Performance? Microsoft .NET Pet Shop Lies, Damned lies and benchmarks? New! Version 1.5 You 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

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 CSE691/891 – Internet Programming (summer) Almost entirely .Net centered Focus on C#, remoting, ASP.NET, ADO

When can I start using .Net? Visual Studio.Net has been released. Generally available around March 1 Beta 2 has been installed in ECS clusters in Link 010 and 202. You can no longer get the Beta2 from Microsoft downloads. ECS is acquiring the license for MSDN. That implies: In a few days you will be able to get CDs of the Beta2 from CIT When they get the Visual Studio release version, probably in march, that will be available on CDs I am trying to get the Computer Department in Schine to carry Visual Studio at the academic price Books are starting to become available now – see the references on the next slide.

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 References C# Primer, Stanley Lippman, Addison-Wesley, 2002 C# Web Services, Banerjee et. al., Wrox, 2001 Professional .Net Framework, Hoffman, et. al., Wrox, 2001 Professional ASP.NET, Anderson, et. al., Wrox, 2001