Middleware – Past, Present and Future

PAST:

The true roots of middleware can in fact be traced all the way to the formulation of the client–server model in the 1960s and 1970s, when computer scientists at Xerox and Xerox PARC came up with the concept of server-host (or serving host) and user-host. The fundamentals of this were pretty simple and still hold true:

Servers are a dedicated single or group of systems/machines that are meant to perform certain commonly used generic functions.

Clients are a group of distributed consumers (again systems/machines) that need to avail the services offered by servers. Clients are supposed to make requests and the server is supposed to serve it.

The Client-Server model was a big leap in the history of computing; now the clients are no longer just a dump display terminal to translate and display the byte of data stream from centralized systems (like mainframes and AS/400) into a human readable language. Clients started to take the shape of powerful computing local devices that now would rely on servers for specific needs only. If we look closely, clients have evolved from dump terminals à desktops à laptops à handheld devices (table / mobile) à wearable gadgets.

This model introduced the need for communication channels through which these machines could talk to each other. The history of the term middleware, going all the way back to the 1980s, primarily focused on fulfilling the network connection management software needs of the client-server model. It was not until the 1990s when middleware started achieving sufficient penetration and visibility with the advancement of network technology. The past of Middleware is very well addressed in an article from David E. Bakken, Washington State University. A few of the lines are quoted below:

By 1990s middleware had evolved into a much richer set of paradigms and services offered to help make it easier and more manageable to build distributed applications.  The term was associated mainly with relational databases for many practitioners in the business world through the early 1990s, but by the mid-1990s this was no longer the case [1,2].  Concepts similar to today’s middleware previously went under the names of network operating systems, distributed operating systems and distributed computing environments. [For further reference, entire article link can be found at: http://www.eecs.wsu.edu/~bakken/middleware.pdf ]

In a nutshell, the following diagram to a large extent reflects the past of middleware.

Image1

PRESENT:

Middleware today implies integration servers like EAI, SOA, ESB, Web Services, RESTful APIs, JSON and various others. What really constitutes the boundary of middleware is debatable in today’s world, and the only common settling ground is: a “glue” technology required to integrate diversified systems, components and applications.

Up until today, various vendors have focused on addressing three main areas under the umbrella of middleware: Communication, Processing & Store. So there is no need to be surprised when you come across terms like Middleware for data, BPM, distributed database, and Enterprise Service Bus (ESB), APIs, SOA, ETL, EAI, etc. as a middleware offering. Also, there always has been debate around how one is better than the other and as the IT landscape changes or evolves, how one will survive and grow at the expense of the other. Different vendors with different focuses have their own story to tell. At the end of the day, all these are good enough to confuse everyone about this mystic term called “Middleware”.

Today, Oracle is the only organization with the most holistic and all compromising approach towards Middleware. Middleware is a platform and not just diverse sets of framework, technology or integration offerings; it is the software layer that lies between the operating system and the applications on each side of a distributed computer network (quoted from Oracle Middleware Concepts Guide). The following image from the same guide on Fusion Middleware reflects this holistic approach very well.

http://docs.oracle.com/cd/E21764_01/core.1111/e10103/img/productoverview.gif

The Platform is indeed the present of Middleware and there is no doubt every vendor in the near future is going to follow the same suite.

FUTURE:

What does middleware have to offer in the future? Is Middleware as a platform the end of the Middleware evolution?

Indeed the answer is NO.

EVOLUTION is the special gift that has been bestowed on all living creatures and then extended through their innovations. We have not stopped evolving and we never will; so it will be with middleware. Now the question comes, what’s next?

The 21st century has witnessed ongoing increasing dependency of business on technology. At the same time, it won’t be incorrect to say that technology has seen tremendous unimagined growth and adoption because of growing business needs. So, the answer lies in the very basic question, how can Middleware be a business accelerator of tomorrow?

Will it be in the technological improvement of HUB-SPOKE over POINT-TO-POINT, SOA over ESB, RESTful over SOA? Middleware is the behind-the-scenes mechanism that enables distributed, diversified technology to stick together, but that will not be sufficient enough for future solutions to cater to the growing needs of a business. One thing is for sure, that no one technological approach is going to triumph over the other in order to fulfill the needs of an entire enterprise. The future of middleware has to be based on a hybrid technological model that will need to be business centric.

In short, Middleware has to follow the evolutionary path of human communication skill. Middleware as a platform is still very primitive when we talk about efficiency and effectiveness of communication, compared with what humans have mastered so far. Middleware communication needs to develop receptive language skills.

For the Middleware of the Future, the technology glue has to be Simple and Smart, with flexible advanced skills to speak and comprehend any business language.

Why SSI (Simple Smart Interface)?

SSI is a middleware platform that works like a gateway between your packaged applications, like ERP, CRM, financials, etc. and your in-house business applications. The characteristics described below help SSI in removing inefficiencies and improving productivity, thus making enormous savings for your organization.

  • Reusability due to decoupled business layer — SSI is built using n-tier architecture with an additional layer to incorporate business logic. This makes your specific logic reusable for all your applications enterpris -wide.
  • Platform Independence — SSI is built using Service Oriented Architecture and hence its endpoints can be easily consumed by applications built on any platform.
  • Application Independence — SSI endpoints are versatile and can be utilized equally and simultaneously by disparate applications within your enterprise. Let’s say your company has a web application, a desktop application and a mobile application and all of them are required to support credit card payments. Then with SSI, all three applications can leverage the same Card Payments’ endpoints without undergoing any change to those endpoints.
  • Easy Interfacing — SSI exposes its endpoints either using APIs or Services as demanded by the customer. Since most of the business complexities are embedded within SSI itself, the effort required to interface is minimized significantly.
  • Flexibility — SSI is highly configurable and hence provides lot of flexibility when it comes to software upgrades. Consider a scenario where your company uses XYZ CRM software for your customer management needs and also has implemented SSI as your middleware to interface the CRM with your other enterprise wide applications. Now let’s suppose there is a need to upgrade your CRM to a newer version. With SSI in place, you will not be required to make any changes to any of your applications interfacing with your CRM. By just making a few minor changes in SSI, you would seamlessly migrate to your new CRM system. You can also leverage SSI as your custom business repository, thus eliminating huge recurring custom migration cost with every upgrade or even when moving from one system to other.
  • Scalability — SSI is highly and easily scalable to cater to your entire enterprise needs by horizontally scaling SSI through web farms. SSI is a cloud ready solution.
  • Versatility — SSI is a collection of business endpoints that can be either utilized as individual stand-alone functionalities or as a combination, tying them together in a workflow to serve a larger business process. This behavior of SSI makes it tremendously versatile and a powerful tool to solve your business problems.
  • Extensibility — SSI can be easily extended by adding new endpoints without impacting the existing endpoints. This makes the upgrades small and cost effective.

Role of Sales Order automation in your business

As many as 90% of businesses have reported that they are experiencing challenges with sales (customer) order processing.

Due to its heavy correlation with customer satisfaction, the importance of optimizing the sales order cycle should not be overlooked .

But how can you determine that your business actually needs a solution to improve your sales order process?

Several industries can be highlighted as those where a remedy would be highly recommended. If you are a company in manufacturing, distribution, retail, financial services or other high-volume industries with orders that contain multiple line-items, then you should be seriously considering a solution.

Even if your business is not in the list above, we have identified a few critical ‘pain-areas’ that indicate you could be in need of a sales order handling fix. These include:

High occurrence of errors 

Environments with high order volumes are prone to errors. Moreover, where orders often have multiple line-items and where manual processing is the norm, the frequency of these errors can be alarming. If you’re noticing that mistakes in your sales orders are causing issues, then automation is likely suitable for you. Problems in this stage of the cycle can seriously undermine the relationship with your customer.

Lengthy sales order cycle 

According to the various studies, it can take as long as 51 hours to process a single sales order. This daunting figure should be a strong enough indicator that a more efficient way of handling these customer orders needs to be employed in your company.

Overdue and inaccurate sales orders

Various issues can cause customer dissatisfaction, but if overdue or inaccurate orders are happening repeatedly, then it’s a huge pointer to the vulnerability of your sales order process. In addition to that, if your customers are experiencing inconsistency in several sales order channels, then you can consider yourself to be a good candidate for an upgraded system. Not only will it help you optimize your sales cycle, but it will also keep it consistent.

Order information and enquiries

Another area where automation can provide significant benefits is through easy accessibility of customer order information. This can equip your customer service team to provide more accurate and real-time information to clients without going through the cumbersome pains and workloads of extracting information.

Unclear and foggy overview of your sales and their status

If you find it challenging to get a quick snapshot of all your orders and the stage they are in, then you certainly belong to that large pool of businesses that need customer order automation. A good solution makes it really easy for your analytics department to systematically access and organize your sales order data to help make wise and timely decisions.

Foundational Principles of SkinnyWare

Bridging Business Processes – By Connecting Endpoints

Evolution and Expansion of Enterprise IT Systems has produced numerous applications over years. Some of them were short lived but some of them have survived and are still playing critical roles in enterprises. In the last decade, the inflow of such applications has increased many-fold primarily due to strong focus on SAAS based offerings. Plenty of start-ups and established Tech companies have started realizing the merits of Cloud and connected world of web and hence have begun to leverage these to construct solution for business problems. This has been a tremendous help to enterprises.

Organizations have finally been able to get niche business solutions that they always have been looking for. Its just that every organization is unique and that no single application or packaged solution can solve there every business problem. Although the explosion of SAAS apps have been a great help to enterprises, it has also resulted in numerous business nodes scattered meaninglessly. Not only it is hard to manage the influx of these but it is also tough to leverage their full benefit when needed. This has often resulted in duplication of business logic.

It is true that most of the applications provide APIs but usually their dependency on platform and technology poses several challenges for utility applications to freely integrate with them. Moreover, the ever frequent version and upgrades of these software have made it even more difficult for enterprises to maintain their integrated environments efficiently and cost effectively.

With experience, we have realized the following facts:

  1. Every enterprise is unique, is made of People, Processes and Technology and has a unique business need.
  2. No one single packaged application can fulfill that. Out-of-box solutions sound great but are often insufficient in addressing the exact business need.
  3. Customizations on these applications are usually very costly. Upgrades, which are inevitable, make them even costlier.
  4. Every application has a specific role to play in an enterprise’s eco-system; immense value can be generated only if these different applications can talk to each other seamlessly.

Keeping all these factors in mind, we realized that there is a huge scope for solutions that can overcome these shortcomings and deliver a promise to an enterprise. And after years of planning, thought and shared experience with our past customers, we came up with a foundation that can address these challenges for an enterprise. A shared integration platform that can enable enterprise to expand the value proposition offerings by Panacea.