introduction to internet information server 4.0 - the foundation for web computing

29
Introduction To Internet Introduction To Internet Information Server 4.0 - Information Server 4.0 - The Foundation For The Foundation For Web Computing Web Computing

Post on 21-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Introduction To Internet Introduction To Internet Information Server 4.0 - Information Server 4.0 -

The Foundation For The Foundation For Web ComputingWeb Computing

Computing ParadigmsComputing Paradigms

Mainframe computingMainframe computing Themes: robustness, scalability, centralized Themes: robustness, scalability, centralized

managementmanagement PC/desktop computingPC/desktop computing

Themes: productivity, GUI, rich user experienceThemes: productivity, GUI, rich user experience

Network computingNetwork computing Themes: peripheral sharing, client-server, Themes: peripheral sharing, client-server,

remote accessremote access Great (yet incomplete) ideas:Great (yet incomplete) ideas:

Three-tier (server logic)Three-tier (server logic) Component (object) developmentComponent (object) development Web publishing (pages, links, universal access)Web publishing (pages, links, universal access)

Web ComputingWeb Computing The new approach to distributed business The new approach to distributed business

application design, development application design, development and deploymentand deployment

Web Computing weaves together several key Web Computing weaves together several key concepts:concepts: Pages, links, components and dataPages, links, components and data Universal/on-demand access, “centralized” Universal/on-demand access, “centralized”

management, and offline supportmanagement, and offline support Context, transactions, & stateContext, transactions, & state Scripting and interoperabilityScripting and interoperability

““Internet,” “Intranet” and “Extranet” Internet,” “Intranet” and “Extranet” are are really about deployment scenarios, really about deployment scenarios, not not developmentdevelopment

Web Computing - It’s Upon UsWeb Computing - It’s Upon Us

. . . but it’s too much effort on . . . but it’s too much effort on today’s common platformstoday’s common platforms

Pros:Pros: Maximizes Maximizes

reusabilityreusability Language Language

independenceindependence Strong Strong

interoperabilityinteroperability Separation of Separation of

development development and deploymentand deployment

Faster time-to-marketFaster time-to-market

Cons:Cons: Network Network

interruptions more interruptions more likely likely

Server programming Server programming is difficultis difficult

Challenging to deal Challenging to deal with all possible with all possible outcomesoutcomes

Distribution of Distribution of business logicbusiness logic

The Web/Component Approach The Web/Component Approach Demands More Of The PlatformDemands More Of The Platform

Conclusion: Transactions, failover, and Conclusion: Transactions, failover, and asynchronous delivery are fundamental asynchronous delivery are fundamental

requirements for Web Computingrequirements for Web Computing

Windows NTWindows NT®® Option Pack Delivers The Option Pack Delivers The Web Computing Application ServicesWeb Computing Application Services

WebWeb

HTTP 1.1 complianceHTTP 1.1 compliance Complete hosting configurationComplete hosting configuration Microsoft management consoleMicrosoft management console FailoverFailover

Microsoft Microsoft Transaction Transaction

ServerServer

Distributed transaction coordinatorDistributed transaction coordinator Thread pooling, synchronizationThread pooling, synchronization Packages (process management)Packages (process management) Role-based securityRole-based security

ScriptingScripting

Interactive .ASP debuggingInteractive .ASP debugging Crash protection (process isolation)Crash protection (process isolation) Transactional scriptsTransactional scripts State management servicesState management services

Microsoft Microsoft Message Message QueueQueue

Reliability and resilience in Reliability and resilience in disconnected environmentsdisconnected environments

Asynchronous programming modelAsynchronous programming model Interoperable with other MQsInteroperable with other MQs

++

Internet Information Server And Internet Information Server And Web ComputingWeb Computing

Application Application ServicesServices

Web Web ServicesServices

TransactionsTransactions

Message Message QueuingQueuing

Integrated Integrated DebuggingDebugging

Java SupportJava Support

ComponentsComponents

State State ManagementManagement

Language-Language-independent independent

scriptingscripting

SSISSI

Database Database AccessAccess

Efficient Efficient ExtensibilityExtensibility

ImagemapsImagemaps

CGICGI

HTTP 1.0HTTP 1.0

SSL 1.0SSL 1.0

Integrated Integrated ManagementManagement

Bandwidth Bandwidth ThrottlingThrottling

Content Content IndexingIndexing

HTML-based HTML-based AdministrationAdministration

SSL v2.0SSL v2.0

One-button One-button publishingpublishing

File UploadFile Upload

SSL v3.0SSL v3.0

HTTP 1.1HTTP 1.1

Certificate Certificate MappingMapping

Content PushContent Push

Integrated Integrated Management Management

ConsoleConsole

FailoverFailover

Hosting SupportHosting Support

Process Process IsolationIsolation

ReplicationReplication

TransactionsTransactions

Message Message QueuingQueuing

Integrated Integrated DebuggingDebugging

Java SupportJava Support

ComponentsComponents

State State ManagementManagement

Language-Language-independent independent

scriptingscripting

SSISSI

Database Database AccessAccess

Efficient Efficient ExtensibilityExtensibility

ImagemapsImagemaps

CGICGI

HTTP 1.0HTTP 1.0

SSL 1.0SSL 1.0

Integrated Integrated ManagementManagement

Bandwidth Bandwidth ThrottlingThrottling

Content Content IndexingIndexing

HTML-based HTML-based AdministrationAdministration

SSL v2.0SSL v2.0

One-button One-button publishingpublishing

File UploadFile Upload

SSL v3.0SSL v3.0

HTTP 1.1HTTP 1.1

Certificate Certificate MappingMapping

Content PushContent Push

Integrated Integrated Management Management

ConsoleConsole

FailoverFailover

Hosting SupportHosting Support

Process Process IsolationIsolation

ReplicationReplication

internetserverinformation

1.0

Application Application ServicesServices

Web Web ServicesServices

internetinternetserverserverinformationinformation

1.01.0

TransactionsTransactions

Message Message QueuingQueuing

Integrated Integrated DebuggingDebugging

Java SupportJava Support

ComponentsComponents

State State ManagementManagement

Language-Language-independent independent

scriptingscripting

SSISSI

Database Database AccessAccess

Efficient Efficient ExtensibilityExtensibility

ImagemapsImagemaps

CGICGI

HTTP 1.0HTTP 1.0

SSL 1.0SSL 1.0

Integrated Integrated ManagementManagement

Bandwidth Bandwidth ThrottlingThrottling

Content Content IndexingIndexing

HTML-based HTML-based AdministrationAdministration

SSL v2.0SSL v2.0

One-button One-button publishingpublishing

File UploadFile Upload

SSL v3.0SSL v3.0

HTTP 1.1HTTP 1.1

Certificate Certificate MappingMapping

Content PushContent Push

Integrated Integrated Management Management

ConsoleConsole

FailoverFailover

Hosting SupportHosting Support

Process Process IsolationIsolation

ReplicationReplication

TransactionsTransactions

Message Message QueuingQueuing

Integrated Integrated DebuggingDebugging

Java SupportJava Support

ComponentsComponents

State State ManagementManagement

Language-Language-independent independent

scriptingscripting

SSISSI

Database Database AccessAccess

Efficient Efficient ExtensibilityExtensibility

ImagemapsImagemaps

CGICGI

HTTP 1.0HTTP 1.0

SSL 1.0SSL 1.0

Integrated Integrated ManagementManagement

Bandwidth Bandwidth ThrottlingThrottling

Content Content IndexingIndexing

HTML-based HTML-based AdministrationAdministration

SSL v2.0SSL v2.0

One-button One-button publishingpublishing

File UploadFile Upload

SSL v3.0SSL v3.0

HTTP 1.1HTTP 1.1

Certificate Certificate MappingMapping

Content PushContent Push

Integrated Integrated Management Management

ConsoleConsole

FailoverFailover

Hosting SupportHosting Support

Process Process IsolationIsolation

ReplicationReplication

internetinternetserverserverinformationinformation

2.02.0

Internet Information Server Internet Information Server And Web ComputingAnd Web Computing

internetinternetserverserverinformationinformation

1.01.0

Application Application ServicesServices

Web Web ServicesServices

internetinternetserverserverinformationinformation

2.02.0

TransactionsTransactions

Message Message QueuingQueuing

Integrated Integrated DebuggingDebugging

