CRAMER Architecture Application Paper

scarcehoseΛογισμικό & κατασκευή λογ/κού

14 Ιουλ 2012 (πριν από 4 χρόνια και 11 μήνες)

326 εμφανίσεις

CRAMER
Architecture Application Paper
ED002086
Cramer House.
The Square.
Lower Bristol Road,
Bath.
BA2 3BH, UK
Tel: +44 (0)1225 471300
Fax: +44 (0)1225 471301
2 Commercial in Confidence

Confidentiality and Copyright
The information contained in this document is confidential and is submitted by Cramer on the
understanding that it will only be used by the staff and consultants to the Customer strictly for the
purpose for which this document is being submitted. In particular the contents of this document may
not be disclosed in whole or in part to any other party without the prior written consent of Cramer.

Commercial Information
Please note that this document is intended as a discussion paper. It does not constitute a statement
of specification nor an offer to supply functionality. Its contents are subject to change without notice at
the sole discretion of Cramer Systems Limited. Cramer Systems will be pleased to discuss particular
requirements in more detail.


© Copyright Cramer Systems Limited, 2004
Trademarks
All trademarks are hereby acknowledged.
Cramer and the Cramer logo, whether or not appearing with the trademark symbol, are trademarks of Cramer
Systems Limited.
Architecture Application Paper
30/03/04
ED002086
3 Commercial in Confidence

Contents
1 About This Document..................................................................................................4
1.1 Document Scope..................................................................................................4
1.2 Intended Audience...............................................................................................4
2 The N-Tier Architecture...............................................................................................5
2.1 What Is An N-Tier Architecture?..........................................................................5
2.2 J2EE Foundations................................................................................................6
2.3 Model – View – Controller....................................................................................6
3 Cramer5 Architecture Components...........................................................................8
3.1 Common Features...............................................................................................8
3.2 Database Tier.......................................................................................................9
3.3 Application Tier..................................................................................................10
3.4 Web Tier.............................................................................................................11
3.5 Client Tier...........................................................................................................12
4 Conclusions................................................................................................................14

Architecture Application Paper
30/03/04
ED002086
4 Commercial in Confidence

1 About This Document
1.1 Document Scope
Cramer provides inventory management solutions that can be delivered to support
large numbers of users distributed throughout different offices, regions and countries.
Cramer’s platform architecture must be flexible, configurable and scalable to enable
the largest telecommunication organisations to maintain an effective provisioning
platform. This document describes how Cramer5 addresses these needs.
1.2 Intended Audience
This document is intended for a technical reader, who already has an appreciation of
the basics of application and platform architecture. It is assumed that the reader has
some experience of OSS processes, and is familiar with inventory management
products.

Architecture Application Paper
30/03/04
ED002086
5 Commercial in Confidence

2 The N-Tier Architecture
N-Tier products, applying J2EE standards, offer significant improvements in
scalability, usability and cost of ownership. In addition system integrators and
organizations can benefit from n-tier architectures by using powerful Oracle, Java and
web technologies to build customer specific solutions.
This section offers an overview of n-tier architectures, before introducing the Cramer
implementation.
2.1 What Is An N-Tier Architecture?
The next generation of applications that use n-tier architectures have many benefits
over legacy two-tier, or client-server, applications. Functionality and configuration is
split between only two tiers in the legacy client-server model, usually resulting in a
reliance on either overly complex client software or a constrained, often proprietary,
set of server technologies.
The n-tier architecture opens up the field to offer a wide range of standards-based
technologies for configuring, customizing and managing the system. Multiple server-
side tiers are used, enabling access to the most appropriate technology for a particular
application. Typical n-tier architectures will have dedicated hardware and processes
for:
• Database, or Enterprise Information tier. Holds all application data and
provides low-level data-centric services.
• Application, or Business Logic, tier. Provides an abstracted view of the
application data, hiding the complexity of the database. Allows integration and
customisation to be deployed in a separate server environment, an
environment that is dedicated to supporting standard development tools.
• Web, or Presentation, tier. Enables data presentation, to the client tier and
other integrated systems, using standard web technologies. This tier is key to
offering a zero-footprint, web enable user interface.
• Client tier. The user interface that allows interaction with the application and
the display of information from the web tier. In a good n-tier product the client
tier is expected to be zero-footprint, it should not require any application
programs to be stored on the users’ hardware.
Architecture Application Paper
30/03/04
ED002086
6 Commercial in Confidence

2.2 J2EE Foundations
There are a number of technologies available for building and deploying n-tier
architecture products. The choice of technology is critical if a product is going to truly
benefit from the architecture: Multiple tiers are only beneficial if they offer practical,
usable features and offer the required reliability to be deployed in support of business-
critical processes.
N-tier architecture designs have existed for some time but only recently have
standards matured and stabilised. Sun’s Java J2EE standard has emerged as the
architecture of choice for large, multi-user, integrated applications. J2EE uses the
popular and well-supported Java programming language as the basis for all n-tier
processes and adds to this a comprehensive set of data access and web design
features.
When deploying a product built on the J2EE n-tier architecture telcos and system
integrators can employ a number of tools:
Java. Java is one of the most popular modern programming languages. It can be used
to build business logic, define automated processes, create and alter user interfaces,
add dynamic content to web pages, and numerous other things. The fact that Java is
used by so many different applications ensures there is a large base of experienced
developers available, and an extensive education and support infrastructure.
Enterprise Java Beans (EJB). EJB is a J2EE extension to standard Java that allows
business logic and automated process code, developed using the Java language, to
be deployed in an application server, enabling the code to be accessed remotely by
multiple users. In doing this the application server hosting the EJBs will manage the
remote access protocols and security considerations along with supporting flexible
deployments options such as system redundancy and load-balancing. The result is a
system that offers accessible, re-usable processes on a scalable and reliable server
platform.
Java Server Pages (JSP). JSP is the core web-content J2EE technology for defining
data presentation. In essence a JSP page combines standard HTML or XML content,
combined with Java elements that define dynamic content. In its simplest form the
Java component of a JSP page can directly query the database tier and format data
for inclusion in the page. However, the biggest benefit of JSP is that common Java
components can be implemented as ‘custom tags’: Reusable dynamic content that
can be built in to JSP pages without reliance on Java coding or database skills.
The effect of using these popular technologies is a decreased reliance on proprietary
skills and a subsequent increase in design, delivery, configuration and maintenance
efficiencies.
2.3 Model – View – Controller
Features specific to Cramer’s J2EE architecture extend the delivery and maintenance
benefits beyond the basics delivered by other n-tier applications. The Cramer
architecture adds industry standard configuration features. The product as a whole
implements the Model-View-Controller (MVC) design that defines each tier’s
responsibilities and rules for interaction.
Architecture Application Paper
30/03/04
ED002086
7 Commercial in Confidence

• A Model provides a means of accessing and manipulating data in the
database tier. Cramer supports a Java EJB Object Model (see section 3.3)
and API, accessible by client systems and, inline with the MVC design, used
extensively by the View and Controller components.
• View components render data from the Model, presenting it to users or other
client systems. The View must be capable of requesting and processing data
from the Model components. The J2EE standard JSP, with client-side
rendering technologies like XHTML and SVG, are used by Cramer to support
the application’s View components.
• The Controller is responsible for defining how the View and Model are used in
conjunction to deliver information to user. This extends to managing user
interaction with View components, and working with the Model component to
ensure data is updated according to business rules. Cramer implements JSP
Servlet and Jakarta Struts functionality to address these requirements.
The MVC design paradigm requires that these three logical application components
are well-defined, separate components. The division of Model and View provides a
great deal of opportunity for reuse of both. For example, the same Model information
can be presented in different ways through different Views, perhaps to different users.
The logical split between Model, View and Controller also underpins the customization
supported within Cramer. It enables organisations to customize one without also
exposing the other. In Cramer the presentation logic within the View can be exposed,
allowing customisation of the data presentation, whilst hiding the inventory logic within
the Model.

