News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 2/1/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Visual Studio 2010 Release Candidate Available Today
A Visual Studio 2010 release candidate is available on MSDN.
02/09/2010 09:45 AM EST

Is Microsoft eyeing Office subscription pricing?
Microsoft may be preparing to offer a new Office pricing option called "union," which charges the same for cloud as on-premises.
02/01/2010 09:38 AM EST

Facebook rewrites PHP runtime
Facebook is about to open source its own PHP runtime, written from scratch for speed.
01/30/2010 08:53 PM EST

 

Events calendar tab
2/9/2010 to 2/13/2010
San Francisco
IDG World Expo

2/10/2010 to 2/12/2010
San Francisco
BZ Media

2/17/2010 to 2/25/2010
Atlanta
Python Software Foundation

2/19/2010 to 2/20/2010
Los Angeles
SCALE

2/21/2010 to 2/24/2010
Las Vegas
IBM


 
Most Read Latest News Blog Resources

Guest View: Improving the range of today’s applications




November 1, 2009 — 
IT consultant and Harvard professor Peter G.W. Keen developed a reach/range analysis in the 1990s that can be used to describe how distributed an application is (reach) and its degree of integration (range). Web technologies have become a user’s “single pane of glass” that resides in phones, badge readers, or anywhere network technologies can be used, making reach almost limitless.

Improving range has been more difficult as business applications remained stovepipes of isolated functionality. The forces of business opportunity and technological enablement have led to more loosely coupled architectures like SOA, while social networking has demonstrated that application components can form and reform more quickly and easily than conventionally programmed solutions. Composite applications called mashups now go beyond integrating data and text to incorporate maps, photos, music and video on-demand.

Application developers are faced with a daunting array of requirements. As SOA, composite and mash-up applications become the norm, developers must not only integrate with applications from within their own enterprise, but they may also need to incorporate functionality from external applications. It’s no longer as simple as updating a library and recompiling code to create compatibility with other applications in your organization. Web 2.0, social networking and composite applications are redefining application integration requirements. Even senior application architects often fail to fully consider how an application will perform when rolling out from development and test environments to a production environment that integrates external applications.

Applications are becoming more complex, yet user expectations are increasing. You need to consider how to address application complexity that affects reach and range over an application’s lifespan. Three factors are driving application complexity:

•    Applications are more distributed. Employee and customer users may be anywhere in the world, yet providing a high quality of experience is critical to business. Virtualization compounds the challenge, with application servers that may reside in any data center across the globe. These multiple moving parts make it difficult to meet user expectations for performance.
•    Users have an ever-increasing choice of devices. They expect to use whatever device they want when they want, wherever they’re located. Standardization is key, but standardizing using the end-to-end principle is exceedingly difficult to implement as the number of end-point types increase.
•    Integration requirements. Applications need to integrate internally across silos, along with external applications that provide business services such as geo-coding, credit checks, mapping, etc. Application developers need to integrate these different sources of information and present them in a single user interface.

Clearly, there is a looming capability gap between application complexity and existing architectural practice and development methods. Application architects must seek help in new places, one of which is surprisingly close by. Networks—the ubiquitous transport infrastructure known for providing application “plumbing”—can now provide application-enhancing services that help meet the requirements of today’s exceedingly complex networked applications.

The need for concurrently longer reach and broader range has created an architectural and development logjam. As the performance burden on servers increases, the network is a natural resource for several scalability and performance responsibilities.

Network-based application services can change the face of application development, and here’s why they matter to you as an application architect and developer. From a development standpoint, it’s clearly more convoluted to have to code for each point you have to communicate with; but if you view the network as an operating system, you can achieve “three E’s” for your applications: enablement, enhancement and enrichment.

•    Fundamental enablement is the network plumbing and arbiter of quality of service. For an application to be available for use, the network must be there. To best employ the services for networked applications, a well-developed enterprise architecture is a necessity. This practice will ensure that the network is configured to support required protocols for the application, and to provide applications with requisite quality of service or the ability to run in a segmented VLAN.
•    Enhancement of applications using network-based services that are “transparent” to the application and don’t require direct interaction. Examples of transparent services include caching, compression, encryption and filtering. Transparent services are performed by the network automatically, but architects must specify configuration parameters and let developers know when the services are activated. In some cases, developers may be able to request network configuration parameters to determine if a transparent service is available.
•    Application enrichment through application services that are “exposed” in the network is probably most important as composite applications continue to evolve. These services employ a variety of APIs, but they are shifting more and more toward Web services using WSDL and REST to provide information or functions the network can offer best. These include location and presence information, or voice and video services that enable integration of applications into call control and multimedia bridging services to add entirely new dimensions to an application’s functionality.

As reach and range continue to expand, the high-demand distributed applications of the future are going to require continuing innovation in architectural techniques, resources and capabilities. New performance boosts will have to be found at every level of the system, from the lowest-level plumbing to the highest-level user interface. Enterprise architects and developers will be working far beyond the application server, getting involved with services from many sources.

At the network infrastructure level, networks have begun dealing in higher-level, application-related semantics in addition to their primary job of moving bits through the wire. They now offer capabilities such as data compression, caching, content distribution and protocol optimization—all at a point in the system that may be more efficient and less taxing than similar capabilities in the server. For the enterprise architect, this means expanded options and more flexibility.

Traditionally, application architecture and development is focused on the “boxes,” or servers, along with the capabilities and resources they require. However, the network, or the lines between the boxes, provides services that merit the architect’s exploration and exploitation. There are several advantages to using network-based application services, including:

•    Improved performance: Dedicated hardware can perform many tasks faster than software.
•    Shared effort: As the network assumes certain application responsibilities, numerous operations can now be performed “on the wire” instead of bogging down server compute cycles, freeing up the application server for the processing and functionality it’s meant to do.
•    Tuneability: Services located in the network can be tuned so that, for example, mission-critical applications receive a higher quality of service than other applications.

One challenge with network-based services is making developers aware of them. This is a layer of the technical architecture that application architects know little about and rarely venture into, and they may not realize what a properly provisioned network can provide. While architects are actively maintaining a catalog of the services that are the reusable building blocks of their enterprise systems, many services are going uncataloged (and thus unused) because they reside in the network, where architects and developers are unaware of them.

The network will increasingly become the source of standardization for many application features. However, to truly be successful, enterprise architecture practices must connect application developers and network engineers to catalogs, and make these services available.

John Gaudin is a senior enterprise architecture marketing manager with Cisco Systems.


Related Search Term(s): networking


Share this link: http://www.sdtimes.com/link/33880
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading