Insight and analysis on the data center space from industry thought leaders.
Get Away from the Status Quo: Modernize Your Middleware-Tier
Applications servers (middleware-tier) are nothing new and have long been an integral part of on-premise distributed architectures.
June 22, 2017
Franco Rizzo is Senior Pre-sales Architect at TmaxSoft.
If you’ve been wondering recently whether your web application framework can use an upgrade, it’s time to perform a thorough evaluation of your infrastructure to confirm whether (or not) it’s still meeting the organization’s needs – and there are nine critical questions you can ask to determine this.
Before we dive into that, however, it may be helpful to start with a couple of definitions for terms that sometimes are misunderstood:
Mid·dle·ware: Software that acts as a bridge between an operating system or database and applications, especially on a network.
Mid·dle-Tier: The processing that takes place in an application server that sits between the user's machine and the database server. The middle-tier server performs the business logic.
Both terms are often used interchangeably. But fundamentally, in web architecture, both refer to web servers, application servers, content management systems and other tools that support application development and delivery. The middleware-tier is integral for an organization to ensure user requests are processed quickly and securely.
Applications servers (middleware-tier) are nothing new and have long been an integral part of on-premise distributed architectures. Middleware-tier connects users and facilitates the integration of legacy applications with distributed corporate data and applications. With the growth of hybrid cloud workload deployments, the benefits of a well-architected middleware-tier can significantly improve performance.
Middleware-tier offers the following operational advantages:
Ensure application portability across on-premise and public environments
Facilitate high-availability architecture
Enable DevOps productivity
Middleware-tier is the nexus for a distributed multi-tier architecture, enabling the decoupling of the data consumer from the data producer; an apt example is decoupling a database from applications. Furthermore, middleware-tier provides access to a wide variety of services, databases, messaging services and connection to external enterprise services like SaaS, Cloud and IoT Event Streaming, which allow enterprises to deploy mission-critical applications in a scalable environment. This scalability occurs in the middle – not in an application and not in a database. What’s more, functionality, flexibility and security are also improved.
Most organizations already have middleware-tier architecture in place. But how can an organization be sure its current web application framework is providing the best security and performance and is cost-effective? Determining whether the current framework is meeting the enterprise’s needs requires a multi-dimensional effort.
Evaluating Your Current Middleware-Tier Framework
When evaluating an organization’s current web application system, there are nine important questions to ask:
How flexible is it – can it scale capacity as needed?
How quickly can the organization cluster together multiple instances of its middleware in order to accommodate business requirements?
What type of security protocols does it offer? For example, one of the most popular protocols is Apache J Server Protocol; but the issue is that it is an open protocol – everyone has access to it, which increases the possibility of hacker attacks.
What is the overall TCO? There are a couple of ways to look at cost – there is the cost of an actual product, and there are also costs associated with not being able to scale or not having the most optimally performing architecture.
Are you fully leveraging virtualization? Application servers that are not optimized for today’s Software Defined Data Centers can be expensive to maintain over time, so having a product licensed for today’s virtualized environment is critical.
How are licensing costs structured – and are you only paying for what you use, or are you paying for extra capacity you don’t need?
Does the applications server conform to the latest J2EE standards?
Is it high availability – if an application crashes and needs to be redeployed, how smoothly does that happen?
How robust is the administration aspect?
If the answers to any of these questions do not align with an organization’s security, throughput and productivity goals, then it may be time to explore a new middleware option.
Evaluating a New Option
When establishing a web application system in a multi-distributed environment, the most important issues for consideration are:
Load-balancing structure;
Inflow and request control; and
Performance optimization and security.
Each of these must be evaluated for any new framework.
Load balancing: When configuring a web server and application server on multiple nodes, the configuration must support load balancing. Load must not be concentrated on a specific node when forwarding a request from a front-end web server to a back-end application server. A dynamic load-balancing function using an application server load is especially critical for optimized performance.
Client inflow and request control structure: A web application system structure must be able to handle massive client requests as well as provide effective management of specific node, application or URI standard requests. If massive requests come through the front end to the application server layer without any handling, it will be too late to control the requests. This is because it is difficult to handle the performance load if an attempt is made to control requests after load congestion already occurs.
To resolve these problems, it is important to be able to control the inflow of requests before a problem occurs to the front-end web server.
Performance optimization: In a multi-node cluster environment, sessions are generally used for sharing application state information. Session information is managed by using a caching method where the cache hit ratio is the most important factor.
This means that in a multi-node environment, it is important to increase the probability of accessing session information from the cache area, which affects web application performance. The cluster structure optimized for high performance is a core architectural component.
Security: In general, when configuring the web and application servers, web servers are configured inside an extranet, while application and database servers are configured inside an intranet. A firewall is installed between the networks for security and a communication port is set between the web server and application server.
These settings, as well as methods for communication and data exchange between each server group, are important for security control.
Know Your Framework
While an organization may feel comfortable with its current web application framework, sometimes staying with the status quo can negatively impact business goals, productivity and user experience. If you’re not taking time to evaluate current infrastructure and question whether it’s performing at optimal levels, issues can crop up, and then suddenly the framework no longer functions properly.
Ask the right questions to determine whether your current framework is meeting the enterprise’s current as well as future needs; if it doesn’t, start examining other options and make load balancing, client inflow and request control structures, optimal performance and throughput, and security capabilities key requirements.
Opinions expressed in the article above do not necessarily reflect the opinions of Data Center Knowledge and Penton.
Industry Perspectives is a content channel at Data Center Knowledge highlighting thought leadership in the data center arena. See our guidelines and submission process for information on participating. View previously published Industry Perspectives in our Knowledge Library.
About the Author
You May Also Like