Architecture Application Paper
30/03/04
ED002086
8 Commercial in Confidence

3 Cramer5 Architecture Components
This section provides details on the role of each tier and the technologies available for
use in deploying customised solutions.
Architecture Application Paper
30/03/04
ED002086
9 Commercial in Confidence

The web and application tiers harness the power and flexibility of the Cramer5 n-tier
architecture allowing client applications to scale to meet the requirements of the
largest telecomm operators. The n-tier architecture allows operators to distribute
applications across multiple, lower specification, machines and to seamlessly add new
hardware as the user base and requirements for the Cramer inventory grow.
Reliability
The Cramer5 n-tier architecture provides built-in resilience against server failure in the
middle-tiers. The web and application tiers capitalize upon this resilience to provide
clients with a robust way of accessing content based upon Cramer inventory. The
database tier can also be deployed in a high-availability environment, and benefits
from Oracle’s proven reliability and resilience features.
Globalization
Throughout all components of Cramer, the architecture provides full support for the
Cramer5 globalization features. Any system integrated to Cramer, through the web
content framework, Object Model or direct database SQL queries, has seamless
access to localized content. This makes it easy for web authors and application
developers to develop international web-enabled systems that make use of the
Cramer inventory.
3.2 Database Tier
Cramer5 uses Oracle’s relational database to host a number of core product
components. The database stores both instance data (representing elements in the
network) and metadata templates that describe the types and behaviors of element
classes.
For optimized performance low-level and data-centric processes execute in the
database tier. This includes the Cramer low-level API, used to enable multi-user
transactions on the database, and automated process that make extensive use of the
API or SQL queries, such as Cramer TaskEngine and DeliveryEngine templates.
Customizing these processes involves creation or modification of Java in the database
tier. Both the application tier’s Object Model and direct database SQL queries are
available to Java for access to inventory data. Cramer’s data-centric Java API
provides comprehensive inventory manipulation and can be accessed either directly in
the database tier or through its EJB implementation on the application server.
Application tier processes, such as the Cramer Object Model, access the database tier
through a shared JDBC connection. JDBC, and other protocols such as ODBC, Oracle
Net and OCI, can also be used by other systems that are granted direct database
access.
Productivity
Architecture Application Paper
30/03/04
ED002086
10 Commercial in Confidence

Cramer’s product set is data driven, enabling customer specific deployments to be
rapidly developed while reusing core behaviour and functionality. The database tier
holds all configuration templates. Cramer’s Configurator product provides a user
interface and change management tool for configuring ResourceManager metadata in
the database tier. Additional metadata maintenance tools are supplied for configuring
other Cramer products, including TaskEngine, DeliveryEngine and SyncEngine.
Performance
The database tier is built with established, widely deployed, Cramer technology.
Benchmarking exercises have demonstrated the capability of the ResourceManager
data model to scale to billions of network objects while supporting thousands of
queries and provisioning processes per hour.
Consistency
While highly flexible, Cramer’s database tier maintains a common data model, which
enables extensions and customisations to be deployed in a consistent manner. This
ensures that even the most original customisations are achievable within the scope of
a normal product deployment, and, of equal importance, upgrade paths exists to allow
migration to new product versions.
3.3 Application Tier
The application tier is built on a J2EE-compliant server supporting Enterprise Java
Bean (EJB) containers. EJBs offer an industry standard means of deploying business
process code and data access objects, enabling their functionality to be presented to
Cramer products and other OSS systems.
Cramer provides a standard and optimized EJB interface to the inventory Object
Model. The Cramer Object Model provides system integrators, who are building upon
the Cramer suite of inventory and provisioning automation products, with a powerful
way of accessing the Cramer inventory.
The capabilities of the Object Model are focused upon supporting third-party
application developers. The Object Model is also used within the Cramer suite to
provide HomePages, WebReports and Views, with the inventory related business
logic that they require.
The Object Model provides a comprehensive Java based API through which
developers can access all of the information held within the Cramer inventory. The
Object Model also provides a powerful way of modifying the properties of inventory
objects. It makes full use of the object-oriented features of the Java programming
language, resulting in an API that is easy to use whilst maximizing its power and
flexibility.
The Object Model offers a wealth of capabilities to the application developer, and
these capabilities bring tangible benefits to the enterprise as a whole.
Productivity
Architecture Application Paper
30/03/04
ED002086
11 Commercial in Confidence

