04-06-2013, 12:46 PM
Oracle Fusion Middleware Architecture and Management
Oracle Fusion.pdf (Size: 966.71 KB / Downloads: 55)
Enterprise Applications
and Middleware
Simply put, an enterprise application is a data-processing tool on which an
enterprise (business) relies to deliver any part of its core capabilities. Using
this definition, one could argue that enterprise applications have existed
since the dawn of computing, maybe going back to when merchants started
using an abacus to perform the basic accounting required for running their
business. Of course, in today’s world the term applies specifically to a set of
related software services used by an enterprise to conduct its business.
Modern-day enterprise applications therefore have their root in the 1960s
when companies and government organizations started to establish
Information Technology (IT) departments to maintain newly purchased
mainframe computers. These computers were in turn used to run software
applications for performing such functions as payroll management or census
data processing.
As the software and computing world has progressed, so have enterprise
applications and IT. The nature of the enterprise applications that today’s IT
departments are responsible for managing is vastly different from the early
mainframe software applications of the 1960s. For starters, enterprise
applications are now much more critical to business needs. No longer are
software applications used to execute batch jobs with minimal consequence
of failure. Instead, businesses rely on their IT departments to deliver realtime
capabilities, such as sending automated notifications to the sales force
on imminent opportunities or processing orders from their online channels.
Oracle Fusion Middleware Products
The full set of Oracle Fusion Middleware products can be grouped into
different categories based on the type of problems they are meant to solve.
Figure 1-2 shows the different categories of Fusion Middleware products in
dark grey. The figure also shows—within the boxes highlighted—the products
(or in the case of the Identity Management category, the functional areas)
that are covered in detail within the scope of this book in subsequent chapters.
The remainder of this chapter provides an overview of each of the
categories shown in Figure 1-2.
Visual Design and Roundtrip
Engineering JDeveloper allows for the design of software applications using a visual model. A number of software development frameworks and modeling languages are supported, including the Oracle Application Development Framework (ADF), Universal Modeling Language (UML), Business Process Execution Language (BPEL), and Service ComponentArchitecture (SCA).
In some cases, such as for the creation of Java
Server Pages (JSP), JDeveloper also provides WYSIWYG (What You
See Is What You Get) user interface design capabilities. These visual
modeling capabilities lead to the generation of backing code or
metadata necessary for the execution of the artifacts being designed.
In all cases, JDeveloper provides a capability known as “roundtrip
engineering.” This means that changes to the model lead to the
associated changes within the code and metadata, and more
importantly the opposite—that is, changes to the underlying code or
metadata lead to changes within the model.
Application Grid
The Fusion Middleware products under the Application Grid category
provide middleware application execution services on which enterprise
applications can be built. The primary product in this category is the
WebLogic Server, a Java EE–based application server that provides a set of
services that optimize the execution of Java EE–based applications. The
services provided by WebLogic Server allow for the separation of concerns
between the development of applications and elements such as their
database, security, and performance-tuning configurations. We will explore
WebLogic Server and its architecture in detail within Chapter 2. Other
important products in the Application Grid category are Oracle JRockit,
Oracle Coherence, and the Oracle Web Tier set of products. Oracle JRockit
is a Java Standard Edition virtual machine that provides advanced
capabilities such as the ability to monitor the virtual machine’s detailed
performance parameters in production environments and the ability to
execute Java code with deterministic response times. Oracle Coherence
provides a clustered, distributed, and partitioned in-memory data cache—
also known as a “data grid”—that can be used by software developers to
improve the reliability, availability, scalability, and performance of
enterprise applications. Finally, the Web Tier package of products consists
of the Oracle HTTP Server (OHS), which is a reverse-proxy based on the
open-source Apache HTTP server, and Oracle Web Cache, which, as the
name suggests, is used for fronting an HTTP server to allow for the caching
of frequently accessed web content.
User Experience
The User Experience category of products contains, as the name suggests,
products that are used for the creation of user interfaces for enterprise
applications. The two core products that fall into this category are the
Oracle Application Development Framework (ADF) and Oracle WebCenter.
ADF is a Java EE–based framework that provides a set of tools and widgets
that simplify the creation of web and thick-client user interfaces that can be
used through different access points, such as web browser and mobile phones.
For web applications, ADF builds on top of the Java Server Faces (JSF)
components and controllers to enable the construction of rich AJAX-based
applications. ADF also provides other capabilities that are meant to simplify the
management of enterprise applications. One of these capabilities is the ability
for ADF developers to specify separate customization layers as part of the
design of user interfaces in order to expose different customization features to
end users, depending on their roles, and to simplify the upgrade of applications
after their user interfaces have undergone such customizations.