Java SupportJava Support

ComponentsComponents

State State ManagementManagement

Language-Language-independent independent

scriptingscripting

SSISSI

Database Database AccessAccess

Efficient Efficient ExtensibilityExtensibility

ImagemapsImagemaps

CGICGI

HTTP 1.0HTTP 1.0

SSL 1.0SSL 1.0

Integrated Integrated ManagementManagement

Bandwidth Bandwidth ThrottlingThrottling

Content Content IndexingIndexing

HTML-based HTML-based AdministrationAdministration

SSL v2.0SSL v2.0

One-button One-button publishingpublishing

File UploadFile Upload

SSL v3.0SSL v3.0

HTTP 1.1HTTP 1.1

Certificate Certificate MappingMapping

Content PushContent Push

Integrated Integrated Management Management

ConsoleConsole

FailoverFailover

Hosting SupportHosting Support

Process Process IsolationIsolation

ReplicationReplication

TransactionsTransactions

Message Message QueuingQueuing

Integrated Integrated DebuggingDebugging

Java SupportJava Support

ComponentsComponents

State State ManagementManagement

Language-Language-independent independent

scriptingscripting

SSISSI

Database Database AccessAccess

Efficient Efficient ExtensibilityExtensibility

ImagemapsImagemaps

CGICGI

HTTP 1.0HTTP 1.0

SSL 1.0SSL 1.0

Integrated Integrated ManagementManagement

Bandwidth Bandwidth ThrottlingThrottling

Content Content IndexingIndexing

HTML-based HTML-based AdministrationAdministration

SSL v2.0SSL v2.0

One-button One-button publishingpublishing

File UploadFile Upload

SSL v3.0SSL v3.0

HTTP 1.1HTTP 1.1

Certificate Certificate MappingMapping

Content PushContent Push

Integrated Integrated Management Management

ConsoleConsole

FailoverFailover

Hosting SupportHosting Support

Process Process IsolationIsolation

ReplicationReplication

internetinternetserverserverinformationinformation

3.03.0

Internet Information Server Internet Information Server And Web ComputingAnd Web Computing

Application Application ServicesServices

Web Web ServicesServices

internetinternetserverserverinformationinformation

1.01.0

internetinternetserverserverinformationinformation

2.02.0

internetinternetserverserverinformationinformation

3.03.0

TransactionsTransactions

Message Message QueuingQueuing

Integrated Integrated DebuggingDebugging

Java SupportJava Support

ComponentsComponents

State State ManagementManagement

Language-Language-independent independent

scriptingscripting

SSISSI

Database Database AccessAccess

Efficient Efficient ExtensibilityExtensibility

ImagemapsImagemaps

CGICGI

HTTP 1.0HTTP 1.0

SSL 1.0SSL 1.0

Integrated Integrated ManagementManagement

Bandwidth Bandwidth ThrottlingThrottling

Content Content IndexingIndexing

HTML-based HTML-based AdministrationAdministration

SSL v2.0SSL v2.0

One-button One-button publishingpublishing

File UploadFile Upload

SSL v3.0SSL v3.0

HTTP 1.1HTTP 1.1

Certificate Certificate MappingMapping

Content PushContent Push

Integrated Integrated Management Management

ConsoleConsole

FailoverFailover

Hosting SupportHosting Support

Process Process IsolationIsolation

ReplicationReplication

TransactionsTransactions

Message Message QueuingQueuing

Integrated Integrated DebuggingDebugging

Java SupportJava Support

ComponentsComponents

State State ManagementManagement

Language-Language-independent independent

scriptingscripting

SSISSI

Database Database AccessAccess

Efficient Efficient ExtensibilityExtensibility

ImagemapsImagemaps

CGICGI

HTTP 1.0HTTP 1.0

SSL 1.0SSL 1.0

Integrated Integrated ManagementManagement

Bandwidth Bandwidth ThrottlingThrottling

Content Content IndexingIndexing

HTML-based HTML-based AdministrationAdministration

SSL v2.0SSL v2.0

One-button One-button publishingpublishing

File UploadFile Upload

SSL v3.0SSL v3.0

HTTP 1.1HTTP 1.1

Certificate Certificate MappingMapping

Content PushContent Push

Integrated Integrated Management Management

ConsoleConsole

FailoverFailover

Hosting SupportHosting Support

Process Process IsolationIsolation

ReplicationReplication

internetinternetinformationinformation

4.04.0serverserver

Internet Information Server Internet Information Server And Web ComputingAnd Web Computing

Internet Information Server 4.0 Internet Information Server 4.0 Key FeaturesKey Features

Ease of useEase of use ScalabilityScalability Security and Security and

robustnessrobustness ProgrammabilityProgrammability Internet standardsInternet standards

Ease Of UseEase Of Use

AdministrationAdministration Microsoft management console and Internet Microsoft management console and Internet

information server snap-ininformation server snap-in Internet Information Server admin objectsInternet Information Server admin objects HTML administrationHTML administration Command line scriptingCommand line scripting

SetupSetup IntegratedIntegrated Over the WebOver the Web

Smart install, only downloading Smart install, only downloading what you needwhat you need

Ease Of UseEase Of Use

DocumentationDocumentation SearchingSearching Easy to printEasy to print MultimediaMultimedia

Site server expressSite server express Site analystSite analyst Usage analyst Usage analyst Web post and posting acceptorWeb post and posting acceptor

ScalabilityScalability

Multiple Web sites Multiple Web sites Per file configuration Per file configuration Individually configurableIndividually configurable Multiple identitiesMultiple identities Custom errorsCustom errors Configurable loggingConfigurable logging Index by directoryIndex by directory Per site bandwidth throttlingPer site bandwidth throttling Web site operatorsWeb site operators

Multiple FTP sitesMultiple FTP sites Configuration replicationConfiguration replication

One-to-one and one-to-manyOne-to-one and one-to-many Site Server will support dynamic replicationSite Server will support dynamic replication

Administration ArchitectureAdministration Architecture

Internet ServiceInternet ServiceManager Manager (HTML)(HTML)

Internet ServiceInternet ServiceManager Manager

(MMC)(MMC)

HTTP/HTML HTTP/HTML formsforms

DCOMDCOM

IISIISAdminAdmin

ObjectsObjects

IISIISAdminAdmin

ObjectsObjects

Internet Internet Information ServerInformation Server

Windows ScriptingWindows ScriptingHostHost

DCOMDCOM Service C

on

figu

ratio

nS

ervice Co

nfig

ura

tion

Service C

on

figu

ratio

nS

ervice Co

nfig

ura

tion

DCOMDCOMThird-partyThird-partyapplicationsapplications

AS

PA

SP

AS

PA

SP

HTTP/HTML HTTP/HTML formsforms

AS

P

AS

P

Sc

ripts

Sc

ripts

AS

P

AS

P

Sc

ripts

Sc

ripts

ConfigurationConfigurationStorageStorage

Windows NT Server 4.0Windows NT Server 4.0Windows NT Server 4.0Windows NT Server 4.0

HTML Administration ArchitectureHTML Administration Architecture

HTML with Embedded JavaScriptHTML with Embedded JavaScript™™ executed on client and Visual Basicexecuted on client and Visual Basic™™ Scripting Edition executed on ServerScripting Edition executed on Server

IIS A

dm

in O

bjects

IIS A

dm

in O

bjects

IIS A

dm

in O

bjects

IIS A

dm

in O

bjects

Service C

on

figu

ratio

nS

ervice Co

nfig

ura

tion

Service C

on

figu

ratio

nS

ervice Co

nfig

ura

tion

AS

P S

cripts

AS

P S

cripts

AS

P S

cripts

AS

P S

cripts

Internet Information ServerInternet Information Server

Op

erator S

ecu

rityO

perato

r Sec

urity

Windows NT Server 4.0Windows NT Server 4.0Windows NT Server 4.0Windows NT Server 4.0

AdministratorAdministrator

Web site operatorWeb site operator

ConfigurationConfigurationStorageStorage

Security And RobustnessSecurity And Robustness

Tightly integrated with Tightly integrated with Windows NT Server securityWindows NT Server security User accountsUser accounts ACLsACLs

MicrosoftMicrosoft®® transaction transaction server server rolesroles

Process isolationProcess isolation ““Wolfpack” (clustering)Wolfpack” (clustering) Certificate serverCertificate server Third-partyThird-party

