Welcome Guest!
Create Account | Login
Locator+ Code:

Search:
FTPOnline Channels Conferences Resources Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed

email article
printer friendly
more resources

Establish a Service-Oriented Framework
Improve your application infrastructure's manageability and extensibility with a service-oriented architecture.
by Rao Chejarla

February 2003 Issue

For this solution: .NET Remoting, Visual Studio .NET, XML

The concept of application frameworks, which has been around almost since the dawn of object-oriented technology, has proven to be an effective way to reduce development cycles, improve component reusability, and react to changing market conditions. An application framework encapsulates the advanced features of underlying technology—such as .NET Remoting, ADO.NET, and security—and provides common infrastructure components for application development. Application-development teams can focus on providing business functionality because the framework provides all the necessary infrastructure components. Also, because the framework encourages consistent application design, you can reduce the cost of application maintenance.

ADVERTISEMENT

As your development team seeks to take advantage of .NET technology, you'll want to establish a solid application framework to exploit these features in a cost-effective way. Before you do this, it's important to understand the issues associated with application management and extensibility, so you can outline a service-oriented application framework to address them and improve developer productivity in your organization.

Application management and extensibility are two special concerns in any development organization. Unless you address them properly from the start, it's difficult to handle them later. First, I'll clarify what I mean by manageability and extensibility. Some application components, such as the one that gives connection strings to a database, are supported by a configuration file. After you've deployed these components, you might need to add new entries or modify existing entries in the configuration. The ability to change this configuration information and make it available to the components without a great deal of effort indicates you have a high level of manageability for your application. However, in most cases, application teams don't have access to production servers, so the server administrator needs to change the configuration and restart the server. It's preferable for the application-development team to have the ability to change application-specific configurations.

Extensibility refers to the ability to add new, manageable components to the framework without causing changes to the existing software. You normally start your infrastructure with a set of requirements such as database access and security. When you want to add new features, such as a scheduler or e-mail, you should already have a standard object model you can base these components on. Along the same lines, you need a standard way to specify configuration information for components that provide these infrastructure features.

Most application frameworks focus on providing a pattern for application development with an emphasis on component reusability. Providing infrastructure services to applications is the primary functional goal of any application framework, so extensibility and manageability of the framework's individual units should be the primary architectural goals.

Back to top

Printer-Friendly Version










Java Pro | Visual Studio Magazine | Windows Server System Magazine
.NET Magazine | Enterprise Architect | XML & Web Services Magazine
VSLive! | Thunder Lizard Events | Discussions | Newsletters | FTPOnline Home