NET What Is It And What Does It Mean To Enterprise Computing?

Download Report

Transcript NET What Is It And What Does It Mean To Enterprise Computing?

Fun With

NET

(What is .NET anyway?)

Dr. Bernie Domanski The City University of New York / CSI

Vision Statement

    .NET affects individuals, businesses, & developers

Individuals

: a more personal integrated computing experience

Businesses & Developers

: Changes the way software is built & how products are sold

Purpose

: to present .NET so YOU can evaluate its impact on your organization (c)Domanski, 2002-3. All Rights Reserved

2

How’d We Get Here

    People have been laying

fat pipes

Bandwidth is a lot less limited than in the past Combine with the

Moore's Law

  power doubles every 18 months prices are halved – Real distributed computing for the first time:   bandwidth is less expensive, so … you can do the processing wherever it is most optimal.

(c)Domanski, 2002-3. All Rights Reserved

3

Examples

 

Napster –

 Rich client talking to a directory service in the cloud

Instant Messaging –

 Rich client talking to a buddy list in the cloud, and communicates with other rich clients in the network (c)Domanski, 2002-3. All Rights Reserved

4

How to Make Distributed Computing Explode?

  

Web services

Everything needs to be a Web service.  Applies to both pieces of software and resources in the network like storage.

Aggregation and integration

 aggregate & integrate Web services in very simple easy ways.

Simple and compelling user experiences

 what some used to call

killer applications

cannot be ignored.

- that (c)Domanski, 2002-3. All Rights Reserved

5

Introduction to .NET

Strategy

:   

independence or platform. from a specific language developers can create a .NET application in any .NET-compatible language. Programmers contribute to the same software project, writing code in the .NET languages

Visual Basic,

Visual C++,

C#

(c)Domanski, 2002-3. All Rights Reserved

6

. NET Architecture

Multiple platforms = Portability

Web Services

  Re-useable building blocks Example: Dollar-Rent-a-Car (c)Domanski, 2002-3. All Rights Reserved

7

Dollar Rent-A-Car

      Airline partner wants to access Dollars’ reservation system from its own website enable its customers to Dollar allows the airline to access it's database make reservations and Provides access via a Palm Web services enable PDA too    Communication over the Web, even though the airline uses UNIX and Dollar uses Windows 2000.

By creating a web service as opposed to a customized service specifically for the airline, …

… Other airlines or hotels can use Dollars’ system

without additional work.

(c)Domanski, 2002-3. All Rights Reserved

8

Software Reuse on the Internet

    .NET programmers concentrate on their own code Don’t have to implement every application every component of They’ll concentrate on their own development Companies will buy Web services for  db’s,     security, authentication, data storage, language translation (c)Domanski, 2002-3. All Rights Reserved

9

Lets Play a Little

 

Please forgive my typing skills!!

A look at the development environment and a bit of code (c)Domanski, 2002-3. All Rights Reserved

10

The Glue: XML and SOAP

   SOAP:   S imple O bject A ccess P rotocol Enables web services to communicate XML   e X tended M arkup L anguage Gives meaning to data Universal Data Access   Data resides centrally as opposed to de-centralized With security, any device could see & edit  No complex synchronization of multiple copies (c)Domanski, 2002-3. All Rights Reserved

11

XML

Green Eggs and Ham Dr. Seuss Windows Shell Programming Scott Seely American Gothic Grant Wood Matching tags required (c)Domanski, 2002-3. All Rights Reserved

12

SOAP

  Lightweight protocol for a decentralized, distributed environment XML-based with 3    parts: Envelope Rules – describes message & how to process it for expressing application data-types Convention for representing responses R emote P rocedure C alls and (c)Domanski, 2002-3. All Rights Reserved

13

SOAP Message Embedded in HTTP Request

POST /StockQuote HTTP/1.1

Host: www.stockquoteserver.com

Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI"

DIS

(c)Domanski, 2002-3. All Rights Reserved

14

SOAP Message Embedded in HTTP Response

HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn

34.5

(c)Domanski, 2002-3. All Rights Reserved

15

.NET Framework and the Common Language Runtime

.NET Framework COM+/MTS Services CLR IBM Web Services SUN

Common Language Runtime (

CLR

) powers .NET Framework. The framework supports Microsoft Legacy enterprise services (

COM+

formerly

MTS

), and also supports

Web services

, enabling cross-platform integration within and across enterprises.

16

(c)Domanski, 2002-3. All Rights Reserved

.NET Framework

    Manages & executes appl’s & Web services

Framework Class Library

