Presentation Transcript
Herzlich Willkommen: Herzlich Willkommen 1. Microsoft Academic Program
2. Einführung .NET
PAUSE
3. SharePoint Portal Server 2003
Feedback Markus Kobe Microsoft Senior Student Partner i-makobe@microsoft.com Daniel Wessels Microsoft Student Partner daniel.wessels@studentprogram.de
Microsoft Academic Program: Microsoft Academic Program Microsoft-Software for FREE,
Fördermaßnahmen und Dienstleistungen
Organisatorisches: Organisatorisches Microsoft Academic Program
Talents-Track
ImagineCup
theSpoke
Student Program
Praktikum / Werksstudent
Diplomarbeitenkooperation
STC
Mentors-Track
Tools-Track
MSDN-AA
MBS-AA
Was ist das Microsoft Academic Program?: Was ist das Microsoft Academic Program? Weltweites akademisches Förderprogramm für Lehrende und Lernende
Seit 1999 in Deutschland
Frühzeitiger Zugang zu Microsoft Technologien
Technische Unterstützung bei der Benutzung und Integration von Microsoft Technologien
Kostenloser oder stark vergünstigter Eintritt zu Microsoft Veranstaltungen und Konferenzen
Praxisbezug
www.msacademic.de
Imagine Cup 2005: Imagine Cup 2005 Weltweit ausgeschriebener Programmierwettbewerb mit 9 Kategorien
www.imaginecup.info
Mit dem Imagine Cup möchte Microsoft weltweit Studierenden die Chance geben, Ihre innovativen Lösungen und Ihre Kreativität und Leistungsfähigkeit unter Beweis zu stellen
theSpoke: theSpoke Online-Community
www.thespoke.de
Diskussionsbereiche (Hubs) ~ Foren
eigene Inhalte veröffentlichen und diskutieren.
Themenbereiche
Technik
Lifestyle, Sport, Musik, Film, Kultur…
etc.
theSpoke Premium
Programmiersoftware wie Visual Studio .NET und Microsoft Office
coole Angebote von Partnern
exklusive Preisermäßigungen auf Developer-Tools und Schulungen von Microsoft
Student Program: Student Program Spezielles Förderprogramm für Studierende
Exklusive Vorteile
Direkter Kontakt zur Microsoft Deutschland GmbH
Zugang zu Microsoft-internen Informationen
Einladungen zu Konferenzen / Meetings
Spezielle Trainings und Zertifizierungen (MCP)
Offizielle qualifizierte Teilnahmebestätigung
Student Program: Student Program Microsoft Student Partner
Keine vertragliche Bindung mit Microsoft
aktive Teilnahme
Regelmäßige Fördermaßnahmen
Student of the Year-Award
Mögliche Tätigkeiten
Präsentation neuer Microsoft Technologien (z.B. Gastvorträge)
Kontaktperson für Studenten und Mitarbeiter der Fakultät
Organisation von Events
Student Program: Student Program Jetzt Bewerben
www.studentprogram.de
Diplomarbeitenkooperation: Diplomarbeitenkooperation Nichtbezahlte Diplomarbeiten
Betreuer bei Microsoft und an der Hochschule
Freie Arbeitsmittel
Rechte bleiben bei euch!!! Diplomarbeiten
in Kooperation
mit Microsoft
Praktikum/Werksstudent: Praktikum/Werksstudent Praktikum
Einstieg nach Absprache
drei Monate (Verlängerung ist möglich )
Praktikumsvergütung
Wohngeldzuschuss
München, Bad Homburg, Böblingen, Walldorf
Werkstudent
Jobbörse
www.microsoft.com/germany/careers/jobs
Aufgaben und Voraussetzungen sind je nach Unternehmensbereich unterschiedlich
Regelmäßige Angebote
Karriere bei Microsoft
Praktikum/Werksstudent
Student Technology Conference 2005: Student Technology Conference 2005 18.-19. Mai im Kongress Palais Kassel
Kostenlose Hotelübernachtung
Technische Vorträge
Workshops
Imagine Cup Finale
Praktika- und Diplomarbeitenbörse
Attraktives Rahmenprogramm
Bewerbung: http://www.event-team.com/events/stc2005/Index.asp
Student
Technology
Conference
Student Technology Conference 2004: Student Technology Conference 2004 STC 2004
Landschaftspark Duisburg
Student
Technology
Conference
Mentors Track: Mentors Track Zugriff nur für Lehrende!!!
Vorlesungsmaterialien
Forschungsvorhaben
Forschungsgelder
Gastvorlesungen
Konferenzen
Kontakt Hochschule / Wirtschaft
Tools Track: Tools Track MSDN Academic Alliance
www.msdnaa.de
Fokus: Softwareentwicklung & Systeminfrastruktur
MBS Academic Alliance
www.mbsaa.de
Fokus: Betriebswirtschaftliche Prozesse
Vorerst nur für die Institute
MSDN Abonnement speziell für den Einsatz in Hochschulen
Lizenzen bleiben unbegrenzt gültig, auch nach Abschluss des Studiums
msdn@informatik.uni-bremen.de
Fragen?: Fragen?
Microsoft Academic Program: Microsoft Academic Program Einführung
Ziele: Ziele Verständnis der Begriffe rund um .NET
„Landkarte“ von .NET
Grundkenntnisse in C# incl. ASP.NET
Was ist .NET ?: ist die Antwort ! Was ist .NET ?
Was ist .NET ?: Was ist .NET ? Technologie
Produkt
Architektur
Plattform
Strategie
Warum .NET ?: Warum .NET ? Ein Blick auf Gestern
Vorwiegend isolierte Desktoprechner
Rich Clients
Nur vereinzelt lokale Netze
Ein Blick auf Heute und Morgen:
Neue Formfaktoren bei Geräten (Handy,PDA,…)
Steigender Grad der Vernetzung (Internet, Intranet,…)
Neue Anforderungen (Dienstleistungskomponenten, heterogene Hardware,…)
HTML-basierte Applikationen, deren Code auf Webservern läuft. -> Outsourcing von Funktionalität
Probleme heute: Probleme heute Applikationen integrieren
Sprachen haben unterschiedliche Typsysteme
Dienst-/Plattformintegration
Keine Standards für die Interoperabilität
Deployment komponentenbasierter Anwendungen
Es droht die DLL-Hölle
Das Web-Programmierungsparadigma
Zustandslose HTML-Seiten/Apps sind schwer zu entwickeln
APIs
Plattformabhängigkeit
Was muss .NET bieten?: Was muss .NET bieten? Software als Dienstleistungskomponente
Offene Standards als Grundlage
Interoperabilität mit anderen Plattformen
.NET setzt Maßstäbe, wie heute und in Zukunft Software entwickelt werden sollte
Design-Ziele: .NET: Design-Ziele: .NET Absolut einfach !!!
Objektorientiert bis ins Mark
Klassen und Vererbung komplett unterstützt
Einfache Integration
Einfacher Umgang mit WebServices
Abstraktion von der Hardware
Ausführungsmodell: Ausführungsmodell Common Language Runtime (CLR) .NET Anwendungen bestehen aus Assemblies
Assembly = Komponente
Ein Assembly ist ein Container für Module
Sämtliche Sicherheits- und Versionsüberprüfungen durch die CLR erfolgen auf der Basis von Assemblies !!!
Sobald ein Modul kompiliert ist, gehört es zu einem Assembly
(MS)IL: (MS)IL Compiler erzeugen keinen native Code sondern eine prozessorunabhängige Zwischensprache
Microsoft Intermediate Language
Maschienenunabhängiger Code
wird nie von einem Interpreter verarbeitet
Wird erst später übersetzt und ausgeführt
komplexe Datentypen und Objekte sind fester Bestandteil
„Managed Code“
IL-Code wird vor der Ausführung immer (!) durch Compiler in echten Maschinencode übersetzt
Managed Code
Code der unter Aufsicht der Common Language Runtime (CLR) ausgeführt wird
Ausführungsmodell: Ausführungsmodell Common Language Runtime (CLR)
JIT und CLR: JIT und CLR Just in Time Compiler
Endgültige Übersetzung in Maschinencode
Optimiert für Zielmaschine
Übersetzt zur Laufzeit
Übersetzt nur das was benötigt wird
Standard: pro Start Neuübersetzung Common Language Runtime
Runtime führt Sicherheitsüberprüfungen aus
Runtime übernimmt Speicherverwaltung und Fehlerbehandlung
Runtime führt Versionsprüfungen durch
Runtime übernimmt das Laden von Komponenten
Ausführung und Überwachung des Managed Code
Prüfung auf Typkorrektheit
Ausführungsmodell: Ausführungsmodell Just in Time (JIT) Compiler IL-Code IL-Code IL-Code Compiler Compiler Compiler Managed
Code Managed
Code Managed
Code Common Language Runtime (CLR) VB VC++ C#
Unmanaged Code: Unmanaged Code Althergebrachte Weise
Code unterliegt nicht der Aufsicht der CLR
Plattformabhängig
Ohne .NET Framework
Implikation: Implikation Sprachen werden gleichwertig, da alle Compiler MSIL-Code erzeugen
„eine C# Klasse kann von einer VB.NET Klasse abgeleitet sein“
einheitliche Fehlerbehandlung
Compilerbau wird einfacher
kein Typsystem
Sprachen sind per„Definition“ interoperabel
Erhöhte Sicherheit
.NET für Entwickler: .NET für Entwickler
.NET für Entwickler: .NET für Entwickler
Die Qual der (Sprach-)Wahl: Die Qual der (Sprach-)Wahl IL Assembler (ILASM)
Die meisten Freiheiten, aber sehr kryptisch
C++
kann managed und unmanaged Code mischen
systemnahe Programmierung
VB.NET: .NET für VB6-Entwickler
Vollständige Objektorientierung, Web für VB
C#
Ist syntaktisch nah an C++ und leicht für alle OO-Programmierer
COBOL.NET, Delphi.NET, Eiffel#, J#, …
.assembly HelloWorld {}
.method static void Main() cil managed
{
.entrypoint
.maxstack 1
ldstr "Hello World"
call void
[mscorlib]System.Console::WriteLine(string)
ret
} using System;
namespace HelloWorld{
class Class1{
[STAThread]
static void Main(string[] args){
Console.WriteLine("Hello World!");
}
}
} IL Code selbst ist natürlich Binärcode
ildasm.exe (IL-Disassembler)
-> Textdarstellung
Common Language Specification: Common Language Specification Definiert einheitliches Vererbungs- und Datentypsystem: Common Type System (CTS)
Sprachen werden gleichwertig
Alles ist von der Klasse Object abgeleitet
Typprüfung zur Laufzeit
.NET Klassenbibliothek: .NET Klassenbibliothek
.NET Framework Namespaces: .NET Framework Namespaces
.NET Framework Namespaces: .NET Framework Namespaces InteropServices Remoting Serialization Description Discovery Protocols HtmlControls WebControls
Windows.Forms: Windows.Forms Framework für Windows Applikationen
Automatisches Layout
Einfacher Zugriff auf die Win32-API
Leichtgewichtig: “Hello World” ~ 3.5K
Windows Forms enthält:: Windows Forms enthält: System.Windows.Forms enthält:
Application-Klasse
Controls-Klassen (Button, Editbox,...)
Klassen für Standarddialoge (Open,...)
Klassen für Menüs
Klassen für Images
Klassen für das Drucken
Klassen für Statuszeile und Toolbar
Klassen für das Clipboard
u.v.m.
.NET Framework Namespaces: .NET Framework Namespaces InteropServices Remoting Serialization Description Discovery Protocols HtmlControls WebControls
System.Data: System.Data Framework für Datenzugriff
ADO.NET und XML
Verarbeitet alle Arten von Daten
Leistungsfähiger Daten-Cache im Haupt-speicher
XML-Unterstützung:
XPath und Schema
.NET Framework Namespaces: .NET Framework Namespaces InteropServices Remoting Serialization Description Discovery Protocols HtmlControls WebControls
System.Web: System.Web Framework für Web-Applikationen
ASP.NET
Trennung zwischen Form und Code
Ereignisorientiert
Viel bessere Performance als ASP
Veränderungen am ServerWeb Services: Mehr als Browsen: Veränderungen am Server Web Services: Mehr als Browsen HTML HTML Screen Scaping
Web Services: Web Services Dienste die mittels Internetstandards (z.B. XML, HTTP) gefunden und verwendet werden können
Plattform und Programmiersprachen unabhängig
SOAP
Simple Object Access Protocol
Spezifikation für den Transport von XML-Nachrichten über HTTP Einen Webservice zu nutzen,
bedeutet eine Instanz einer
Klasse zu erzeugen und
deren Methoden aufzurufen.
Web Services: Web Services XML / SOAP XML / SOAP
WSDL und UDDI: WSDL und UDDI WSDL – WebService Description Language
Interface-Beschreibungssprache für WebServices
UDDI -Universal Description, Discovery and Integration
Zentrales Verzeichnis von Webservices
www.uddi.org
~170 Unternehmen (u.a. auch IBM, SUN…) WebService finden -> UDDI
Nutzung vorbereiten -> WSDL
Webservice aufrufen -> SOAP
Common Language Runtime: Common Language Runtime
Installation und Verteilung: Installation und Verteilung Private und globale Assemblies
Container für Module (DLL- oder EXE-Datei)
Private Assemblies
Keine Registrierung notwendig
Einfach die Applikationskomponenten kopieren
Der Code ist vollständig selbst beschreibend
Nebenwirkungsfreie Installation
Globale Assemblies
Werden in zentralem Verzeichnis abgelegt
Werden mit Versionsnummer versehen
Werden nicht überschrieben
Wartung und Ausführung: Wartung und Ausführung Keine Registrierung notwendig
Einfach die Applikationskomponenten kopieren
Der Code ist vollständig selbstbeschreibend
Nebenwirkungsfreie Installation (Zero-impact install)
‘Side-by-Side’ Ausführung
Verschiedene Versionen derselben Komponente können sogar in einem Prozess kooexistieren
EXE vs. DLL
EXE hat konkreten Startpunk (Main-Methode)
DLLs beötigen eine EXE als Host
Fazit .NET: Fazit .NET Ist Microsofts Plattform für verteilte Softwarearchitekturen durch XML Web Services
Macht offene Standards (XML, SOAP,...) zum Kernbestandteil
Ermöglicht die plattformübergreifende Integration von Diensten und Daten
Verbessert und vereinfacht die „klassische“ Softwareentwicklung
Macht den Entwickler sprachen- und plattformunabhängig
Ausblick: .NET 2.0: Ausblick: .NET 2.0 .NET Framework 2.0, .NET Compact Framework 2.0
C# 2.0: partial types, nullable types,…
ASP.NET 2.0: 70% weniger Code (STC 2005)
ADO.NET 2.0
Visual Studio 2005, SQL Server 2005,…
Voraussetzungen: Voraussetzungen .NET-Entwicklungsumgebung
.NET Framework SDK 1.1 http://www.microsoft.de/downloadsRessourcen für die Entwicklung .NET Framework SDK Ver. 1.1
Visual Studio 2003 (MSDN-AA)
IIS (für ASP.NET)
SQL-Server / Desktop Engine (für ADO.NET)
http://www.microsoft.de/downloadsServeranwendungenMSDE 2000 Version A
C#: C#
Fragen?: Fragen?
Microsoft Academic Program: Microsoft Academic Program SharePoint Portal Server 2003
Feedback: Feedback Feedbackbogen (3 Seiten)
Mehr Informationen?: Mehr Informationen? www.studentprogram.de/bremen
www.thespoke.de
Student Technology Conference 2005: Student Technology Conference 2005 Student
Technology
Conference
Student Technology Conference 2005: Student Technology Conference 2005 Student
Technology
Conference