From: Don MacIntyre, Vice President of Software Engineering
We’ve been talking a lot about our new Customer Portal here on the Engineering Blog. As previously mentioned, we’re very excited about the modular aspect of Portal and how we can have partners add modules via our Software Development Kit. I’d like to take a moment to talk about some of the highlights of the Portal’s software architecture.
The Portal architecture has three distinct layers: The Portal user interface, the middleware that contains all of the business logic, and the external services provided by Hosting.com or our partners.
The Portal UI is based on Microsoft’s Web Client Software Factory (WCSF). WCSF is a great choice for a modular environment such as our portal and is easy to deploy. We have designed the portal to be easily extendable. Over time you’ll see the number of modules available continue to grow as we determine what our customers would like to see within the portal. Our goal is for the portal to offer real value to our customers while helping them manage and monitor their environment.
Microsoft’s Entity Framework is used for data abstraction, allowing developers to focus on the application rather than the database. The Portal’s modular architecture allows each module to be self-contained. These modules call the web services exposed by the Provider Clients that are part of our middleware.
The middleware layer is modular as well. We refer to these modules as Provider Clients and this is where the business logic for the module is contained. Since we are dealing with asynchronous services (services which may not provide us with immediate feedback) we have opted to use Microsoft’s Message Queue (MSMQ.) MSMQ is an enterprise quality fail-safe message queue. This means that all transactions can be controlled in a predictable and reliable manner. When dealing with provisioning tasks that may take a few minutes or a partner’s service that may trigger a number of events on their systems, a highly robust messaging system is extremely important. We also developed an event notification system to inform users when asynchronous events are complete.
We are very proud of the technology behind the Portal and confident we can scale it out to meet the demands of our customers.
We’re also proud of the Software Engineering practices that our team has embraced. More about that in another note….
Tags: customer portal