programming capabilities enforces security & other  analogous to the Java/J2EE class libraries CLR is the

Virtual Machine –

  Language- neutral Component-oriented Modules are

components

execution in DLL’s and are packaged for (c)Domanski, 2002-3. All Rights Reserved

17

Languages

 VB compilation:   VB to MSIL ( M icro s oft I ntermediate L anguage)   Contains instructions for CLR CLR weaves code from all languages together MSIL to platform specific machine language

APL C# COBOL Component Pascal Curriculum Eiffel Fortran J# Oberon Oz Pascal Perl Python RPG Scheme SmallTalk Standard ML JScript Mercury VB .NET

VC++ .NET

18

(c)Domanski, 2002-3. All Rights Reserved

Benefits

    With .NET Framework installed on a platform, that platform can run any .NET program Code is written once and executable on any .NET platform -> no porting CLR manages memory  C++: new and delete -> orphans!

FCL has reusable components (c)Domanski, 2002-3. All Rights Reserved

19

What Stays the Same

      Individuals will still work with familiar interfaces Hardware will still run operating systems like Windows, UNIX, Windows CE, PalmOS Developers will still use their preferred language Legacy systems do not need to be replaced – newly available Web services :   Microsoft Host Integration Server mainframes - simplified access to Microsoft BizTalk™ Server - makes necessary automated conversions of data to XML. Next generation of distributed computing via .NET builds on the current generation Collaboration / Interoperability / Technology Islands (c)Domanski, 2002-3. All Rights Reserved

20

What .NET Might Mean to Business

 Hope of    easier integration within & between businesses More engaging consumer applications Reduced development time & costs    Easier maintenance Empowering employees with data access from any smart device Exposing information from different departments as XML, sharing information to create a new application (c)Domanski, 2002-3. All Rights Reserved

21

Will .NET and Web Services Find Acceptance in the Enterprise?

     You don’t use Microsoft's stuff? (highly unlikely) You probably still need to interoperate with it!

Enables interoperability on the corporate intranet  UNIX, Windows, mainframe is the norm Enables collaboration across the internet  VPN-like XML exchanges among companies, and  .NET Web services standardize transactions using SOAP XML is the magic ingredient   describes both procedural interfaces and data formats. describes complexity in a way that machines can process more accurately (c)Domanski, 2002-3. All Rights Reserved

22

Reality

 80-20 Rule    .NET delivers 80% of programming’s best practices Requires 20% of the knowledge and effort Should help managers as well   Those who haven't coded in years become comfortable They may sketch out prototypes using .NET rather than a whiteboard (c)Domanski, 2002-3. All Rights Reserved

23

.NET vs J2EE ??

   Portability?

 Port to LINUX underway Cost?

 a .NET unit of work will be less than the equivalent J2EE unit of work Performance?

 existing benchmarks appear to favor the Microsoft platform (c)Domanski, 2002-3. All Rights Reserved

24

Benchmarks

   

simple timing comparison of the double-loop code

100,000,000 type double floating point operations (multiply, square root, addition). compare a very specific type of compute-intensive numeric calculation with

no I/O,

No file or network functionality, not meant to suggest overall performance Useful starting point for evaluating scientific computation based performance

tends to be numeric-compute intensive.

double x1, x2, x3=0; for (x1=1; x1<=10000; x1++) for(x2=1; x2<=10000; x2++) x3 += Math.Sqrt(x1*x2); (c)Domanski, 2002-3. All Rights Reserved

25

Results

C# (.NET Framework SDK) source C# (execution versus JIT + execution) source JScript.net (.NET Framework SDK) source C (VC++6 Standard) source Java (Sun j2se v1.3.1) source Java (Sun j2se v1.4.0-rc) source Java (Sun MS JVM) source JScript (WSH host, uncompiled) source

Pentium III 848 MHz, 512 Mb RAM, OS: Win2000 SP2

6.8 sec 6.78 vs 7.00 sec 6.8 sec 10.4 sec 6.8 sec 6.8 sec 12.6 sec 410 sec 26

(c)Domanski, 2002-3. All Rights Reserved

Conclusions and Futures

    Could .NET change the way we think of and use computing devices?

Today : server and client .NET

: loosely coupled services on server, PC, handheld, any smart device Strategy    Componentization Access XML representation of data (c)Domanski, 2002-3. All Rights Reserved

27

Questions?

   

Dr. Bernie Domanski Cell: 908-415-6105 Email: [email protected]

Website: http://domanski.cs.csi.cuny.edu/

(c)Domanski, 2002-3. All Rights Reserved

28