Introduction-Enterprise Application Development-Lecture Slides, Slides for Software Development. Birla Institute of Technology and Science
bahula17 July 2012

Introduction-Enterprise Application Development-Lecture Slides, Slides for Software Development. Birla Institute of Technology and Science

PDF (1 MB)
30 pages
13Number of download
1000+Number of visits
100%on 1 votesNumber of votes
1Number of comments
Dr. Sahastrajit Adarsh delivered this lecture at Birla Institute of Technology and Science for Enterprise Application Development. It includes: Enterprise, Application, Development, Spftware, Integrate, Operate, Technica...
Download points needed to download
this document
Download the document
Preview3 pages / 30
This is only a preview
3 shown on 30 pages
Download the document
This is only a preview
3 shown on 30 pages
Download the document
This is only a preview
3 shown on 30 pages
Download the document
This is only a preview
3 shown on 30 pages
Download the document


Enterprise Application Development 01-2


 the course title  the course contents  the resources  the challenges  the encounter

Enterprise Application Development 01-3

Enterprise Applications  Software applications that integrate and support

all aspects of operations of an enterprise/ business

 TECHNICAL CHALLENGES • Heterogeneous data sources • Diverse user base • Multiple platforms/ products/ vendors/ technologies • High level of integration, consistency and security

 EXAMPLES • Transaction Systems, ERP Systems, Inventory,

Invoicing, Credit Systems

Enterprise Application Development 01-4

Transaction Processing Systems


Reality Abstraction







AnswerDB '


The real state is represented by an abstraction, called the database, and the transformation of the real state is mirrored by the execution of a program, called a transaction, that transforms the database.

Business Transaction

Application Domain Process

Enterprise Application Development 01-5

Business Transactions  Business Transaction is a fundamental high-level concept

that defines tangible discrete Application Domain process performing the business function or task

 Business Transaction is visible to the user as it directly represents some business process and achieves user’s business goals, in the language of the business domain expert

 Business Transaction can represent the delivery of some service, or making the deal. In turn, deal may consist of several smaller Business Transactions in their own right.

 Transaction may mean something different in various parts and layers of the Enterprise Architecture

 We capture Business Transactions by analyzing the Business requirements, and faithfully implement them by mapping onto underlying transactions in the IT solution that we build

Enterprise Application Development 01-6

Transactions are in...


• Each time you make a phone call, there is a call setup transaction that allocates some resources to your conversation; the call teardown is a second transaction, freeing those resources. The call setup increasingly involves complex algorithms to find the callee (800 numbers could be anywhere in the world) and to decide who is to be billed (800 and 900 numbers have complex billing). The system must deal with features like call forwarding, call waiting, and voice mail. After the call teardown, billing may involve many phone companies.

Enterprise Application Development 01-7

Transactions are in...


Each time you purchase gas using a credit card, the point-of-sale terminal connects to the credit card company's computer. In case that fails, it may alternatively try to debit the amount to your account by connecting to your bank. This generalizes to all kinds of point-of-sale terminals

such as cash registers, ATMs, etc. When banks balance their accounts with each other

(electronic fund transfer), they use transactions for reliability and recoverability.

Enterprise Application Development 01-8

Transactions are in...


Making reservations for a trip requires many related bookings and ticket purchases from airlines, hotels, rental car companies, and so on. From the perspective of the customer, the whole trip

package is one purchase. From the perspective of the multiple systems involved, many transactions are executed: One per airline reservation (at least), one for each hotel reservation, one for each car rental, one for each ticket to be printed, on for setting up the bill, etc. Along the way, each inquiry that may not have resulted

in a reservation is a transaction, too.

Enterprise Application Development 01-9

Transactions are in...


Order entry, job and inventory planning and scheduling, accounting, and so on are classical application areas of transaction processing. Computer integrated manufacturing (CIM) is a key technique for improving industrial productivity and efficiency. Just-in-time inventory control, automated warehouses, and robotic assembly lines each require a reliable data storage system to represent the factory state.

Enterprise Application Development 01-10

Transactions are in...

Real-Time Systems:

This application area includes all kinds of physical machinery that needs to interact with the real world, either as a sensor, or as an actor. Traditionally, such systems were custom made for each individual plant, starting from the hardware. The usual reason for that was that 20 years ago off-the-shelf systems could not guarantee real-time behavior that is critical in these applications. This has changed, and so has the feasibility of building entire systems from scratch. Standard software is now used to ensure that the application will be portable.

Enterprise Application Development 01-11

Course Aims

 Solutions for building enterprise applications using Java-based technologies • Designing multitier enterprise applications with Java™ 2

Platform, Enterprise Edition: Principles and Guidelines • Key J2EE Technologies

Java Servlet: a simple, consistent mechanism for extending the functionality of a web server

Java Server Pages: a simplified, fast way to create server and platform independent dynamic web content

Enterprise JavaBeans Architecture: create, deploy and manage cross-platform, component-based enterprise applications

Enterprise Application Development 01-12

Major Contents

 Challenges in building Enterprise Applications  J2EE Platform Technologies  The Client Tier  The Web Tier  The EJB Tier  The EIS Tier  Packaging and Deployment  Transaction Management  Security  Implementation

Enterprise Application Development 01-13


 Architecture and Guidelines

Designing Enterprise Applications with the Java™ 2 Platform, Enterprise Edition (Nicholas Kassem et al.)

