The third part of the "new and different" posting deals with servers and services in Project Server 2007. By servers I also include some of the other products in the Microsoft Office 2007 server family as well as the functional breakdown of servers you may have in your server "farm". Likewise "services" covers both those services found in the usual operating system services control as well as services running under the control of Windows SharePoint Services. Hopefully all will become clear.
I will not be talking too much about performance choices of the different installation topographies here - more detailing what all the different bits do. The TechCenter at http://www.microsoft.com/technet/prodtechnol/office/project/default.mspx has good documentation covering farm topography. As Project Server is now built on top of Windows SharePoint Services 3.0 (WSS) you will also find the WSS TechCenter very useful at http://www.microsoft.com/technet/windowsserver/sharepoint/default.mspx.
When you install Project Server 2007 you have a number of choices open to you regarding the split of services and servers, as well as having additional functionality from other servers in the family. The simplest installation is to just install Project Server 2007. This could even be installed on a single server although please review the other documentation on the TechCenter to understand if this makes sense for your requirements. This single install can also load and configure WSS and can install SQL Express as the database to support both WSS and Project Server. This is usually termed the "standalone" installation. You can also achieve the same end result using the "complete" installation and this gives you the flexibility to choose a different database server (or perhaps a named instance on the same server). So the next most complex installation is introduced here - having a separate database server. So on one server you are running the web server and application server services, and all the database activity happens on another server. The next split is to have the application server and the web server as different machines. This can be achieved by adding a "Web Front End" (WFE). This is one of the installation options when installing Project Server 2007 and if you are adding a WFE you need to identify the database where your SharePoint (WSS) configuration database is located and then you add the WFE to the server farm.
The three server configuration of Web Front End, Application Server and Database Server can be further extended by adding additional servers of any or all of these three types to spread the load - or even have specific application server for instance taking a particular service. This comes more into its own when running multiple servers from the Office 2007 family - so search or Excel services could be served by a particular server. Reporting from Project Server could also extend the number of servers as you could have SQL Analysis Services and SQL Reporting Services either on the same database server or additional machines.
Services break down in to two related groups; those shown on the WSS Central Admin home page as Services on Server, and those in the usual Administrative Tools location for operating system services. So in my example here I will tell what is running on my server farm where I have loaded Microsoft Office SharePoint Server 2007 (MOSS) and Project Server 2007 - and configured Project Server and Office Search, but not Excel Services.
Web Front End - WSS Services
Web Front End - Operating System Services
Application Server - WSS Services
Application Server - Operating System Services
One thing to note is that the services within WSS control those within the OS. So if you stop any of the OS services you will probably see them start right up again - and even changing the identity of the service through the "Services" applet you will see this change back to what it had been set to within WSS. All maintenance of services should be handled through Central Administration - or the command line stsadm.exe tool.
I'll concentrate mainly on the Project services here. The Project services only run on the application server - the web front end can be thought of as just running a WSS application that happens to be Project Web Access (PWA) - no more services required at the front end. The Project Application Service controls the other two operating system services and also needs to be running to provision a new PWA site. If you are familiar with the editsite tool in Project Server 2003 this function is now handled through WSS and specifically in the shared services provider (more later). The two operating system services handle the queue service and server side events. If you look in task manager on the application server you will probably see two of each service running. Basically one of each will start, and then spawn another of each for every shared service provider (SSP) configured in the farm.
The queue service is the new architectural feature of Project Server 2007 that helps to deliver consistent performance by spreading the load. It can be configured through Server Settings of PWA where you can set properties for the 2 different queues: Project and Timesheet. Many of the features within Project Server rely on the queue to move data around, and queue system ensures the server gets a steady stream of work even if everyone submits their timesheets at exactly the same time on a Friday afternoon (as if).
The event service handles the server side events that are a new programmability feature of 2007. You can now write custom code to tie in to numerous events - such as creating a project, publishing a project, submitting a timesheet and very many more. This give a great way to extend Project Server to tie in to your other line of business systems, or just to enhance the functionality of Project.
I'll only mention a couple of WSS services here - the Timer service, which is behind all of the activity on the system - similar in a way to the queue in Project, the Timer service executes timed jobs. Creation of PWA sites and building a cube are a couple of examples where the timer service gets involved. The Web Application Service is the key service for WSS that enables sites to work - including those of WSS itself. WSS is really a WSS application in the same way that Project is!
I said I would come back to shared service so here we go. Think of the shared services provider as being a collection point for the non-core WSS applications that can run on the server. If you have just loaded Project Server then this will be the only item in the SSP. If you have loaded MOSS then you will also see many other components such as the search and portal features as well as the new feature of Excel Calculation Services. You would normally only create multiple SSPs if you needed segregate your instances of Project Server - or isolate some services to specific servers. If you have 2 SSPs then you would see 3 of each of the Queue and Event service running on your application server.
That's all for now - plenty to get your heads around. If you have any areas of project Server you would like some coverage on then please let me have feedback.
Technorati Tags: Project Server 2007
From now through to January many of you may be getting your hands on the new release, either through MSDN subscriptions, the trial versions or the retail availability. I will try and give pointers as new stuff becomes available - starting here with the Project 2007 Software Development Kit - http://www.microsoft.com/downloads/details.aspx?FamilyID=2672f6f9-7028-4b30-99a2-18cb1eed1abe&DisplayLang=en .
This has some great content, excellent samples and I strongly recommend it to anyone even just thinking of developing with Project Server as a platform.
Also posted are the SDKs for Groove 2007 - http://www.microsoft.com/downloads/details.aspx?FamilyID=baa487e9-e1b9-4a10-beea-1fd906b77f92&DisplayLang=en and Visio 2007 - http://www.microsoft.com/downloads/details.aspx?FamilyID=772ccdd1-7d06-4cc4-8ecd-de5864428c26&DisplayLang=en. Another useful one to get you ready for Workflow development with WSS 3.0 and Microsoft Office SharePoint Server 2007 will be the Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation) http://www.microsoft.com/downloads/details.aspx?FamilyID=5d61409e-1fa3-48cf-8023-e8f38e709ba6&DisplayLang=en.
I will add to this post as the other server SDKs appear.
My last post gave a few details of many of the new things; this post is concentrating of a big change in the way that Project Professional communicates with Project Server. There was a hint of this with the queue and cache mentioned before so now for more detail.
In the 2003 release Project Professional used OLEDB to talk to Project Server - so the initial authentication was made against the web server hosting Project Server then a direct link was made from the client PC to the database to open/save the project. In 2007 all of the communication is to/from the web services via HTTP - no more direct connection to the database. In 2003 several big support issues related to this; the versions of MDAC, connectivity to the SQL Server, reaction to high latency connections and more. So these problems go away with 2007. But this comes with a cost.
This final point is fairly significant as many custom applications written before Project Server made use of this facility to save into an Access database and then have other Access programs and forms accessing the data. This will no longer be possible. Access/Project applications haven't been a big support problem, and it is usually when upgrading that customers find something has changed with VBA or the object model and the programmer who wrote the application many years ago is long gone. This time the upgrade will be harder - but hopefully a chance to update the code and make good use of the great new programmability features of Project Server 2007.
The good news is that the new communication method solves the MDAC issues and, together with the queue and cache, overcomes the latency issues seen when trying to use Project Professional remotely from the server. The end to end save/open times are not that different in 2007, but the apparent times are very much improved by the new architecture. It feels a lot faster to the project manager and as we know - perception is reality! In most cases this also does away with the need for terminal services for users working remotely - a big budget saver for larger deployments.
One aspect of this architecture that I think may generate some support calls is this asynchronous nature of the project save when going through the cache and queue. If a project manager is working away in a wireless hot spot connected to their organization's Project Server 2007 server and saves and closes their project what happens? First the save goes to their local cache, then is transferred to the server where it is saved to the database and finally checked back in. If the project manager realizes he needs to make a change and wants to re-open the project she may find that this process hasn't completed and will get a message saying it is still checked out. This is a valid message but I'm sure it has the ability to confuse. The project manager will just need to wait. Another variation on this theme is saving and closing the project and then leaving the hot spot. The cache handles this by stopping the transfer (assuming it is incomplete) and will re-start once connectivity is available. The project manager thinks they have saved and checked in the project - but it is possible that the process didn't complete before connectivity was lost. The good news is that the client application does log this activity and will give good messages to tell the project manager what is going on - but if the laptop has been closed it is very difficult to read these!
So you may have heard that Office 2007 has a new look - the ribbon. (If you want more detail on this then Jensen Harris's blog at http://blogs.msdn.com/jensenh has everything you could possibly want to know.) As a Project user what you should know is that you don't get the new look this time around. The core applications of Office got the treatment this time - so the next release should see this extended to Project, Visio, Publisher, InfoPath and SharePoint Designer. Outlook is half and half - with the mail authoring side getting the makeover.
What Project DID get on the client side is multi level undo! This has been some time coming but if you understand the complexities of the scheduling engine in Project you will realize this is no trivial piece of work. This makes it far easier to try some what-if scenarios without the fear that you will not get the schedule back how it looked before the what-if. A couple of my other favorite features on the client are the new Visual Reports and the Task Drivers. The first of these makes use of local multi-dimensional analysis capabilities of both Excel and Visio (Visio Professional 2007 required) to take the data in your project and present it in a ways that can help you see exactly what is going on. The second - task drivers - will be a great help for customers and save some support calls. We will quite often get calls saying that Project is not scheduling correctly, when in most cases it is working exactly as designed - but it isn't clear to the customer what is driving the task. For instance you may have a resource with a calendar that has them only working Monday to Thursday, and if they get assigned to a task starting on a Friday it will move to Monday. The driver is the resource's calendar - and this driver can be displayed with this new feature. Great for finding which other tasks are really driving things within your complex projects.
On the server side there are some big changes. The big four architectural/technical changes I love are the Project Server Interface (PSI), the Queue Service, Server Side Events and the Cache. I'll be digging deeper into each of these on future blogs and you will also find plenty of information on the other blogs linked from my site. But briefly:-
There are also some server features that are of more immediate benefit to a Project Manager than the technical things that I tend to get excited about. The top one here would be server side projects. You can now create simple projects on the server without using Project Professional. The other benefit of this server side scheduling capability is that when updating a project based on the status updates from your resources - you no longer need to open Project Professional - it all happens on the server and can even give you a preview of the plan if you were to accept the updates.
I'm probably only scratching the surface and there are many more features. More to come in future postings...
As we approach the launch of Microsoft Office 2007 I will be covering a few different topics that fall into the following groups:-
The aim of my predictions for 2007 is to guess which will be the top support issues. My plan is to be proven wrong - by giving the answers so you don't need to call. My other general 2007 predictions are a winning year for the Seattle Mariners and relegation for Southend United. I'd like to be proven wrong on one of those too. Not sure where we will have our company meeting if the Mariners are still playing in October - not a problem we have had for a while.
So back on topic - I would love to have feedback from any of you involved with the Beta program on your experience (good or bad) and any topics you would like some discussion around.
But first a primer for those who are new to 2007 - or even new to Project Server. Project Server arrived with the 2002 release and was a further development and extension of the Project Central technology that allowed centralized storage of projects. This introduced collaboration opportunities for sharing documents, keeping an issues register and also some cross project reporting. The collaboration features made use of SharePoint Team Services, and the project data was held in Microsoft SQL Server, and could use Analysis Services for reporting. The 2003 release saw collaboration moved on to Windows SharePoint Services (WSS), the addition of a risks register and some general refinement of the product and performance improvements.
The next release - Microsoft Office Project Server 2007 - moves on again and this time gets deeper into WSS so that the Project Web Access site itself is a WSS site collection. The project data is still in SQL Server, but the database structures are much improved and lend themselves to reporting from SQL Reporting Services as well as SQL Analysis Services. Some of the big changes which I will elaborate on in a later post are the separation of task update status reports and time sheets; the client to server connectivity changes that enable us to virtually eliminate the need for Terminal Services for distributed installations and the new programmability model the Project Server Interface (PSI) .
So my next post will start on the "What's New and Different" list and take in such great features as multi level undo, task drivers and the demise of the "save as mdb" option. Stay tuned...