Biometric authenticationBiometric authentication

Secure Socket Layer (SSL)Secure Socket Layer (SSL)

SSL 3.0, 2.0, and PCT 1.0SSL 3.0, 2.0, and PCT 1.0 Server identity verificationServer identity verification

Digitally signed certificate of identityDigitally signed certificate of identity

Secure communication channelSecure communication channel 40-bit or 128-bit channel encryption40-bit or 128-bit channel encryption

Optional client certificatesOptional client certificates Properties available to ASP scriptsProperties available to ASP scripts Optional mapping to Optional mapping to

Windows NT accountsWindows NT accounts

Programmability Architecture Of Programmability Architecture Of Internet Information Server 4.0Internet Information Server 4.0

IIS Protocol and I/O ServicesIIS Protocol and I/O ServicesIIS Protocol and I/O ServicesIIS Protocol and I/O Services

ISAPI FiltersISAPI FiltersISAPI FiltersISAPI Filters

ISAPI AppsISAPI AppsISAPI AppsISAPI AppsAdmin. Base ObjectAdmin. Base ObjectAdmin. Base ObjectAdmin. Base Object CGICGICGICGI Logging InterfaceLogging InterfaceLogging InterfaceLogging Interface

File I/OFile I/OFile I/OFile I/O otherotherotherother ODBCODBCODBCODBC

Internet Information Server 4.0

DTCDTCSNASNA

ServerServer

XAXAOLE TXOLE TX

VC++VBJava...

LU6.2LU6.2

OLE-DBOLE-DBADOADO

ODBCODBCJDBCJDBC

ActiveX ActiveX ComponentsComponents

Windows NT 4.0Windows NT 4.0

Database StackDatabase Stack.ASP.HTM

SQLSQLServerServer

HTML PagesHTML PagesHTML PagesHTML Pages Active Server PagesActive Server PagesActive Server PagesActive Server Pages

ActiveX ScriptingActiveX ScriptingActiveX ScriptingActiveX Scripting

MTSMTS

.ASP .VBS

IIS Admin IIS Admin ObjectsObjects

IIS Admin IIS Admin ObjectsObjects

MSMQMSMQ

Active Server Pages DebuggingActive Server Pages DebuggingWYSIWYG debugging of ASP applicationsWYSIWYG debugging of ASP applications

On/off switch for debugging, On/off switch for debugging, per per applicationapplication

Set breakpoints, step, use “stop” Set breakpoints, step, use “stop” or “debugger” statementsor “debugger” statements

Break on syntax or runtime errorsBreak on syntax or runtime errors Command window for looking at values Command window for looking at values

of script variables and intrinsic objectsof script variables and intrinsic objects Supports any ActiveXSupports any ActiveX®® scripting scripting

language that supports ActiveX language that supports ActiveX debuggingdebugging

Database ConnectivityDatabase ConnectivityActive Data Object (ADO)Active Data Object (ADO)

Performance improvementsPerformance improvements Connection pooling for ODBC data sourcesConnection pooling for ODBC data sources

One API for all access to OLE DB One API for all access to OLE DB and ODBC providersand ODBC providers

Abstracts low-level APIsAbstracts low-level APIs JDBC, ODBC, OLE DBJDBC, ODBC, OLE DB

Connects with any ODBC data sourceConnects with any ODBC data source Tight integration with Microsoft SQL ServerTight integration with Microsoft SQL Server™™

Updated drivers for Oracle, Informix, SybaseUpdated drivers for Oracle, Informix, Sybase Oracle Driver supports transactionsOracle Driver supports transactions

Process Isolation In Internet Process Isolation In Internet Information Server 4.0Information Server 4.0

Benefits of in process:Benefits of in process: Higher performanceHigher performance No protection from bad applications faulting No protection from bad applications faulting

or memory corruption or memory corruption Component unloading (harder to develop Component unloading (harder to develop

applications) requires a server restartapplications) requires a server restart Benefits of process isolationBenefits of process isolation

Process isolation gives better safety from bugs Process isolation gives better safety from bugs and bad applicationsand bad applications

Easy component managementEasy component management More granular configurabilityMore granular configurability Better administrative controlBetter administrative control

