Kirx' Blog - kirxblog.wordpress.com

App-V 5 Beta Component Communication Overview | April 27, 2012


“Alles bleibt anders” (Everything remains different) might be a good short description for App-V 5 (Beta). While most of the components keep their names and follow existing general concepts, quite a lot changed under the hood. This post gives you a short overview about Aoo-V 5’s main components and the communication flow between them.

Disclaimer: The information here refer to the Beta version of App-V 5.
Any (or even every) information and description given here might be wrong for the Release version.

Server Systems

In the past (well… ), there was one Server called the “App-V Management Server” (or Softgrid Virtual Application Server) that played several roles in a “native” App-V infrastructure.

Most environments had (err… have) one or more machines that run the “App-V Management Server” (Windows) service. This service actually has two task: Tell a client (upon user request) which applications are available (“Publishing”) – and then serve the actual application packages using RTSP(s):  the “Streaming”. So we had one service being responsible for two different tasks. Moreover, in most scenarios this machine(s) hosted a Management (Web) Service that was used by the Management Console to import applications, assign user rights to apps and something more. Management and Publishing information were stored in a SQL Database

With App-V 4.5 Microsoft introduced the “Streaming Server” (or “Lightweight Server”) that only served packages using the RTSP(s) protocol. So we had a “Streaming Server” that streamed and a Management Server that, well, yes, was used to Manage, but also to Publish and to Stream.

With App-V 5, this mixture is resolved. There are different components that are separated clearly in Microsoft’s communication. Like in the past, ‘all’ of the server components can be installed and used on one and the same machine without major functional issues (I’m not talking about performance here).

SQL Database

The SQL Database (= Microsoft SQL Server) stores configuration information for the “common” App-V infrastructure as well as meta information about Applications, Packages, Connection Groups, their Publishing Configuration and User/Group assignments. Like in the past the Database does not contain the “packages” itself.

App-V 5 Management Server

As the name indicates, this instance is used for App-V administration. It is implemented as an IIS Web Service and provides a communication interface for the Database. A (web) Management Console is used to administer application sets, access models and so on. The Management Server is the only one component that directly interacts with the Database. It does not have any communication relation with App-V Clients.

While it is a IIS application, the Management Server listens on a different port than the IIS. This port is specified during setup.

Navigate to http://<ManagementServerAddress&gt;:Port/Console.html to open the Management Console.

App-V 5 Publishing Server 

The Publishing Server can be understood as the interface between the Client and the Management Server. It regularly queries the Management Server for a set of Publishing Information. Unlike in the past, the Publishing Service does not query the Management Server on demand, triggered by Client/User requests. Instead it pulls that information for all apps every few minutes.

Like for the Management Service, also the Publishing Service is an IIS Web Application that listens on a specific port. This port has to be different form IIS’ own port. If Publishing Server and Management Server run on the same machine, two different ports are required.

App-V Clients query the Publishing Service on demand (like during User Logon or triggered manually). Based on the Access Rights, the Server returns an XML formatted publishing document.

And guess what? Navigating to http://<PublishingServerAddress&gt;:Port allows you to see the XML file based on your access rights.

Package Repository / Download Server

In previous versions, App-V Packages (.SFT files) usually were delivered to the client using the RTSP protocol  from an SoftGrid Virtual Application Server, App-V 4 Management Server or Streaming Server. In version 5, there is no longer any proprietary service that delivers Virtual Application packages (.APPV files) down to the client.

App-V 5 leverages industry-standard based Web Servers or File Servers to server .AppV files. This means that you don’t have to plan and scale a separate “file-server like” machine any longer for your own. Just add a new File or Web Server (cluster) to your environment or extend the usage of existing ones. While this means that the RTSP streaming protocol is gone, this doesn’t mean that you have to take the burden of unreliable downloads of x GB BLOBS. Both, Web and File server allow the App-V 5 client to download resources in smaller chunks – if the network connection drops, a download will not need to start from the beginning. So, still only missing pieces are transferred when necessary.

