• Middleware Overview

  • Middleware Categories

  • Support in Middleware

  • How we can help

What is Middleware?

Middleware is computer software that connects software applications or components. It is used to support complex and distributed applications. Middleware Technology includes web servers, application servers, content management systems and similar tools that support application development and delivery. Software layer that allows an application to interoperate with other software doesn’t require the user to know the underlying code. Middleware is particularly essential to modern information technology based on XML, SOAP, Web services, and SOA.
Middleware is similar to the middle layer of three-tier single system architecture, except that it is stretched across multiple systems or applications. Examples include database systems, telecommunications software, transaction monitors, and messaging-and-queuing software. Middleware technology uses a standard for constructing and interconnecting the application or components.

Middleware Requirements

Network communication:
Marshalling and unmarshalling.
Coordination:
Activation/termination, threading, group requests, synchronicity.
Reliability:
Delivery guarantees, total/partial ordering, atomicity, replication.
Scalability:
Transparency of access/location/migration/replication, load balancing.
Heterogeneity:
Platform, operating system, network OS, programming language.

Middleware Categories

Transactional
Two-phase commit for distributed transactions e.g., IBM’s CICS.
Message-oriented (MOM)
Communication via message exchange e.g., Sun’s JMS.
Procedural
Remote procedure calls as the foundation e.g., DCE RPC.
Object-based
Communication among and via distributed objects e.g., CORBA, COM.
Component-based
Support for distributed components e.g., EJB.

Elements of Middleware

Software components
Component interfaces
•    properties
•    methods
•    events
Containers
•    Shared context of interaction with other components.
•    Provide access to system-level services.
Metadata
Self-descriptive information used by a component to flexibly communicate with others.
Integrated development environment e.g., VisualCafe for Java.

Distribution Support in Middleware

Five distributed services required
•    Remote communication protocols e.g., RPC, message passing.
Directory services
•    For accessing shared, globally-available services.
Security services
•    Protection of shared resources via authentication.
Transaction services
•    For concurrent data access/update.
System management services
•    For service monitoring, management, and administration.

How we can help to manage Middleware Infrastructure?

CCG's IT and Middleware Consulting departments have a proven record of providing best services in the Middleware Technology field. Our consultants have vast experience in middleware technologies including  Websphere Application Server, Weblogic Application Server, IBMIHS Web Server, Apache Tomcat Web Server and Iplanet Web Server.
Our Middleware consultants are working for clients from Financial Industry to Telecommunication and Retail industry to Government sector. Contact CCG today and ask us how our IT consultants can find the optimal solutions for your middleware infrastructure.