1 Microsoft.NET Eine neue Generation der Softwareentwicklung Klaus Rohe ([email protected]).Net...

49
1 Microsoft .NET Microsoft .NET Eine neue Generation der Eine neue Generation der Softwareentwicklung Softwareentwicklung Klaus Rohe ( Klaus Rohe ( [email protected] [email protected] ) ) .Net Strategy & Developer Group .Net Strategy & Developer Group Microsoft GmbH Microsoft GmbH

Transcript of 1 Microsoft.NET Eine neue Generation der Softwareentwicklung Klaus Rohe ([email protected]).Net...

11

Microsoft .NETMicrosoft .NET Eine neue Generation der Eine neue Generation der

SoftwareentwicklungSoftwareentwicklung

Klaus Rohe (Klaus Rohe ([email protected]@microsoft.com)).Net Strategy & Developer Group .Net Strategy & Developer Group Microsoft GmbHMicrosoft GmbH

22

AgendaAgenda Microsoft .NETMicrosoft .NET Das Windows .NET FrameworkDas Windows .NET Framework

Common Language Runtime (CLR)Common Language Runtime (CLR) Assemblies, Security, DeploymentAssemblies, Security, Deployment

Windows .NET Framework KlassenbibliothekenWindows .NET Framework Klassenbibliotheken ADO.NETADO.NET Windows FormsWindows Forms ASP.NETASP.NET .NET Enterprise Services.NET Enterprise Services .NET Remoting.NET Remoting

XML Web-Services XML Web-Services Gegenüberstellung Microsoft .NET - J2EE Gegenüberstellung Microsoft .NET - J2EE Demo mit Visual Studio .NETDemo mit Visual Studio .NET

33

Microsoft .NETMicrosoft .NETSoftware for connecting information, people, systems and devicesSoftware for connecting information, people, systems and devices

Connected Connected DevelopmentDevelopment

Quickly build solutions Quickly build solutions that interoperate that interoperate

across languages, across languages, platforms and devicesplatforms and devices

Connected SystemsConnected SystemsIntegrate new and existing systems Integrate new and existing systems

across the organization, across the organization, and externally with partners. and externally with partners.

Connected BusinessConnected BusinessAgility to connect more deeply with Agility to connect more deeply with customers, integrate with partners customers, integrate with partners

and empower employeesand empower employees

Connected Connected ExperiencesExperiences

Information Information anytime, anywhere, anytime, anywhere,

any deviceany device

Built on a foundation of XML Web servicesBuilt on a foundation of XML Web services

v-paulaw
Crop out the white square and "premium" from around the arrows. Leave the white in the oval inside the arrows.Make the arrows wrap around the outside of the big XML oval. We need to show the 4 areas of the .NET nicely. One idea I had was to do the aperture idea we're currently using for Deborah Tom and swirl 4 quadrants in at the center to show they all get swooshed in to the centeral .net connection. Whatever we do on this slide, needs to be supported on teh next slide.

44

Microsoft .NETMicrosoft .NET

Windows BetriebsystemWindows Betriebsystem

.NET SDK.NET SDK

.NET Framework.NET Framework

Common Common Language Language RuntimeRuntime

ApplikationApplikation

EnterpriseEnterpriseServerServer

Windows 2000 ServerWindows 2000 Server

SQL Server 2000SQL Server 2000

BizTalk Server 2002BizTalk Server 2002

More…More…

Visual Studio.NETVisual Studio.NET

Visual C#Visual C#Visual C++Visual C++

Visual Basic .NETVisual Basic .NET

ToolsTools

55

Windows .NET FrameworkWindows .NET Framework

C#C# C++C++ VBVB PerlPerl……

Common Language RuntimeCommon Language Runtime

Common Type SystemCommon Type System

Base Class LibraryBase Class Library

Transaktionen (COM+)Transaktionen (COM+) IISIISMSMQMSMQ WMIWMI