The Object Model improves developer productivity by simplifying the task of accessing
inventory information from the Cramer database tier. Developers are insulated from
the details of the database schema and the technologies for accessing it. This
reduces the time taken to design and implement client applications. The time taken to
test these applications is also reduced as the complex inventory logic has been
developed and componentized by Cramer. Inventory information is put within the
reach of Java developers who have relatively little Cramer experience, effectively
reducing the learning curve associated with the use of Cramer products.
Performance
The Object Model has been designed and extensively tuned by Cramer to maximize
the performance of client applications. It offers optimized connectivity to the database
tier managing JDBC connections and data caching.
Consistency
Inventory logic can be complex to implement and it is not uncommon for the same
logic to be implemented in multiple client applications of the same enterprise. Unless
care is taken this logic can be inconsistent. This kind of inconsistency is extremely
difficult to identify.
Because the Object Model provides a central, shared implementation of this logic,
duplication can be minimized. This reduces the cost of application maintenance and
also reduces the risk of inconsistencies arising between applications.
3.4 Web Tier
The web tier framework provides web authors and web application developers with a
set of powerful features supporting the production of inventory based web content.
This includes stand-alone content containing inventory information, for example
corporate intranet pages, in addition to content that is destined for display within the
Cramer client.
In Cramer5, HomePages, WebReports and Views are of web content supported by
the web tier. In addition to writing new content, the framework also significantly
simplifies the task of customizing existing Cramer web content.
The framework provides an intuitive approach to writing dynamic, inventory-based,
web content. It also simplifies common tasks, for example, security authorization and
globalization, leaving authors to concentrate upon the definition of content.
The framework provides an unprecedented level of flexibility that allows the flow
between web pages to be defined in a declarative way. This can be used to provide
web content that is group specific or perhaps dedicated to a particular equipment type.
Customization of the user interface is achieved through modification of the underlying
Java Server Pages (JSP) that generate HTML (for HomePages and WebReports) and
SVG (for Views). Cramer5 includes a tag library that encapsulates common dynamic
database queries in individual re-useable JSP tags. This means that web designers
using HTML, XML and JSP skills can make many changes and customizations.
Architecture Application Paper
30/03/04
ED002086
12 Commercial in Confidence

Java coding skills are only required for complex customization where Cramer’s tag
library may not already support the required data retrieval features. In such cases
developers configure custom tags using Java while benefiting from the object model in
the application tier to reduce the coding effort and maintenance.
Cramer’s use of the Model-View-Controller design enables general user access and
data input/output rules to be modified in the web tier using simple XML configuration
files.
The web tier offers a wealth of capabilities to web author and web application
developers, and these capabilities bring tangible benefits to the enterprise as a whole.
Productivity
The web tier enables operators to achieve productivity gains by ensuring critical
network information is available to Cramer users in a timely and straightforward
fashion. The web content framework contributes by making it easy to produce
inventory-centric web content tailored to the technical requirements and business
processes of each operator.
The web content framework delivers flexibility that simplifies configuration and
customization of existing Cramer content to meet the needs of each user group. The
framework also makes it easy to produce new web content based upon Cramer
inventory.
The Cramer5 web content framework puts this configuration and customization firmly
within the realm of web authors, eliminating the need for specialist Oracle or Java
knowledge from the customization process.
Accessibility
The web tier makes Cramer web content accessible to other applications within the
enterprise. This enables operators to present a unified view of network inventory
throughout the OSS, and the organization. The framework also makes it easy to
seamlessly integrate Cramer inventory information into third-party web content.
Performance
The web content framework uses the Cramer Object Model to access inventory
information. By using the Object Model, the web content framework ensures that web
content can be generated quickly and efficiently.
3.5 Client Tier
Cramer’s client tier supports a zero-footprint web enabled user interface, which meets
the needs of large, distributed user communities. The client tier benefits for the full set
of web tier and application tier features, reusing this standard Cramer functionality to
ensure the client adheres to business rules implemented in these server tiers.
The user interface is hosted by a client-side web browser and is constructed of Java
applets along with XHTML and XML data presentation.
Architecture Application Paper
30/03/04
ED002086
13 Commercial in Confidence

Accessibility
A web-enable user interface must offer a full set of functionality rather than being a
secondary ‘light-weight’ alternative tool. Cramer’s client uses Java technology to
deliver powerful tools and data presentation that is usually only associated with
desktop applications.
Performance
Cramer’s overall architecture optimises access for both local (on the same LAN) and
distributed user groups. While an n-tier architecture is essential to support an effective
web-enabled client it also introduces an overhead when user transactions need to flow
through all tiers to request and retrieve data. Cramer’s Object Model attenuates this
overhead by applying optimised data access techniques. The client can also avoid
unnecessary processing in the web tier by making simple data requests, those that
don’t require presentation in XHTML or SVG, to be made directly to the Object Model.
This is achieved by configuring the client to make these requests using RMI/IIOP – the
CORBA-based Java native remote interface. Typically RMI/IIOP can only be used in a
LAN environment, as network firewalls do not permit low-level interfaces. To support
distributed access, the client can alternatively use the HTTP interface, via the web tier,
for all communication.
Productivity
Cramer’s standard user interface enables users to make the most of the tools and
screen space available. Multiple windows can be opened within the GUI frame
structure, ensuring that relevant data is always visible and available. Users are able to
open a large selection of tools at any one time and work with them in a multi-tasking
environment. Users may also choose to simplify their working environment by
selectively hiding tools and areas of the frame structure.
The web tier and system security settings manage additional configuration of the
client. Through simple server-side changes significantly different user-interface
configurations can be presented to individuals or teams. Typical configuration options
include:
• Localization to support multi-language interfaces
• Delivery of simplified or highly specialized tool-sets and interface layouts
• Control over user read-write and read-only access to tools and views
• Access security
• Data entry validation rules
While Cramer can be deployed as a complete, comprehensive user interface there are
also requirements to allow selected interface tools to be made available either
separately or embedded in other web applications. Cramer’s client tier is
componentized to allow the full functionality of individual tools, including Wizards,
HomePages, WebReports and Views, to be selectively deployed in custom and third-
party user interfaces.
Architecture Application Paper
30/03/04
ED002086
14 Commercial in Confidence

4 Conclusion
In this application paper we have seen that Cramer’s system architecture implements
industry standard J2EE design principles to deliver flexible tools, like the Cramer
Object Model and Custom Tag Library, which enable effective system configuration,
performance and management.
Cramer implements an architecture that delivers the foundations of a next-generation
inventory management platform. The requirements it satisfies may be summed up as
follows:
• Cramer meets the needs of the full spectrum of telecommunication providers.
These range from tier-2 and tier-3 organisations running network management
applications on a local network within a single building, up to tier-1 customers
with very large databases and large distributed user populations.
• The architecture ensures that the Cramer platform allows organisations to use
modern and next generation technologies in configuring and maintaining their
system.
• Cramer provides a product that enables Cramer components to be used with
third party and custom components to deliver integrated solution for users and
OSS systems, meeting each organisation’s unique requirements.