2. What Is .NET?
.NET is the Microsoft Web services
strategy to connect information, people,
systems, and devices through software.
Integrated across the Microsoft
platform. .NET technology provides the
ability to quickly build, deploy, manage,
and use connected, security-enhanced
solutions with Web services.
3. What Is .NET? Cont.
.NET-connected solutions enable businesses to
integrate their systems more rapidly and in a
more agile manner and help them realize the
promise of information anytime, anywhere, on
any device.
The Microsoft platform includes everything a
business needs to develop and deploy a Web
service-connected IT architecture: servers to
host Web services
4. Terms Definitions
Extensible Markup Language, a specification developed by the W3C. XML
is a pared-down version of SGML, designed especially for Web documents.
It allows designers to create their own customized tags, enabling the
definition, transmission, validation, and interpretation of data between
applications and between organizations.
HyperText Transfer Protocol, the underlying protocol used by the World
Wide Web. HTTP defines how messages are formatted and transmitted,
and what actions Web servers and browsers should take in response to
various commands.
Simple Object Access Protocol, a lightweight XML-based messaging
protocol used to encode the information in Web service request and
response messages before sending them over a network. SOAP messages
are independent of any operating system or protocol and may be
transported using a variety of Internet protocols, including SMTP, MIME,
and HTTP.
5. Terms Definitions cont.
Common Language Runtime, a runtime environment that manages the
execution of .NET program code and provides services such as memory
and exception management, debugging and profiling, and security. The CLR
is a major component of the .NET framework.
ASP, a specification for a dynamically created Web page with a .ASP
extension that utilizes ActiveX scripting -- usually VB Script or Jscript code.
When a browser requests an ASP, the Web server generates a page with
HTML code and sends it back to the browser. So ASPs are similar to CGI
scripts, but they enable Visual Basic programmers to work with familiar
tools.
ActiveX Data Objects, Microsoft's newest high-level interface for data
objects. ADO is designed to eventually replace Data Access Objects (DAO)
and Remote Data Objects (RDO). Unlike RDO and DAO, which are
designed only for accessing relational databases, ADO is more general and
can be used to access all sorts of different types of data, including web
pages, spreadsheets, and other types of documents.
6. Terms Definitions cont.
ADO is one of the main components of Microsoft's Universal Data Access
(UDA) specification, which is designed to provide a consistent way of
accessing data regardless of how the data are structured.
Common Language Infrastructure (CLI) is an ECMA standard
(ECMA-335) that allows applications to be written in a variety of high-level
programming languages and executed in different system environments.
European Computer Manufacturers Association, a non-profit
international industry association founded in 1961 dedicated to the
worldwide standardization of information and communication systems.
Real-time Operating System it is an operating system that has been
developed for real-time applications and typically used for embedded
applications on a special-purpose computer with a
7. Terms Definitions cont.
International Organization for Standardization. Founded in 1946, ISO is
an international organization composed of national standards bodies from
over 75 countries. ISO has defined a number of important computer
standards, the most significant of which is perhaps OSI (Open Systems
Interconnection), a standardized architecture for designing networks.
Universal Description, Discovery and Integration. A Web-based
distributed directory that enables businesses to list themselves on the
Internet and discover each other, similar to a traditional phone book's yellow
and white pages.
Metadata describes how and when and by whom a particular set of data
was collected, and how the data is formatted. Metadata is essential for
understanding information stored in data warehouses and has become
increasingly important in XML-based Web applications
8. Terms Definitions cont.
CIL, Programming languages that conform to the CLI have access to the
same base class library and are capable of being compiled into the same
intermediate language (IL) and metadata. IL is then further compiled into
native code particular to a specific architecture. Because of this intermediate
step, applications do not have to be rewritten from scratch. Their IL only
needs to be further compiled into a system's native code.
CLR also is known as the Virtual Execution System (VES).
Portable Executable, When used to describe software, portable means
that the software has the ability to run on a variety of computers. Portable
and machine independent mean the same thing—that the software does not
depend on a particular type of hardware.
9. History
Some technologies used in .NET were originally
developed by Microsoft as their version of Java.
When Microsoft decided to end their future use
of Sun's Java technologies in 1998, the existing
Microsoft J++ (Java) product was transformed
into the beginnings of the .NET project. Code
from the .NET CLR (Common Language
Runtime) was said to have come from Colusa
Software's OmniVM, which Microsoft acquired
on March 12, 1996.
.NET as a software platform was released in
2002.
10. .NET Technology Overview
Productive visual design
Visual Studio.NET Environment for .NET apps
Visual Studio.NET Architectural templates and Design
Enterprise Frameworks Patterns with Policy Enforcement
Simplified Class Framework as
.NET Framework Building blocks – forms, data, web, etc.
Common Infrastructure for loosely
Common Language Runtime Coupled objects
Technology Substrate
Open Internet Standards
XML, HTTP, SOAP, HTML
11.
12. .NET Framework, Languages, And Tools
VB C++ C# JScript …
Common Language Specification
Visual Studio.NET
Visual Studio.NET
ASP+
Web
Services WebForms
ADO+: Data and XML
Base Class Library
Common Language Runtime
13. .NET Common Language Runtime
Dramatically simplifies application development
Provides a robust and secure
execution environment
Supports multiple programming languages
Simplifies deployment and management
14. .NET Framework
Web standards and practices as the foundation
Unified application model
Simple to use
Factored and extensible
ASP+
.NET Framework
Web
Services WebForms
ADO+: Data and XML
Base Class Library
Common Language Runtime
15. The .NET Compact Framework
Designed specifically for smart devices
Lightweight architecture
Compatible subset of desktop platform
Visual Studio.NET used for app development
Adaptable to different application needs
Broad availability planned…
Across multiple CPUs
Across Windows CE and third-party RTOSes
Across a variety of physical form factors
16. Enterprise infrastructure
The two primary components of .NET are:
Common Language Infrastructure (CLI)
and the Common Language Runtime (CLR).
17. Enterprise infrastructure cont.
All CIL is self-describing through .NET metadata.
The CLR checks on metadata ensure that the
correct method is called.
Metadata is usually generated by language
compilers but developers can create their own
metadata through custom attributes.
If a language implementation generates CIL, it
can be hosted using the CLR and can then
interact with data produced by any other .NET
language. CLR is also designed to be operating
system independent.
18. Enterprise infrastructure cont.
Code is housed in .NET assemblies
The public key token is a 64 bit hash of
the public key
Assembly Cache
.NET has its own security mechanism,
with two general features:
code access security
validation and verification.
19. What Are Web Services?
If you ask a developer what Web services are,
you'll hear something like, "self-describing
software modules, semantically encapsulating
discrete functionality, wrapped in and accessible
via standard Internet communication protocols
like XML and SOAP."
20. Benefits of Web Services
By enabling applications to share data across different
hardware platforms and operating systems, Web
services provide many benefits, including:
Opening the door to new business opportunities by
making it easy to connect with partners.
Delivering dramatically more personal, integrated
experiences to users through the new breed of smart
devices—including PCs.
Saving time and money by cutting development time.
Increasing revenue streams by enabling businesses
to easily make their own Web services available to
others.
21. Connecting Applications
Through Web Services
Web services are revolutionizing how applications talk to other
applications—or, more broadly, how computers talk to other
computers—by providing a universal data format that lets data be
easily adapted or transformed. Based on XML, the universal
language of Internet data exchange, Web services can
communicate across platforms and operating systems, regardless of
the programming language in which the applications are written.
Each Web service is a discrete unit of code that handles a limited
set of tasks. However, although Web services remain independent
of each other, they can loosely link themselves into a collaborating
group that performs a particular task.
Web Services Use Industry-Standard Protocols
22. Web Services cont.
Web Services allow you to expose code that implements business
logic that can be reused in multiple applications, but are based on
vendor-independent Internet technologies and protocols such as
HTTP, XML, SOAP, and UDDI.
They allow you to encapsulate code, publish interfaces, discover
services, and communicate between the publisher and consumer of
services, in much the same way as COM+ does, only using
vendor-independent, standards-based technologies.
True interoperability between disparate systems is a reality, thanks
to .NET.
23. .NET Languages
VB C++ C# JScript …
Common Language Specification
ASP+
Web
WebForms
Services
ADO+: Data and XML
Base Class Library
Common Language Runtime
24. .NET Languages
VB C++ C# JScript …
Common Language Specification
The .NET Platform is Language Neutral
All .NET languages are first class players
You can leverage your existing skills
.NET supports over 40 programming languages.
Common Language Specification
Any language can use and extend the .NET Framework
All languages are interoperable
We are providing
VB, C++, C#, JScript
Third-parties are building
APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme,
Smalltalk, Objective Camel…
25. Smart Devices
Smart devices are just that:
They're smart, smart about the way information is
presented and gathered. Examples of these
devices include desktop, laptop, and workstation
PCs; and cell pho nes, handhelds, tablet PCs,
and game consoles (as well as the XBOX).
27. .Net Security
The .NET Framework includes a large
variety of security features commensurate
with the breadth of the framework itself.
Role-based security for managing user
identity, provides a unified model for
authorization and authentication of principals
based on identity and roles.
Web application security ASP.NET provides
additional customization and functionality
specifically targeted.
28. .Net Security
For all managed code on the framework,
server or client, Evidence-based security
applies different levels of trust to all running
code and enforces security accordingly. This
enables semi-trusted code to be safely
executed subject to restrictions that can be
controlled by the administrator. A new
managed library of cryptography functions is
provided, including direct support for XML
digital signatures. The following sections
describe each of these areas in more detail.
29. Web application security
ASP.NET has been built with security
in mind. ASP.NET leverages
Microsoft's Internet Information
Server (IIS) to provide strong
support for common HTTP
authentication schemes including
support for Basic, Digest, NTLM,
Kerberos, and SSL/TLS client
certificates..
30. Standardization
Microsoft has submitted a part of the
specifications of .NET to ECMA and ISO for
standardization. This is a calculated risk, but it
may encourage standards-compliant
implementations, to provide an ongoing bridge
for non-Windows software to be converted to
Microsoft .NET. One group promoting this as a
standard is INETA (International .NET
Association).
31. Summary
The model for application development is changing
Loosely-coupled services
Language and system interoperability
To support this we need services and tools to assist developers
Interoperate, leverage XML
Scalable and secure
Reduce developer costs
To meet this challenge, Microsoft is building .NET
.NET Platform and Framework
Visual Studio .NET
.NET Enterprise Servers
.NET Building Block Services
Results of .NET
Developers can build better & broader applications
Enterprises reduce development and support costs
Customers/consumers get access to more information, in ways they choose
Hinweis der Redaktion
Built-in languages C#, an object-oriented language similar to Sun's Java JScript .NET, a compiled version of Microsoft's Jscript J#, a Java and J++ (the Microsoft variant of Java) .NET transitional language Managed C++, a variant of the C++ programming language for the .NET platform Visual Basic .NET, an improved, object-oriented, multi-threaded version of the classic Visual Basic programming language Some available third-party languages Ada, see A#. APL Boo, based on Python COBOL Component Pascal (Component Pascal is closer to Oberon than to Pascal) Delphi 8 and Delphi 2005 Eiffel F#, a member of the ML programming language family. Forth FORTRAN IKVM, Java IronPython, Python Lexico, a didactic in Spanish object-oriented language Lisp Mercury Mondrian functional language designed to provide an easy way of scripting components Nemerle functional/imperative hybrid language Oberon Perl RPG Smalltalk
The CLI is a set of specifications for a runtime environment, including a common type system, base class library, and a machine-independent intermediate code known as the Common Intermediate Language (CIL). The CLR provides a platform for running code that conforms to the CLI; before CIL can be executed, the CLR must translate it (typically via just-in-time compilation) into native machine code.
The public key token is a 64 bit hash of the public key of a public-private key pair, and is used to ensure the uniqueness of the assembly name. An assembly that has a public key token is said to have a strong name. This naming scheme means that assemblies can be uniquely identified by the CLR, and when combined with the Global Assembly Cache, allows multiple versions of the same library to exist on the same machine without danger of the wrong version being loaded.
But if you ask a business leader who has implemented Web service-based solutions, you'll get a different kind of answer. You'll hear that Web services are an approach that helps the business connect with its customers, partners, and employees. They enable the business to extend existing services to new customers. They help the business work more efficiently with its partners and suppliers. They unlock information so it can flow to every employee who needs it. They reduce development time and expense for new projects. You'll hear less about what Web services are and more about what they enable the business to do.
Taking advantage of the huge amount of information that can be harnessed through the lower levels of .NET platform, smart devices are smart in the following areas of interaction: Identity Interaction. They know your preferences and personal information. Network Interaction. They know the infrastructure and servers proving the information. Information Interaction. They are intuitive about the information and the context in which it's received. Device Interaction. They can recognize and interact with other devices. Software Interaction. Similar to the hardware infrastructure interaction, they take advantage of the information provided by software and services, in accordance with user preferences and authentication.
ASP.NET also supports Microsoft Passport authentication and provides a convenient implementation of Forms-based (Cookie) authentication