The Package Repository is queried by the Management Server (to retrieve meta data and configuration templates) and it is queried by the Client to download the .AppV file.

Client

The new App-V 5 Client is – like the server components –  more or less a complete redesigned and redeveloped agent for Desktops, Remote Desktop Servers or VDI machines. The App-V 5 Client consists of several modules and performs various tasks. Describing these module more detailed would go far beyond the scope of this article, so here is an overview:

  • Query the App-V 5 Publishing Server to get a list of Packages, Applications and Connection Groups along with publishing information like Link Locations, File Type Associations and other OS entry points. During this “client announcement” several sub-steps are made. Interestingly the Client also communicates with the Package Repository (.AppV file) during that task
  • Download Packages (content of .AppV files). As mentioned before, the App-V 5 Client does not just download the .AppV file as a whole but loads specific data from within that file  
  • Create the Virtual Environment
  • Execute the virtualized application
  • Store User Modifications

The App-V 5 Client does not communicate with the App-V Management Server (and it does not communicate with the Database).

Sequencer

From the look&feel, the Sequencer will be the component you’d feel most familiar with. Like it or not, the App-V 5 Sequencer does very much follow the Sequencing Steps that were introduced with SP1 for App-V 4.6 with only some smaller changes. Of course there are some fundamental changes under the hood (no more Q-Drive, no SFT file format or OSD files). From the communication perspective, nothing changed here: After Sequencing, you have to save the package and manually copy it onto the Package Repository (we used to call that “Content Share”).

Summary

When you compare the Version 5 communication architecture with the previous one you’ll notice that Microsoft separated different tasks from each other more clearly.

The Management Server is strictly for managing meta data in the backend. It is interacting with the Database (SQL), the Management Console (HTTP), the Package Repository (HTTP or SMB) and the Publishing Server (HTTP). It does not communicate with App-V 5 Clients.

The Publishing Server is designed to deploy user/machine specific configuration data to the client (what apps are available and how should they be integrated with the User Interface. It gets those information from the Management Server (HTTP:XML).

The Package Repository / Download Server is not any App-V specific solution any longer. File or Web Server are the technologies used. The Management Server, Publishing Server and Client are initiating communications with it via HTTP or SMB.

The Client does quite a lot, but essentially gets and executes Virtual Applications. The Client communicates with the Publishing Server (HTTP:XML) and the Package Repository (SMB or HTTP)

The Sequencer does not play any role in this “online” communication overview

Note: All server-like services can be hosted on a single (virtual) machine, like for a small Test or Proof-of-Concept scenario. When running on the same machine you’d have to plan with different ports for IIS itself (that actually could serve the Package Repository), the Management Server and the Publishing Server.

I would not install the App-V 5 Client onto such a test-box, just to ensure that the services can be reach from “the outside”. And of course I won’t install the Sequencer onto such a box either.

Advertisements

Posted in App-V, Client, Management, Server
Tags: ,

3 Comments »

  1. […] App-V 5 Beta Component Communication Overview […]

    Pingback by The knack » Blog Archive » App-V 5 beta–Other blog posts — April 29, 2012 @ 22:11

  2. […] App-V 5 Beta Component Communication Overview « Kirx’ Blog No related posts. […]

    Pingback by Daily Digest for June 20th | Savage Nomads — June 20, 2012 @ 23:40

  3. I have a question: When I log on to my client machine I see my shortcuts and I am to successfully launch my virutal packages. I was testing to see if a user accidentally deletes a shortuct if I could bring it back by just performing a refresh. I know I could do this in the legacy versions of App-V but for some reason this does not occur in my test environment of App-V 5.0 beta. I’m not seeing any errors that I know of. Any ideas? I can access management server and publishing server from internet explorer from my client successfully.

    Comment by Adam — June 22, 2012 @ 21:40


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: