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. This chapter provides an introduction to Oracle Fusion Middleware. It includes the following sections:
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.
Middleware provides the infrastructure which facilitates creation of business applications, and provides core services like concurrency, transactions, threading, and messaging. When configured appropriately, 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).
Due to continued growth and use of network-based applications by businesses, middleware technologies are increasingly important. Companies and organizations are now building enterprisewide information systems by integrating previously independent applications with new software developments. The integration process may involve legacy applications which may be used only with, or through a nonmodifiable interface. In some cases, rewriting the code for a legacy application may be cost-prohibitive.
Increasingly, information systems are composed of a collection of various specialized hardware devices interconnected by a network. Each device performs a function that involves receipt of real time data and remote interaction with other devices of the system. Some examples include computer networks, telecommunication systems, uninterrupted power supply units, and decentralized manufacturing units.
Interaction with the information system may span a wide range of performance. You can interact with Internet applications through a variety of devices, whose characteristics and performance figures span an increasingly wide range. Between a high performance personal computer, a smart telephone, and a tablet computer, the variations in bandwidth, local processing power, screen capacity, and the ability to display color pictures, are extremely large.
Applications use intermediate software that resides on top of the operating systems and communication protocols to perform the following functions:
Hide the distributed nature of the application.An application represents a collection of interconnected parts that are operational and running in distributed locations, out of view.
Hide the heterogeneity of the enterprise. This includes the hardware components used, computer operating systems, and communication protocols.
Provide uniform, standard, high-level interfaces to the application developers and integrators, so that applications can be easily composed, reused, ported, and made to interoperate.
Supply a set of common services to perform various general purpose functions to avoid duplicating efforts, and to facilitate collaboration between applications.
Middleware makes application development easier, by providing common programming abstractions, by masking application heterogeneity and the distribution of the underlying hardware and operating systems, and by hiding low-level programming details.
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.
Figure 1-1 provides an overview of the Oracle Fusion Middleware architecture, using the standard installation topology, which is a sample topology and is not the only topology supported for the product. (See "Understanding the Standard Installation Topology" in Planning an Installation of Oracle Fusion Middleware for more information about the standard installation topology. )
In this architecture, which illustrates a highly available environment:
From the client tier, external users, including wireless and mobile users, access Oracle Fusion Middleware through the Web tier, which is in a demilitarized zone (DMZ).
The Web Tier contains a Load Balancer, and two instances of Oracle HTTP Server, a Web server.
The Application Tier contains Oracle WebLogic Server Administration Server and Managed Servers. Those Managed Servers can host applications, such as Java or Oracle ADF applications.
The Data Tier contains databases that hold Oracle Fusion Middleware metadata and user data.
Oracle Fusion Middleware is a collection of standards-based software products that includes a range of tools and services including developer tools, a service integration platform and data integration services. Oracle Fusion Middleware offers complete support for development, deployment, and management.
Specifically, Oracle Fusion Middleware offers the following solutions through its middleware design:
Development Tools: An integrated, but modular, set of development tools to build complete applications, rather than using lots of specialized tools. The design tool includes a single design environment for user interface, business logic, service composition, business process or workflow, business rules, and business intelligence. The design tool enables simplified design and debugging, and improves productivity. Includes Oracle JDeveloper and Oracle Application Development Framework.
Application Server: A standards-based Java EE application server to run the enterprise applications and provide the Web services infrastructure for interoperability.
Web Server: An HTTP-based server that delivers static and dynamic content over the Internet. A Web server either serves the content itself, or routes the request to Application Servers for further processing.
Enterprise Management: Operations and administration by running on a grid architecture with grouping, backup, and other high availability technologies, and integrating with Oracle Enterprise Manager for systems management. Includes Fusion Middleware Control, Oracle WebLogic Server Administration Console, and Oracle WebLogic Scripting Tool.
For information about the management tools, see Chapter 4.