Enterprise Integration Patterns (Gregor Hohpe and Bobby Woolf, Addison-Wesley)

 Implementation

Core Servlets and JavaServer Pages (Marty Hall) • Developing Java Servlets – The Authoritative Solution

(James Goodwill)

CHALLENGES of Enterprise Application Development

Enterprise Application Development 01-15

Business Challenges of the Enterprise Architect  Providing IT support for the enterprise...

• Free maneuvering to & from Business Application Domain and Information Technology  Cannot afford to be a backroom techo  It is not enough to know business, you still have to be a

techo, and a high-flier at that  must find a fine balance between the broad understanding

of technologies and the deep technical knowledge and skills • Enterprise Solutions: for the people and by the people

 managing expectations and perceptions  public relations, leadership and ability to sell benefits of the

technical solution to all stakeholders  overcoming mutual misunderstandings, apathy or


Enterprise Application Development 01-16

Timeliness—The Critical Factor

 The principal issue is how to keep up with today’s business challenges • Adoption of new technologies • the accelerated pace of the information-driven business • maintaining and leveraging the value of existing

information assets

 Timeliness, productivity, security, and predictability are all absolutely critical to building and maintaining momentum

Enterprise Application Development 01-17

Programming Productivity /1  The ability to develop and deploy applications is key to

success in the information economy  Productivity is vital to responsive application development  The current divergence of technologies and programming

models is a destabilizing factor in Internet and other distributed computing applications • Traditional Web technologies such as HTML and Common

Gateway Interface (CGI) have provided a mechanism for distributing dynamic content

• while back-end systems such as transaction processors and database management systems have provided controlled access to the data to be presented and manipulated.

Enterprise Application Development 01-18

Programming Productivity /2  No standard application model

• architecting applications becomes more complex • the skill sets required to integrate these varied technologies

aren’t well organized for effective division of labor  Support for diverse cliental

 DESIREABLE  Providing application development teams with standard

means to access the services required by multitier applications and standard ways to support a variety of clients can contribute to both responsiveness and flexibility

 The programming model needs to support a variety of client configurations, with minimum effect on basic application architecture and on the application’s core business logic.

Enterprise Application Development 01-19

Integration with Existing Systems

 Valuable organizational data is collected over the years by existing enterprise information systems

 Much of the programming investment resides in applications on those same systems

 The challenge for developers of enterprise applications is how to reuse and commoditize these existing information assets

 To achieve this goal, application developers need standard ways to access middle-tier and back- end services such as database management systems and transaction monitors

 Consistent provision of services to allow expansion of applications

Enterprise Application Development 01-20

Freedom of Choice  Application development responsiveness requires the ability

to mix and match solutions to come up with the optimum configuration • extending from servers to tools to components

 Benefits: • to select configurations tailored to their application

requirements • the ability to move quickly and easily from one configuration

to another as internal and external demand requires • taking advantage of external expertise and to enhance

development productivity  The wide range of J2EE compatible solutions available

today and in the future ensures the maximum freedom of choice

Enterprise Application Development 01-21

Response to Demand  Both availability and scalability are key considerations for

large-scale distributed applications.  The more easily and automatically that an application can

handle changes in use patterns and system configurations, the better.

 Systems requiring any redesign, recoding, or redeployment to achieve either availability or scalability will limit flexibility and diminish expected performance

 To scale effectively, systems need to be designed to handle multiple client interactions with ease.

 For highest availability, they need access to features such as automatic load balancing and failover, without any effort on the part of the application developer

 Applications should be able to run on any server configuration appropriate to anticipated client volumes and to easily switch configurations when the need arises

Enterprise Application Development 01-22

Maintaining Security  Traditionally, IT departments have been able to maintain a

relatively high level of control over the environment of both servers and clients

 When information assets are exposed in less-protected environments, it becomes increasingly important to maintain tight security over the most sensitive assets, while allowing seemingly unencumbered access to others

 One of the difficulties in integrating disparate systems is providing a unified security model • Single sign-on for a user across internal application and asset

boundaries • Highly secure, yet unobtrusive and transparent access

MEETING THE CHALLENGES The Platform for Enterprise Solutions

Enterprise Application Development 01-24

Java™ 2 Enterprise Edition (J2EE)

 The J2EE platform represents a single standard for implementing and deploying enterprise applications

 designed through an open process  designed to provide server-side and client-side

support for developing distributed, multitier applications

 addresses the core issues that impede organizations’ efforts to maintain a competitive pace in the information economy

Enterprise Application Development 01-25

Multitier Applications

 Client tier: to provide the user interface

 one or more middle-tier modules: to provide client services and business logic for an application

 back-end enterprise information systems tier: to provide data management

Enterprise Application Development 01-26

The J2EE Environment Various Components and Services

Enterprise Application Development 01-27

The J2EE Environment Features

 Multitier Model  Container-based Component Management  Support for Client Components  Support for Business Logic Components  Support for J2EE Standard

Enterprise Application Development 01-28

The J2EE Environment Benefits

 Simplified architecture and development  Freedom of choice in servers, tools, and

components  Integration with existing information systems  Scalability to meet demand variations  Flexible security model

Enterprise Application Development 01-29

J2EE Application Scenarios

 Multitier Application Scenario  Stand-alone Client Scenario  Web-centric Application Scenario  Business-to-Business Scenario

… and more stuff, next time…

Enterprise Application Development 01-30

Web Application Architecture

comments (1)
This is only a preview
3 shown on 30 pages
Download the document