Enterprise Application Architecture
(EAI) Part 2
Lecture 16
Architectures
1 layer architecture
• monolithic Information Systems
• presentation, application logic, and resource management were merged into a single tier
2 layer architecture
• separation of presentation layer from other 2 layers (app + resource)
• became popular as 'server/client' systems
3 layer architecture
• can be achieved by separating RM (resource management) from application logic layer
Multi-tier Architectures
Where to put the business-logic?
• Client tier -> NO!
• Fat clients
• Reimplementing it for each different type of client
• Redistributing clients after each software update
• Data tier -> NO!
• Vendor and technology dependence grows
• Different applications have different needs for the same data
• Performance issues in resource usage
Multi-tier Architectures
Where to put the business-logic?
• Middle tier -> YES!
• Business logic has its own tier
Client tier Middle tier business Data tier
user interfaces logic data sources
Web browsers Web Databases
HTML, Java Server
Middleware
GUI clients Legacy Systems
Server
C++, VB, Java
Middleware I
Allows communication
• through a standard language
• across different platforms
• between legacy and moderm applications
Takes care of
• transactions between servers
• data conversion
• authentication
• communications between computers
Middleware II
Provides runtime environment for components in the middle-tier
• Component lifecyle and management
• Transaction, event and security services
• Provides connections to databases, mainframes and legacy systems
Seperates client-tier from the data source
• Clean seperation of user-interfaces and presentation logic from the data
source
Middleware III
Main use today: Legacy wrapping for thin client architectures
User interfaces Client-tier (GUI applications, browsers)
Business logic Middle-tier (CORBA/EJB/COM server)
Data sources Data-tier (databases, mainframes)
Importance of EAI
A step forward in the evolution of middleware
Integrates applications and enterprise data sources so that they
can easily share business processes and data.
Integration is done without significant changes of applications and
data sources.
Middleware Middleware
Middleware
EAI Middleware
Middleware Middleware
ERP System
Internal Applications
CRM System
(Java,C,C++)
Enterprise Portal
Application EAI Databases
Financial System Legacy System
SCM System
Example: a simple supply chain
purchase
Ordering System
order Business Process
Management
document
CRM System
customer-contact
Warehouse check
Controlsystem availability
not
available available
ERP System
order atricle
Financial System write invoice
Manufacturing
deliver goods
System
11/31
EAI benefits:
Lower development costs
• Integration is simpler because systems are more loosely coupled than in object brokers
Lower opportunity costs
• Integration is done more quickly
• corresponding cost savings reachieved sooner
Lower maintenance effort
• adapters extract the interaction with external systems
• significant advantage from the software engineering point of view