Windows BetriebssystemWindows Betriebssystem

ADO.NET ADO.NET (Daten und XML)(Daten und XML)

ASP.NETASP.NETWeb Forms Web Forms

Web ServicesWeb Services

WindowsWindows FormsForms

Enterprise Enterprise ServicesServices

66

Common Type System (CTS)Common Type System (CTS)

Value TypesValue Types

Value Types

Byte

Char

Single

Double

Enum

Int16 UInt16

Int32 UInt32

Int64 UInt64

Decimal Structure

Boolean Others

Object

Reference TypesReference Types

Class

Interface

Array

String

Delegate

Others

Werden auf dem Werden auf dem Heap abgelegtHeap abgelegt

Werden auf dem Werden auf dem Stack abgelegtStack abgelegt

77

Windows .NET FrameworkWindows .NET FrameworkCommon Language Runtime (CLR)Common Language Runtime (CLR)

Thread Support COM Marshaller

Type Checker

Security Engine

Exception Manager

Debug Engine

JIT Compiler Code Manager

GarbageCollection

Base Class Library Support

88

ECMA CLI & C#ECMA CLI & C#Standards, Interoperabilität & MultiplattformStandards, Interoperabilität & Multiplattform

C#C#

Extended Numerics

Library

Extended Array

Library

XML Library

NetworkLibrary

Reflection

Library

Runtime InfrastructureLibrary

Base ClassLibrary

Standards Standards ECMA-334ECMA-334, C# (C sharp) , C# (C sharp) Language Specification, and Language Specification, and ECMA-335ECMA-335, , Common Language Infrastructure, Common Language Infrastructure, approved by the ECMA General approved by the ECMA General Assembly of 13th December 2001.Assembly of 13th December 2001.

http://www.ecma.ch HP, Intel & Microsoft

Microsoft Expands Commitment to Open Microsoft Expands Commitment to Open Standards and Interoperability. Standards and Interoperability. Teams With Corel to Develop Shared Teams With Corel to Develop Shared Source Implementation of ECMA Source Implementation of ECMA Standards C# and CLI For FreeBSD and Standards C# and CLI For FreeBSD and Windows. REDMOND, Wash. - June 27, Windows. REDMOND, Wash. - June 27, 2001. 2001. Beta availability expected: H1 2002Beta availability expected: H1 2002

99

Common Language RuntimeCommon Language RuntimeAusführungsmodellAusführungsmodell

VB.NETVB.NETSource Source codecode

VC++.NETVC++.NETVC#.NETVC#.NET

Operating System ServicesOperating System Services

Common Language RuntimeCommon Language Runtime

Native CodeNative Code

ManagedManagedcodecode

UnmanagedUnmanagedComponentComponent

JIT CompilerJIT Compiler

AssemblyAssemblyIL CodeIL Code

AssemblyAssemblyIL CodeIL Code

AssemblyAssemblyIL CodeIL Code

CompilerCompiler CompilerCompilerCompilerCompiler

1010

// File: simple.cs

using System;

class Simple

{

public static void Main()

{

for (int i = 1; i <= 5; i++)

Console.WriteLine(i);

}

}

csc simple.cscsc simple.csildasm simpl.exeildasm simpl.exe

Common Language RuntimeCommon Language RuntimeMSIL BeispielMSIL Beispiel

1111

Common Language RuntimeCommon Language RuntimeAssembliesAssemblies

.NET Anwendungen bestehen aus .NET Anwendungen bestehen aus AssembliesAssemblies Assembly = KomponenteAssembly = Komponente

Ein Assembly ist ein Container für ModuleEin Assembly ist ein Container für ModuleSämtliche Sicherheits- und Sämtliche Sicherheits- und

Versionsüberprüfungen durch die CLR Versionsüberprüfungen durch die CLR erfolgen auf der Basis von Assemblies !!!erfolgen auf der Basis von Assemblies !!!

1212

Managed Code KompilierenManaged Code Kompilieren

CompilerCompiler(C#, VB.NET, etc.)(C#, VB.NET, etc.)

Assembly (DLL or EXE)Assembly (DLL or EXE)

MSIL CodeMSIL Codefor Class Xfor Class X

Metadata for Classes X, Y and ZMetadata for Classes X, Y and Z

MSIL CodeMSIL Codefor Class Yfor Class Y

MSIL CodeMSIL Codefor Class Zfor Class Z

Class X { … }Class X { … }Class Y { … }Class Y { … }Class Z { … }Class Z { … }

1313

Private AssemblyPrivate Assembly Assembly kann nur von genau einer Assembly kann nur von genau einer

Anwendung benutzt werdenAnwendung benutzt werden

Shared AssemblyShared Assembly Assembly kann global von allen Assembly kann global von allen

Anwendungen benutzt werdenAnwendungen benutzt werden

Dynamic AssembliesDynamic Assemblies Zur Laufzeit erzeugte AssembliesZur Laufzeit erzeugte Assemblies

AssembliesAssembliesKategorienKategorien

1414

Identifikation anhand eines einfachen Identifikation anhand eines einfachen Namens, z.B. “MyAssembly” Namens, z.B. “MyAssembly”

Keine Versionsüberprüfung durch die Keine Versionsüberprüfung durch die CLR, Versionierung durch den CLR, Versionierung durch den EntwicklerEntwickler

Installation per File copy Installation per File copy Standardmäßig befinden sich Assembly Standardmäßig befinden sich Assembly

und Anwendung im gleichen Verzeichnisund Anwendung im gleichen Verzeichnis Verzeichnis kann per config-Datei definiert Verzeichnis kann per config-Datei definiert

werdenwerden

AssembliesAssembliesPrivate AssemblyPrivate Assembly

1515

Identifikation über einen Identifikation über einen Strong NameStrong Name Versionsüberprüfung durch die Versionsüberprüfung durch die

RuntimeRuntime Installation im Global Assembly CacheInstallation im Global Assembly Cache

Systemweiter “Speicherbereich” für .NET Systemweiter “Speicherbereich” für .NET AssembliesAssemblies Windows .NET Framework Assemblies Windows .NET Framework Assemblies keine Registry-Einträge für die Assemblieskeine Registry-Einträge für die Assemblies

AssembliesAssembliesShared AssemblyShared Assembly

1616

Werden mit dem API im Werden mit dem API im System.Reflection.Emit Namespace zur System.Reflection.Emit Namespace zur Laufzeit erzeugtLaufzeit erzeugt

Dynamic AssembliesDynamic Assemblies Können auf als File im Dateisystem Können auf als File im Dateisystem

gespeichert werdengespeichert werden Können direkt ausgeführt werdenKönnen direkt ausgeführt werden

Beispiel:Beispiel: Kompilieren von Kompilieren von regular Expressionsregular Expressions

AssembliesAssembliesDynamic AssemblyDynamic Assembly

1717

.NET Sicherheitsmodell.NET Sicherheitsmodell

Role-Based SecurityRole-Based SecurityEnforced by application on itselfEnforced by application on itself

Code Access SecurityCode Access SecurityEnforced by the common language runtime on the assemblyEnforced by the common language runtime on the assembly

Windows User SecurityWindows User SecurityEnforced by the OS on all the codeEnforced by the OS on all the code

Role-Based SecurityRole-Based Security Role based security erlaubt es dem Code Role based security erlaubt es dem Code

Sicherheitsentscheidungen zu treffen, welche auf der Sicherheitsentscheidungen zu treffen, welche auf der Rolle des Users basieren, der den Code ausführt.Rolle des Users basieren, der den Code ausführt.

Code Access SecurityCode Access Security Code access security trifft Sicherheitsentscheidungen Code access security trifft Sicherheitsentscheidungen

für den Code auf der Basis seiner Herkunft.für den Code auf der Basis seiner Herkunft.

1818

Deployment von .NET ApplikationenDeployment von .NET Applikationen

Beim ersten Start der Windows Forms Beim ersten Start der Windows Forms Applikation werden die benötigten Applikation werden die benötigten Assemblies vom Server geladen und lokal Assemblies vom Server geladen und lokal gecached.gecached.

Beim erneuten Start der Applikation wird Beim erneuten Start der Applikation wird geprüft, ob sich die Assemblies auf dem geprüft, ob sich die Assemblies auf dem Server geändert haben. Nur dann werden Server geändert haben. Nur dann werden sie vom Server geladen.sie vom Server geladen.

Betrieb, Pflege und Wartung genauso Betrieb, Pflege und Wartung genauso einfach, wie bei Web-Applikationen.einfach, wie bei Web-Applikationen.

Windows Forms Applikation

Assembly1

Assembly2

Assembly3

Windows ServerWindows Forms Applikation,lädt Assemblies zur Laufzeit vom Server.

Zentraler Punkt zur Administration der Applikation

1919

Windows .NET FrameworkWindows .NET Framework NamensräumeNamensräume

SystemSystem

Int16, Int16, String,String,

……WebWeb DataData WindowsWindows EnterpriseServicesEnterpriseServices XMLXML ……

UIUI ServicesServices

…… …… Connection,Connection,DataSet, …DataSet, …

FormsForms

……

ServicedComponent, …ServicedComponent, …

XmlDocument, …XmlDocument, …

2020

System

System.Data System.Xml

System.Web

Globalization

Diagnostics

Configuration

Collections

Resources

Reflection

Net

IO

Threading

Text

ServiceProcess

Security

Design

ADO

SQLTypes

SQL

XPath

XSLT

RuntimeInteropServices

Remoting

Serialization

Serialization

Configuration SessionState

Caching Security

ServicesDescription

Discovery

Protocols

UIHtmlControls

WebControls

System.Drawing

Imaging

Drawing2D

Text

Printing

System.WinForms

Design ComponentModel

KlassenbibliothekenKlassenbibliotheken

2121

ADO.NET (1)ADO.NET (1)Datenbankzugriff, XMLDatenbankzugriff, XML

Warum eine neue Schnittstelle für den Warum eine neue Schnittstelle für den Datenzugriff?Datenzugriff? Web Applikationen benötigen andere ArchitekturWeb Applikationen benötigen andere Architektur Lose Kopplung zwischen Applikation und Lose Kopplung zwischen Applikation und

DatenbankDatenbank Komfortabele Unterstützung von XML Komfortabele Unterstützung von XML

entwickelt sich zum universellen Datenformatentwickelt sich zum universellen Datenformat

Problem mit bestehenden APIsProblem mit bestehenden APIs ADO, OLE DB und ODBC: wurden für enge ADO, OLE DB und ODBC: wurden für enge

Kopplung und dauerhafte Verbindung zwischen Kopplung und dauerhafte Verbindung zwischen Client und Datenbank konzipiertClient und Datenbank konzipiert

ADO.NET unterstützt explizit enge und lose ADO.NET unterstützt explizit enge und lose Kopplung zwischen Client und Datenbank Kopplung zwischen Client und Datenbank

2222

ADO.NET (2)ADO.NET (2)

Managed CodeManaged Code

.NET Data Provider.NET Data Provider

DBMSDBMS

ClientClient

DataSet

RowsRows

Connection

Command

DataReader

DataAdapter

Enge Kopplung

Lose Kopplung

2323

Windows Forms (1)Windows Forms (1)Was ist Windows Forms?Was ist Windows Forms?

Eine Klassenbibliothek innerhalb des Eine Klassenbibliothek innerhalb des Windows .NET Frameworks zur Entwicklung Windows .NET Frameworks zur Entwicklung von GUI-Applikationenvon GUI-Applikationen Namespace: System.Windows.FormsNamespace: System.Windows.Forms

Ersetzt die Microsoft Foundation Classes Ersetzt die Microsoft Foundation Classes (MFC)(MFC)

GUI Entwurf mit GUI Entwurf mit Windows FormsWindows Forms ist in Visual ist in Visual Studio.NET eingebautStudio.NET eingebaut

MFC kann aber weiterhin genutzt werdenMFC kann aber weiterhin genutzt werden

2424

Windows Forms (2)Windows Forms (2)Ausschnitt aus der KlassenhierachieAusschnitt aus der Klassenhierachie

System.Object

System.MarshallByRefObject

System.ComponentModel.Component

Control

ButtonBase

Button

TextBoxBase

TextBox

ContainerControll

Form

2525

.NET Enterprise Services.NET Enterprise Services

API zur Entwicklung und Nutzung von API zur Entwicklung und Nutzung von COM+ Komponenten mit Microsoft .NET: COM+ Komponenten mit Microsoft .NET: Distributed TransactionsDistributed Transactions SecuritySecurity Object PoolingObject Pooling Just in time activationJust in time activation Queued ComponentsQueued Components EventsEvents

2626

ASP.NETASP.NET Saubere Trennung von Programmlogik und Saubere Trennung von Programmlogik und

Layout (code-behind)Layout (code-behind) Kompilierte Programme statt ScriptingKompilierte Programme statt Scripting

Erheblich verbesserte AusführungsgeschwindigkeitErheblich verbesserte Ausführungsgeschwindigkeit Deployment während des laufenden Deployment während des laufenden

ServerbetriebesServerbetriebes Unterstützung verschiedenster, mobiler Unterstützung verschiedenster, mobiler

EndgeräteEndgeräte Gute Tool-Unterstützung (VS.NET)Gute Tool-Unterstützung (VS.NET) Modulare, einfach erweiterbare StrukturModulare, einfach erweiterbare Struktur

Servererweiterungen ohne ISAPIServererweiterungen ohne ISAPI WebForms, WebControls, StatemanagementWebForms, WebControls, Statemanagement XML Web ServicesXML Web Services

2727

ASP.NET Architektur

ASP.NETASP.NET Web ControlsWeb Controls

XML Web-ServiceXML Web-Service

Web Clients / Web Service ClientWeb Clients / Web Service Client

Windows Operating SystemWindows Operating System

IISIIS(Web-Server)(Web-Server)

HTTP / SOAPHTTP / SOAP

ASP.NETASP.NETapplicationsapplications

.NET.NETFrameworkFramework

2828

Das .NET Das .NET CompactCompact Framework Framework

.NET Framework für “Smart Devices”.NET Framework für “Smart Devices” Ziel: Software als Service für GeräteZiel: Software als Service für Geräte ““Lightweight” Runtime-ArchitekturLightweight” Runtime-Architektur Kompatible Teilmenge der Desktop Kompatible Teilmenge der Desktop

PlattformPlattform

Verfügbar für:Verfügbar für: Windows CE Windows CE Unterschiedliche FormfaktorenUnterschiedliche Formfaktoren

2929

.NET Remoting.NET Remoting

RemotingRemoting ist der Zugriff auf Objekte ist der Zugriff auf Objekte über Grenzen hinweg.über Grenzen hinweg. Grenzen können unterschiedliche Grenzen können unterschiedliche

Maschinen, Prozesse oder Application Maschinen, Prozesse oder Application Domains sein.Domains sein.

Die CLR abstrahiert OS-Prozesse und Die CLR abstrahiert OS-Prozesse und arbeitet mit „virtuellen Prozessen“ den arbeitet mit „virtuellen Prozessen“ den so genannten so genannten Application Domains Application Domains (Appdomains)(Appdomains)..

3030

Appdomains und RemotingAppdomains und Remoting

Eine Appdomain existiert in genau einem ProzessEine Appdomain existiert in genau einem Prozess Ein Prozess kann mehrere AppDomains beinhaltenEin Prozess kann mehrere AppDomains beinhalten Aufrufe über AppDomain-Grenzen hinweg erfordern Aufrufe über AppDomain-Grenzen hinweg erfordern

RemotingRemoting Marshal-By-Value Objects und Marshal-By-Reference Marshal-By-Value Objects und Marshal-By-Reference

ObjectsObjects

Prozess 1 Prozess 2AppDomain 1 AppDomain 3AppDomain 2

Objekt Objekt

Objekt

Objekt

Objekt

Marshaling Marshaling

3131

Remoting, vereinfachte DarstellungRemoting, vereinfachte Darstellung

Client

App Domain 1

Proxy for O

Channel

Object O

App Domain 2

Channel

3232

Remoting: Remoting: AktivierungsmöglichkeitenAktivierungsmöglichkeitenAppdomain 1 Appdomain 2

Object

Object

Single-call

Singleton

Client-activated

Object

Object

Client

Client

Client

Client

Client

Client

Client

Client

Object

Object

Object

Client

3333

Web Services mit Windows .NET Web Services mit Windows .NET FrameworkFramework Web Services mit ASP.NETWeb Services mit ASP.NET

Die Web Services werden vom IIS gehostetDie Web Services werden vom IIS gehostet Dies ist die Bevorzugte Art mit Microsoft .NET Web Dies ist die Bevorzugte Art mit Microsoft .NET Web

Services zu implementierenServices zu implementieren Komplette Infrastruktur, welche IIS bietet, wird Komplette Infrastruktur, welche IIS bietet, wird

automatisch genutztautomatisch genutzt

Web Services mit RemotingWeb Services mit Remoting Serverprozess, welche die Web Services hostet, Serverprozess, welche die Web Services hostet,

muss vom Programmierer implementiert werden.muss vom Programmierer implementiert werden.

3434

Support von Web Service durch Support von Web Service durch Visual Studio .NETVisual Studio .NET

Eigene Projektart für Web Services, die unter Eigene Projektart für Web Services, die unter ASP.NET entwickelt werdenASP.NET entwickelt werden

Automatische Generierung von Code-Frames Automatische Generierung von Code-Frames für Web-Services.für Web-Services.

Automatische Generierung von Proxies aus Automatische Generierung von Proxies aus WSDL-BeschreibungenWSDL-Beschreibungen

Integrierter UDDI-BrowserIntegrierter UDDI-Browser Erzeugt automatisch Test-Clients für Web Erzeugt automatisch Test-Clients für Web

ServicesServices

3535

Global XML Web Services Architecture (GXA)Global XML Web Services Architecture (GXA)““Secure, Reliable, Transacted servicesSecure, Reliable, Transacted services””

SOAP (Logical Messaging)SOAP (Logical Messaging)

TransportsTransports

MessagingMessagingMessagingMessaging

WSDL, UDDI, InspectionWSDL, UDDI, Inspection

Quality Quality of Serviceof ServiceQuality Quality

of Serviceof Service

TransactionsTransactions

Business Business ProcessesProcessesBusiness Business ProcessesProcessesBPEL4WSBPEL4WS

TransportTransportTransportTransport

XML, EncodingXML, EncodingOther protocolsOther servicesOther protocolsOther services

CoordinationCoordination

SecurityWS-Security

SecurityWS-Security

ReliableMessagingReliable

Messaging

DescriptionDescriptionDescriptionDescription

3636

Unterstützung von GXA durch das Unterstützung von GXA durch das Windows .NET FrameworkWindows .NET Framework Microsoft stellt Microsoft stellt Web Services Enhancements Web Services Enhancements

for Microsoft .NET (WSE)for Microsoft .NET (WSE) zur Verfügung zur Verfügung WSE unterstützt folgende Spezifikationen:WSE unterstützt folgende Spezifikationen:

DIME (Direct Internet Message Encapsulation) DIME (Direct Internet Message Encapsulation) WS-AttachmentsWS-Attachments WS-RoutingWS-Routing WS-SecurityWS-Security

Authentifizierung und IntegritätAuthentifizierung und Integrität

Download:Download: http://http://msdn.microsoft.commsdn.microsoft.com//webserviceswebservices//buildingbuilding//

wsewse//default.aspxdefault.aspx

3737

Enterprise UDDI ServicesEnterprise UDDI Services

Optionaler Service, der mit Windows Server 2003 Optionaler Service, der mit Windows Server 2003 ausgeliefert wirdausgeliefert wird

Einfach zu installieren und zu verwaltenEinfach zu installieren und zu verwalten Entspricht der UDDI Spezifikation V1 & V2 API Entspricht der UDDI Spezifikation V1 & V2 API Sehr gut skalierbar, gleiche Code-Basis wie Sehr gut skalierbar, gleiche Code-Basis wie http://http://

uddi.microsoft.comuddi.microsoft.com Entwickelt mit dem Windows .NET Framework 1.1, Entwickelt mit dem Windows .NET Framework 1.1,

IIS 6.0 und SQL Server 2000IIS 6.0 und SQL Server 2000

3838

Leader in the Industry Web Services EffortLeader in the Industry Web Services Effort

*Source: Gartner Research, October, 2002

Completeness of Vision

Microsoft

IBM

Hewlett-Packard

SunMicrosystemsOracle

'Major Vendor Web Services Platform Influence Magic Quadrant'

Challengers Leaders

Niche Players Visionaries

BEA Systems

As of October 2002

Ability to Execute

3939

Windows als ApplikationsserverWindows als Applikationsserver

ApplikationsserverApplikationsserver

Web-ServerWeb-ServerSOAP-ServerSOAP-Server

TransaktionsmonitorTransaktionsmonitor(Transaktionsservice)(Transaktionsservice)

Transaktionsorientiertes Transaktionsorientiertes Message QueueingMessage Queueing

Directory ServicesDirectory Services

Windows 2000 ServerWindows 2000 Server(Windows Server 2003)(Windows Server 2003)

Microsoft IISMicrosoft IIS

Microsoft COM+ (MTS)Microsoft COM+ (MTS)

Microsoft Message QueueMicrosoft Message QueueMSMQMSMQ

Microsoft Active DirectoryMicrosoft Active Directory

Zusätzliche LizenzkostenZusätzliche Lizenzkosten Teil des BetriebssystemsTeil des Betriebssystems

4040

GegenüberstellungGegenüberstellungMicrosoft .NET – J2EE (1)Microsoft .NET – J2EE (1)

.NET Java

Application Server

.NET Framework

IBM WebSphere, BEA WebLogic, others

Runtime Environment

Common Language Runtime (CLR)

Java Virtual Machine (VM)

Standard Libraries

.NET Framework class library

J2SE, J2EE

GUIs Windows Forms

Swing

Transactions Enterprise Services

EJB

4141

.NET Java

Web Scripting

ASP.NET JSPs

Data Access

ADO.NET JDBC

Development Tools

Visual Studio.NET IBM Visual Age for Java, Borland JBuilder, others

Web Services Support

ASP.NET, .NET Services, others

Some support from IBM and others, more planned

Small Device Platform

.NET Compact Framework

J2ME

GegenüberstellungGegenüberstellungMicrosoft .NET – J2EE (2)Microsoft .NET – J2EE (2)

4242

Demo mit Visual Studio .NETDemo mit Visual Studio .NET1.1. Implementierung eines XML Web-Service mit Implementierung eines XML Web-Service mit

ASP.NETASP.NET

2.2. Implementierung eines Windows Forms Clients, der Implementierung eines Windows Forms Clients, der einen mit Java implementierten XML Web-Service einen mit Java implementierten XML Web-Service konsumiertkonsumiert Der XML Web-Service wurde mit GLUE 3.2.3 Standard Der XML Web-Service wurde mit GLUE 3.2.3 Standard

Edition von Edition von The Mind Electric implementiertThe Mind Electric implementiert (JDK 1.4.0.03). (JDK 1.4.0.03).

public interface IHugeIntMath{

// Elementare mathematische Operationen auf// ganzen Zahlen, die als Strings dargestellt// sind.public String add(String xstr, String ystr);…// Berechnet 'x^y'public String power(String xstr, String ystr);…

}

4343© 2001 Microsoft Corporation. All rights reserved.© 2001 Microsoft Corporation. All rights reserved.

Danke für Ihre Aufmerksamkeit.Danke für Ihre Aufmerksamkeit.

Fragen ?Fragen ?

4444

Weitere Informationen (1)Weitere Informationen (1)http://www.gotdotnet.comhttp://www.gotdotnet.comhttp://www.asp.nethttp://www.asp.nethttp://http://dotnet.oreilly.comdotnet.oreilly.com Design Patterns in C#Design Patterns in C#

http://www.dofactory.com/patterns/Patterns.aspxhttp://www.dofactory.com/patterns/Patterns.aspx http://www.clipcode.net/components/snippets.htmhttp://www.clipcode.net/components/snippets.htm

KomponentenKomponenten http://research.microsoft.com/users/cszypers/pubhttp://research.microsoft.com/users/cszypers/pub

4545

Weitere Informationen (2)Weitere Informationen (2)

Michael Stal, C#- und .NET Tutorial, Teil 1 - 3Michael Stal, C#- und .NET Tutorial, Teil 1 - 3IX Magazin für Professionelle InformationstechnikIX Magazin für Professionelle Informationstechnik

Teil 1: Heft 12, Dezember 2001, Seiten 122 - 129Teil 1: Heft 12, Dezember 2001, Seiten 122 - 129

Teil 2: Heft 1, Januar 2002, Seiten 130 - 135Teil 2: Heft 1, Januar 2002, Seiten 130 - 135

Teil 3: Heft 2, Februar 2002, Seiten 136 - 143Teil 3: Heft 2, Februar 2002, Seiten 136 - 143

Holger Schwichtenberg, Nette Vielfalt, Holger Schwichtenberg, Nette Vielfalt, Sprachen und Entwicklungstools für das .NET Sprachen und Entwicklungstools für das .NET FrameworkFrameworkIX Magazin für Professionelle Informationstechnik, IX Magazin für Professionelle Informationstechnik,

Heft 10, Oktober 2002, Seiten 38 - 50Heft 10, Oktober 2002, Seiten 38 - 50

4646

David ChappellUnderstanding .NETA tutorial and Analysis  ISBN 0-201-74162-8

Ralf Westphal.NET kompaktSpektrum Akademischer Verlag, 2002ISBN 3-8274-1185-8

Weitere Informationen (3)Weitere Informationen (3)

4747

Weitere Informationen (4)Weitere Informationen (4)

Don Box, Chris SellsEssential .NET (Development Series): The Common Language Runtime, Vol. 1Pearson Education, Januar 2003ISBN 0-201-73411-7

4848

.NET programming: a practical guide using C#Prentice Hall PTR, July 2002ISBN 0-13-066945-8

Weitere Informationen (5)Weitere Informationen (5)

Component SoftwareBeyond Object-Oriented ProgrammingSecond EditionADDISION-WESLEY, November 2002ISBN 0-201-74572-0Chapter 15, Chapter 21.2, Appendix A

4949© 2001 Microsoft Corporation. All rights reserved.© 2001 Microsoft Corporation. All rights reserved.