Crash protection (and recovery) for ASP and Crash protection (and recovery) for ASP and ISAPI applicationsISAPI applications If an application or component misbehaves, it If an application or component misbehaves, it

won’t affect other apps or Internet Information won’t affect other apps or Internet Information Server itselfServer itself

Applications can run in the Internet Information Applications can run in the Internet Information Server process or in separate processesServer process or in separate processes

Great for ISPs that want to “virtually partition” Great for ISPs that want to “virtually partition” a systema system

Example:Example:

http://www.microsoft.com/iis

http://www.test.com/test

Run out of process

Run out of process

Process Isolation In Internet Process Isolation In Internet Information Server 4.0Information Server 4.0

Process Isolation In Internet Process Isolation In Internet Information Server 4.0Information Server 4.0

How it worksHow it works

MTSMTS

WAMWAM

HTML orHTML orApplication?Application?

DiskDisk

Internet Information Server ProcessInternet Information Server Process

HTTPHTTP

Y

N

HTML GIF? (fast path)HTML GIF? (fast path)ISAPI? CGI? (WAM path)ISAPI? CGI? (WAM path)

ScriptScriptMapMap

Thread poolThread pool

WAMWAM

Transactional ASP PagesTransactional ASP Pages

The integration of Internet The integration of Internet Information Server and Transaction Information Server and Transaction Server brings transactions to the Server brings transactions to the WebWeb No more plumbing to write No more plumbing to write

(synchronization, threading, pooling . . .)(synchronization, threading, pooling . . .) Mix scripts, data access and Mix scripts, data access and

components inside transactionscomponents inside transactions

The ‘unit-of-work’ is the ASP pageThe ‘unit-of-work’ is the ASP page

Transactional ASP PagesTransactional ASP Pages

All work done in that page will share a All work done in that page will share a transaction context, and is committed transaction context, and is committed or aborted together or aborted together

Only transactable resources participateOnly transactable resources participate Data access is transacted; session and Data access is transacted; session and

application collections, local variables, application collections, local variables, filesystem, etc. are not (yet)filesystem, etc. are not (yet)

Expect more MTS resource managers to Expect more MTS resource managers to further expand what Internet Information further expand what Internet Information Server can doServer can do

.asp’s can be marked transactional.asp’s can be marked transactional <%@ TRANSACTION= [required | requires_new <%@ TRANSACTION= [required | requires_new

| supported | not_supported] %>| supported | not_supported] %>

IIS 4.0/Active Server PagesIIS 4.0/Active Server Pages

Transaction Server SNA ServerSNA Server

Windows NT 4.0Windows NT 4.0

SQLSQLServerServer

Other Other RDBMSRDBMS

CICSCICSMVSMVS

HTTPHTTP

LU6.2LU6.2OLE TXOLE TXXAXA

Transactional ASP Pages Transactional ASP Pages How it worksHow it works

purchase.asppurchase.asp

<%@ Transactional=Supported %><%@ Transactional=Supported %><html><html><body><body><% Set o=Server.CreateObject(..) %><% Set o=Server.CreateObject(..) %>

Solutions Enabled With Solutions Enabled With Internet Information Server 4.0Internet Information Server 4.0

Internet Information Server 4.0 enables Internet Information Server 4.0 enables customers with:customers with: A simple and secure platform for Web sites A simple and secure platform for Web sites An easy platform to develop robust An easy platform to develop robust

and scalable web server and scalable web server applicationsapplications

A reliable platform for deploymentA reliable platform for deployment

For all deployment scenariosFor all deployment scenarios Corporate IntranetsCorporate Intranets External Web sitesExternal Web sites Internet Service ProvidersInternet Service Providers

Getting More Information On Getting More Information On Internet Information Server 4.0Internet Information Server 4.0

http://www.microsoft.com/iishttp://www.microsoft.com/iis Internet Information Server Resource Internet Information Server Resource

KitKit Avaliable in bookstores in FebruaryAvaliable in bookstores in February

IIS related newsgroupsIIS related newsgroups Server msnews.microsoft.comServer msnews.microsoft.com microsoft.public.inetserver.iismicrosoft.public.inetserver.iis microsoft.public.inetserver.iis.activeservermicrosoft.public.inetserver.iis.activeserver

pagespages