Re: MSAS Licensing Part II

From: Dave Wickert [MSFT] (dwickert_at_online.microsoft.com)
Date: 03/10/04


Date: Wed, 10 Mar 2004 13:30:49 -0500

I appreciate that it may not make any difference in your situation but that
is how the product is licensed and distributed (there is extra software on
the Enterprise Edition CD that you have to configure -- see BOL). If you
wish to use http access then you must have Enterprise Edition. Only in
Enterprise Edition is the code delivered which enables this feature. With
Standard Edition, the service only listens on one port (2725) and accepts
only direct connections from clients (using PTS).

The actual processing of Http access is a function of both the client and
the server. On the client-side, PTS looks at the server name. If the server
name does not start with the 7 characters "http://" then PTS makes a direct
connection to the Analysis server specified. If it does start with that,
then PTS assumes that the server name is really a URL and it appends
"/msolap.asp" to the end of it. It takes exactly the *same* buffers that it
would have sent in a direct client-server connection and wraps it in a
MIME-encoded block and does a HTTP post to that URL. This decision as to
what type of transport to use is done JUST before the message block is to be
sent to the server -- down deep inside PTS. All of this processing is
included in the PTS -- there is only one version of PTS. Standard Edition
and Enterprise Edition are the same. The differences between editions is
what the *server* is capable of accepting. This makes it easier for
resellers, small businesses such as yourself, and IT departments in large
enterprise customers to distribute client-side components.

On the server-side there is a big difference between http access and direct
client-server access. For direct client-server access, the Analysis service
is listening on port 2725 (for SQL Server 2000, there are other ports for
SQL 7 i.e 2393 and 2394). For http access, you must also have running IIS
and configure it properly to accept the request (e.g. establish a virtual
directory and configure it), and place the msolap.asp file on it. The
msolap.asp file takes the incoming data, decodes the MIME-encoded block and
passes it to the msmdpump.dll component which then passes it to the msmdsrv
service as if it was an incoming request was a direct connection. The data
pump then accepts the results back (again as if it was a direct connection),
MIME-encodes the block and pass it back to msolap.asp, when then passes it
back through IIS to PTS which decodes the MIME block and processes it as
normal. So as you can see -- you have lots more moving parts that -- when
all is over and done with -- just emulate a direct connection, but use http
as the transport mechanism.

You will note that all of this is totally transparent to the client. They
work with AS as they normally would. The *ONLY* difference is the format for
the server name. All other functions, properties, methods, etc. are totally
the same.

Hope that helps.

-- 
Dave Wickert [MS]
dwickert@online.microsoft.com
Program Manager
BI Practices Team
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.
"Caretaker" <anonymous@discussions.microsoft.com> wrote in message
news:63454280-2470-4942-A7C6-410569E784E0@microsoft.com...
> Dave,
>
> Thanks for the reply.  There seems to be a perception that the use of HTTP
automatically means that there will be delivery outside of the firewall, as
you hinted to when you said that intranets usually don't use HTTP.  HTTP is
simply a protocol, and has nothing to do with whether delivery is made
inside or out of the firewall.  That said, the protocol should not matter
when we are wanting to deliver within our firewall to a maximum of 30 users.
And yes, we use HTTP as an intranet protocol.  We should not be forced to
spend such a significantly more amount of money going to EE just because we
choose HTTP as the protocol.  The bottom line is, we're delivering only
inside our firewall to 30 users, so we should be able to use SE with the
server and purchase the appropriate user or device CALs within SE, as is
Microsoft's intent.  In any case, where does the HTTP enabling and disabling
exist - in the AS client, AS server, or some other layer such as IIS?  Thus,
if we use HTTP to attempt to deliver existing AS cubes, will SE disable HTTP
so that no access method, whether OLE for OLAP or Cognos' access method to
MSAS cubes through PowerPlay, will be able to deliver existing MSAS cubes to
CAL-compliant users for reading?  Does it make a difference whether we use
IIS or something on the order of Tomcat for whether this disabling occurs?
>
> We want 30 CAL-compliant users to be able to read MSAS cubes from a
properly licensed server with properly licensed CALs using SE.  You say we
can do this unless we use HTTP protocol.  I say the protocol shouldn't
determine the edition of SQL 2k we should have to purchase, especially with
the huge, huge disparity in pricing.  30 users are 30 users, regardless of
how cubes are delivered.  Am I missing something?


Relevant Pages

  • Re: breaking the model
    ... > The forms data then is in the Request object. ... HTTP Request; in this case, the form POST Request from the Page. ... client and server. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Banana Republic (was Re: OpenVMS Book Wins award)
    ... client ... No bollocks HTTP, SOAP, XML, Java, Garbage ... receive messages from any number of server processes who in turn could be ... Unlike TCP/IP and/or UDP Sockets with Java that have been around since ...
    (comp.os.vms)
  • Re: MDX Sample App broken by 2005
    ... You might find it useful as an alternative to http ... Windows authentication wouldn't work since client and server are ... > different non-trusted domains. ...
    (microsoft.public.sqlserver.olap)
  • Re: Firewall session disconnects after 2 minutes of inactivity
    ... I want to start by pointing out the following: HTTP keep-alives and anything ... involved in the early stage of the connection when the client downloads the ... The HOD server I mean. ... when the session takes place through the ISA Server? ...
    (microsoft.public.isa)
  • Re: Ajax in sync mode works with IE, does not work with Firefox
    ... HTTP is sessionless. ... does its close or half-close, the HTTP server will get a FIN (modulo ... then the server would be notified of socket disconnection ... If it's a stream socket, over TCP, then if the client closes its end, ...
    (comp.lang.javascript)