0% found this document useful (0 votes)
35 views

Platforms and Tools For Web Services and Mobile Applications

194. What is CMMI? Ans: Capability Maturity Model Integration (CMMI) is a process improvement approach that helps organizations improves their performance. CMMI can be used to guide process improvement across a project, a division, or an entire organization.

Uploaded by

muhammadkamran05
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Platforms and Tools For Web Services and Mobile Applications

194. What is CMMI? Ans: Capability Maturity Model Integration (CMMI) is a process improvement approach that helps organizations improves their performance. CMMI can be used to guide process improvement across a project, a division, or an entire organization.

Uploaded by

muhammadkamran05
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 26

Platforms and tools for Web

Services and Mobile Applications

Introduction to .Net

Bent Thomsen
Aalborg University
3rd and 4th of June 2004
Microsoft .NET
Web services support across the Microsoft platform

Clients

Experiences
& Solutions
Tools

Services

Servers
A Unified Programming Model
Consistent API availability regardless of
language and programming model

.NET Framework
RAD, Subclassing, Stateless,
Composition and Power and code embedded
Delegation Expressiveness in HTML pages

VB Object
Model MFC/ATL ASP

Windows API
Visual Studio .NET and the
.NET Framework

VB C++ C# J# …

Common Language Specification

Visual Studio .NET


ASP .NET Windows
Web Forms Web Services
Mobile Internet Toolkit
Forms

ADO .NET and XML

Base Class Library

Common Language Runtime

Windows Operating System


Common Language Runtime
• Manages running code
– Threading, Memory management
– Eliminates memory management drudgery
– Kills entire classes of bugs (e.g., memory corruption, ref
counting)
– Auto-versioning, no more DLL Hell
– Scalability, performance, reliability all improve
• Fine-grained evidence-based security
– Code access + Role-based
– Integrated with underlying OS
– Security model ensures safety
• No-touch deployment
– XCOPY, no registry required
• Object remoting with SOAP
CLR: Internals
Base Class Library Support

Thread Support COM Marshaler

Type Checker Exception Manager

Security Engine Debug Engine

IL to Native Code Garbage


Compilers Manager Collector

Class Loader
Framework Classes
• Spans all programming languages
– Enables cross language inheritance and debugging
– Integrates well with tools
• Object-oriented and consistent
– Increases developer productivity by reducing the
number of APIs to learn
• Common type system built-in
• Extensible
– Makes it easy to add or modify framework features
• Secure
– Allows creation of secure applications
.Net Framework Classes
Unified and Comprehensive API
• System & Runtime Functions
• Windows & Web Development
• Web Services
• Data Access & XML Services
• Networking & IO
• Enterprise Services (COM+ & MSMQ)
• Directory & Security Services
• Diagnostics, Perf-Mon, Debug
• And many more…
.Net Framework Classes
System.Web (ASP .NET) System.WinForms
Services UI Design ComponentModel
Description HTMLControls
Discovery WebControls
Protocols System.Drawing
Caching Security Drawing2D Printing
Configuration SessionState Imaging Text

System.Data (ADO .NET) System.XML


ADO SQL XSLT Serialization
Design SQLTypes XPath

System
Collections IO Security Runtime
Configuration Net ServiceProcess InteropServices
Diagnostics Reflection Text Remoting
Globalization Resources Threading Serialization
Referencing the Framework
.Net Assemblies
Compilation

Source Code Assembly

Compiler
csc.exe or vbc.exe
C++, C#, VB or DLL or EXE
any .NET
language

11
.Net Execution Model
Common Language Runtime
Source VB C# C++
code
Compiler Compiler Compiler

Managed Assembly Assembly Assembly


code IL Code IL Code IL Code

Common Language Runtime

JIT Compiler

Native Code

Operating System Services


