The front-end connects with the Internet or in some cases with a wireless network operated by a single wireless company. The latter situation will almost certainly not persist more than a few years into the future as IP connectivity reaches all parts of a combined fixed and wireless Internet.
The gateway server is at the front of the front-end. It performs the normal firewall functions of restricting access to just those TCP ports used by legitimate MSP 2.0 accesses. It is the point of contact for establishing a network connection between client and server. The gateway may be the access point for connections to wireless devices. In that case Mobile Information Server can be used to hide most of the complexity and simplify administration. It may be possible to use the built-in capabilities of Mobile Information Server directly when HTTP or SMTP are used for SOAP envelope transport. In other cases custom adapters may have to be written to interface with the back-end processes.
The transport unpacking server takes incoming SOAP envelopes in SMTP, HTTP, or other transports, unpacks the content, validates it, and forwards the content to the authentication and accounting server, if the content is valid. The transport unpacking server is the logical endpoint providing the MSP 2.0 services from the external point of view. If SMTP is supported, then Exchange Server can run on this server as a robust SMTP and message storage system, buffering SMTP traffic to and from the NSP. While Exchange Server functionality is not precisely designed for this kind of application, it is well integrated with the other components in a Windows environment. In some cases it may be possible to use the SMTP service of IIS and MSMQ but this normally requires more custom coding.
Authentication and accounting are necessary for each MSP 2.0 request. One reason is that content providers often charge fees based on per-transaction usage and fine-grained accounting is needed to meet contractual requirements. The second is to make certain that session state information exists for each incoming request.
State information arrives in three ways.
SQL Server 2000 manages the accounting information. Related online business transactions are handled by Commerce Server.
Successful authentication during the initial connection produces a session ID token that is used in subsequent requests to allow rapid authentication.