Oracle Fusion Middleware
Oracle Fusion Middleware is a comprehensive family of products ranging from application development tools and integration solutions to identity management, collaboration, and business intelligence reporting.
Oracle Fusion Middleware is a collection of standards-based software products that spans a range of tools and services: from Java EE and developer tools, to integration services, identity management, business intelligence, and collaboration. Oracle Fusion Middleware offers complete support for development, deployment, and management.
Specifically, middleware is the software that connects software components or enterprise applications. Middleware is the software layer that lies between the operating system and the applications on each side of a distributed computer network
Middleware is also the infrastructure which facilitates creation of business applications, and provides core services like concurrency, transactions, threading, messaging, and the SCA framework for service-oriented architecture (SOA) applications. It also provides security and enables high availability functionality to your enterprise. Middleware includes Web servers, application servers, content management systems, and similar tools that support application development and delivery. It is especially integral to information technology based on Extensible Markup Language (XML), Simple Object Access Protocol (SOAP), Web services, SOA, Unicode, Web 2.0 infrastructure, and Lightweight Directory Access Protocol (LDAP). Textual data is represented in the Unicode character set to support data exchange in any language. UTF-8 is used as the standard encoding for transporting data for optimal compatibility and efficiency, while traditional non-Unicode encodings can also be used where supported.
Middleware Architecture Design
The function of middleware is to mediate interaction between the parts of an application, or between applications. Therefore, considerations for architectural structure play a central role in middleware design. The architectural design encompasses the organization, overall structure, and communication patterns, both for applications and for the middleware itself.
Besides architectural aspects, the main problems of middleware design pertain to various aspects of distributed systems. Any middleware system relies on a communication layer that allows its different pieces to interoperate. In addition, communication is a function provided by middleware itself to applications, in which the communicating entities may take on different roles such as client server or peer-to- peer. Middleware allows different interaction modes (synchronous invocations, asynchronous message passing, coordination through shared objects) embodied in different patterns.