.NET Security
• Role-based Security
– What the user is allowed to do within the
application
– .NET Roles = Windows Active Directory®
groups
• Code Access Security
– What the code is allowed to do on this machine
– Evidence Based (Policies, Permissions,
Evidence)
• Cryptography Built In to .NET FX
Visual Basic .NET
• Evolution, not revolution, of language used
by developers worldwide
• Builds on existing technology while adding
power
– True OOP
– Multithreading
– NT Services
– Web Services
• The fastest way to build scalable
applications for industry
Visual C# .NET
Component Oriented Language
• C# is the first “component oriented” language
in the C/C++ family
• Component concepts are first class:
– Properties, methods, events
– Design-time and run-time attributes
– Integrated documentation using XML
• Enables one-stop programming
– No header files, IDL, etc.
– C++ heritage – simplification with no
unnecessary sacrifices
Visual J# .NET
• Native support for XML Web services
• Fully integrated with Visual Studio .NET
development environment
• Full access to the .NET Framework
– ASP.NET, ADO.NET, Windows Forms
– Integration with >20 other languages
• Protection of existing investments
– Use java language syntax on .NET
– Move applications and skills forward
Visual C++ .NET
Continue to provide most powerful
and flexible language

• Better ANSI/ISO conformance


• Enable seamless, incremental use
of .NET Framework
• Enhanced ATL Servers
• Improved ATL and MFC Clients
• Enhanced STL
.NET Applications
• Web Form – Next Generation ASP Page
• Win Form – Next Generation Win32 App
• Web Services – Key to Interoperability
• Others –
– Server Objects
– Console Applications
– Window Services
– Mobile Clients
– Many more…
ASP.NET
• Server-side Web Forms and Web Services
components separate code from content
– Developer productivity increases
– Tools easily use ASP.NET
– Any programming language: full VB, JScript, C++,
COBOL, Perl, etc.
– 40% to 70% reduction in lines of code
• Compiled
• No-touch deployment system
• Intelligent state management
• Backwards compatible with ASP
• Controls sense client and adapt output: HTML,
DHTML, WML
What Is an
XML Web Service?
• A Component That Uses XML & HTTP To
Define and Deliver A Service
– Global reach
– Based on open set of standards
– Reuse across platforms
– Works with any operating system, programming
language, or network
– Expose legacy code
• Different systems can actually talk
Web Services
Open Standards & Protocols

• XML
– Universal data format
– Standards-based integration
– User-customizable
• HTTP
– Ubiquitous protocol
– Universally understood
VS.NET and Web Services
• Expose functionality as service
– No need to learn XML, SOAP, or WSDL
– Interface is automatically generated
– Seamless deployment
• Reuse existing Web Services
– VS.NET generates the plumbing
– Full IntelliSense support
• Build and consume with any VS language
Software as a Service
Visual Studio .Net and the Net Framework

• Built-in Support for Developing and


Consuming Web Services
– Based entirely on open standards
– Automatically generates WSDL
– Automatically provides test page
– Attribute based – No heavy coding needed

[WebMethod]
WSDL
WSDL
Public Function HelloWorld() as String
Compiler Web
Web
return “Hello World” Test
Test Service
Service
End Function Page
Page Object
Object
Windows Forms
• Rich, powerful client UI
– Control anchoring, visual inheritance
– Shared across all .NET languages
– No-touch deployment
• Secure
– Semi-trusted browser component
– Fully-trusted local application
• Full Web Service integration
.NET (R)Evolutionary
• Evolutionary
– Existing Skills Migrate Smoothly
– Interoperates with Existing Applications
– Extension of WinDNA Architecture
• Revolutionary
– Common Language Runtime
– Deployment / Versioning (Ends DLL Hell)
– Web Services & XML Integration
– Evidence Base Code Access Security
5 Key Points to Remember…
• Developers can use any .NET Language
• The .NET Framework provides a foundation
of classes for developers to build a wide
variety of applications
• Source code is compiled to MSIL within an
Assembly
• Assembles contain rich meta data and are
the primary units of deployment
• MSIL is compiled to native code and
executed by the Common Language
Runtime

You might also like