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
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"
(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
(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