Middleware and Service Oriented Architecture
In today’s fast paced computer world, we as computer users expect everything to work every time we use it. This means that programs that should work together, which allows us to get the most out of our programs, systems, and networks. Linda Rosencrance of Computerworld.com says this about middleware, “Middleware, software that functions as a translation layer, sits between an application residing on one server and any number of clients that want access to that application. In short, middleware allows users to interact with one another and with applications in a heterogeneous computing environment.” This is a very important feature that computers use, a feature that we as users never see.
This “cyberinfrastructure” as Educause likes to refer to it as, is the backbone of every system. The need for such software is not coming to a close any time soon either. More and more different systems are being implemented every day, and each of those will have the need to communicate with other systems on a daily basis. Whether companies will be able to use existing middleware or have to create their own is up in the air though. As Service Oriented Architectures become larger and faster each day, middleware is going to have to keep up with the pace. People expect their computers to react instantly, and if they don’t they will move on to another piece of hardware/software.
A very important feature of middleware is that it helps connect old legacy systems to new, updated systems. This way, companies do not have to lose out on millions of dollars every time a computer needs to be updated. This also aids in connecting different parts of a company together to flawlessly act as a whole. A company must understand its system before using some middleware. Some middleware will be packaged within a new system if it is a well known item. If the company has designed its own system, the new middleware might also have to be designed from the beginning. Luckily, each company has different types of middleware to choose from so it will fit their needs perfectly.
Some of the different types of middleware are database middleware, message-oriented middleware, transaction-processing monitors and Web middleware. An example of database middleware is any middleware that connects an application to a database, or a database to another database. Accessing an Oracle database using a transaction application would be one way to use this particular type of middleware. Message-oriented middleware according to the SEI is middleware that “increases the interoperability, portability, and flexibility of an application by allowing the application to be distributed over multiple heterogeneous platforms”. What makes this middleware useful is that messages sent over a network are stored if the receiver is not currently on the network. The sender however can send as many messages as it wants to though. Transaction-processing monitors allow a client/server to properly run and operate transaction applications. This middleware can work with many different clients which all need to talk to the server. It organizes the data into processing routines which is then routed to different services. Web middleware connects different data and applications to the Internet, where our different browsers can access them. Without web middleware we would not be able to work or play the way we do now. While there might be another way to connect ourselves to the vast amounts of information that is available, it might not be as easily done.
Martin Treiber and Schahram Dustdar of the Vienna University of Technology have the following to say about SOA and middlware:
“It can be seen that middleware and SOA have some overlapping goals, both aim at
• integration of distributed software systems
• support of heterogeneity concerning implementation
• support of different (distributed) architectures
Nevertheless, SOA and middleware take different approaches, since
• Middleware operates on a more concrete level (e. g. message passing, message
queuing, etc.)
• SOA provides ‘only’ a conceptual model”
This being said, it is easy to see the link between middleware and Service Oriented Architecture as at times, they are both trying to accomplish the same tasks. Integration with other software and the support of different architectures are essential to our daily computing. How else would a Mac user and a Windows user be able to communicate with one another? This world would surely be divided if this middleware didn’t exist.
One question that can be asked is, “Is middleware reliable?”. The answer to that varies from company to company, but Ebay would not be in business without it. Ebay uses middleware to enable its users to pay using PayPal. This is a very big deal for Ebay, so in turn middleware is very reliable, and very necessary to them. Vice President of systems design James Barrese says, "The integration tier is the keystone in this solution. This allows us to efficiently scale and manage our back-end resources." as well as, "Our abstraction layers make it easier to train new engineers, constantly improve the availability of the site and make live data architecture changes with no code changes and no downtime”. Oracle also seems happy with middleware as they announced their new concept of SOA 2.0 called Event Driven Architecture would include middleware that allowed their customers to react with data in real time. This goes back to people wanting information instantly, and companies are realizing that this is quickly becoming a reality.
Middleware seems like the perfect compliment to any Service Oriented Architecture that needed to expand and increase profits. Currently, and in the past, middleware has acted as the “glue” that holds the entire computer world together. As the years pass, improvements to middleware will be designed, and new ideas for completely different ways to connect different systems will become available. Until then, we use what we have and try to enjoy every minute of it. It worked for Ebay and Oracle, it could work for you too.
http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,52066,00.html
http://www.infosys.tuwien.ac.at/staff/treiber/Overview.pdf
http://www.educause.edu/ir/library/pdf/erm0241.pdf
http://blogs.zdnet.com/service-oriented/?p=675
http://www.infoworld.com/article/06/06/19/79432_HNoracleda_1.html
http://www.sei.cmu.edu/str/descriptions/momt.html
http://www.sei.cmu.edu/str/descriptions/tpmt.html
http://www.gcn.com/state/vol6_no6/guide/748-1.html
No comments:
Post a Comment