Professional Documents
Culture Documents
ITP213
EADP
ITP213 @ 2017S2
Enterprise Application Development & Project
LECTURE 1
INTRODUCTION TO ENTERPRISE APPLICATION DEVELOPMENT
Enterprise Application Development Project COPYRIGHT © 2017 SIT 1
Learning Outcome
Illustrate enterprise applications
Explain N‐Tier applications
Describe challenge in enterprise development
Enterprise Application Development Project COPYRIGHT © 2017 SIT 2
1
2017S2 ITP213
EADP
Enterprise Applications
An enterprise application is a business application.
They may be deployed on a variety of platforms across corporate
networks, intranets, or the Internet.
Often the work is divided between the computers used by the end
users and a main and powerful server – Client‐Server model.
Enterprise Application Development Project COPYRIGHT © 2017 SIT 3
Enterprise Applications
Web
Desktop Browser Smart Devices
client
Central Database Web Server/Application Server
Enterprise Application Development Project COPYRIGHT © 2017 SIT 4
2
2017S2 ITP213
EADP
Enterprise Applications Development
To support the increase in work load and large number of clients, various
technologies and techniques evolved.
In these days, large enterprise applications are developed based on the proven
N‐tier model.
Basically, an enterprise application is divided into 3 different tiers. Each tier has
its own specific roles to play. The 3‐tiers work together to form an application or
provides a service.
Enterprise Application Development Project COPYRIGHT © 2017 SIT 5
3‐Tier Application Architecture
User
Interacts with the users by capturing input and sent to
Business Layer and finally present information to UI. Presentation Layer
The Business Logic layer communicates with presentation
layer and data layer. It contains all the calculations and
Business Logic Layer
Business Rule validations that are required in the
application.
Handles the data required by the application. Usually an
database server (SQL server, Oracle etc) Data Layer
Enterprise Application Development Project COPYRIGHT © 2017 SIT 6
3
2017S2 ITP213
EADP
Physical Layer of N‐Tier Application
Web Browser interacts with end
End Users users
IIS Server with ASP.NET codes
Web Server (IIS) implementing business logic
SQL Server containing
Microsoft SQL Server data.
Enterprise Application Development Project COPYRIGHT © 2017 SIT 7
Challenges of Enterprise Application
Developing large‐scale enterprise application is not an easy task.
The following slides will show some of the challenges involves in developing
enterprise applications.
◦ Scalability
◦ Performance
◦ Security
◦ Reliability
◦ Reusability
◦ Testability
◦ Maintainability
Enterprise Application Development Project COPYRIGHT © 2017 SIT 8
4
2017S2 ITP213
EADP
Challenges of Enterprise Application
Scalability
◦ The ability for the application to serves a larger number of users than it was originally
designed for.
◦ Scaling Up (Vertically)
◦ Increase in hardware (better machine, more memory, faster process etc).
◦ Scaling out (Horizontally)
◦ Adding more machines
Performance
◦ The main goal of performance is to minimize response time to the user’s request.
◦ When system is under tremendous stress with concurrent users access require the
application to be properly tuned for optimal performance
Enterprise Application Development Project COPYRIGHT © 2017 SIT 9
Challenges of Enterprise Application
Security
◦ Web application is vulnerable to virus, worms, Trojan horses and hackers.
◦ Implement proper security policies and practices to protect system from being attacked.
Reliability
◦ The probability that a system could perform with minimum failure. This is named fault
tolerant.
◦ N‐Tier applications development enables system to be implemented on multiple distributed
parts that minimize the risk of single point of failure
Enterprise Application Development Project COPYRIGHT © 2017 SIT 10
5
2017S2 ITP213
EADP
Challenges of Enterprise Application
Reusability
◦ Software components can be easily reused.
◦ Interoperability between software modules or components.
◦ Portability of components from on application or platform to another.
◦ Examples
◦ Write a class in C# and reuse it in many projects.
Testability
◦ Building applications in a loosely‐coupled manner increases the testability.
◦ Implementing large enterprise application into various tiers, enable each component to be
tested individually effectively.
Enterprise Application Development Project COPYRIGHT © 2017 SIT 11
Challenges of Enterprise Application
Maintainability
◦ Developer point of view
◦ Good OO‐programming practices will make a system easier to modified for future
enhancement
◦ Administrator’s point of view
◦ Ease in monitoring the system.
◦ Ease in changing the operations of the systems.
◦ How easily can a system be repaired in the event of a failure.
Enterprise Application Development Project COPYRIGHT © 2017 SIT 12
6
2017S2 ITP213
EADP
Enterprise Application Platforms
There are various software development platform for developing
Enterprise applications.
Most commonly platform
◦ Oracle and Sun Microsystems Java 2 Enterprise Edition (J2EE).
◦ Microsoft .NET.
◦ Linux
This module will be looking at using the Microsoft.NET platform for
enterprise application development.
Enterprise Application Development Project COPYRIGHT © 2017 SIT 13
Summary
Enterprise applications and N‐Tier Architecture
Discuss challenge in enterprise development
Enterprise Application Development Project COPYRIGHT © 2017 SIT 14