introduction to internet information server 4.0 - the foundation for web computing
Post on 21-Dec-2015
217 views
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