|
|  |
 |  |
| | |
 |
 |
| |
|
Introduction to Enterprise and Web Application Frameworks
|
|
|
Duration:
2 Days
|
|
|
|
This course is designed for managers, executives and software professionals who want to get a quick and deep
understanding of enterprise application servers.
-
Architects
-
Designers
-
Developers
-
Technical managers
| |
|
|
|
|
Description
|
|
Designing, developing and deploying enterprise class applications involves a set of challenges that traditional
non-enterprise developers seldom have to address. Enterprise-class applications typically require high-availibility,
concurrent access from a large number of users, several levels of authentication and authorization enforcement,
encrypted communications, remote (networked) access, database access (including multiple databases), trasactional integrity,
asynchronous communications and messaging, scalability and reliability.
Modern enterprise-class applications, additionally, also have to provide access to their functionality over the web to browser-based clients, mobile devices, web services clients and to any of the myriad devices that will be introduced in our ever-changing environment.
In addition to the enterprise application services listed above, the application developer still has to design and implement her
core application logic that pertains to her domain (e.g. banking, insurance, healthacare, transporation, entertainment etc.).
While all the enterprise-class features we listed above are important, it is unrealistic that a single application developer will
have the mastery of all those services; in fact each of those services typically have their own experts who specialize in that one
single aspect (e.g. security, etc.).
A quick survey of various enterprise-class applications also reveals, that while these applications might differ significantly in
the core functionality they provide (e.g. an on-line healthcare system is going to be significantly different from an on-line shopping site),
the enterpise-class services needed by them will be quite similar modulo some configurable customization. What this means is that there is
a significant opportunity to expolit the common aspects of these applications by refactoring the enterprise-class services. This implies
that an enterprise-class application developer does not have to implement these services over and over again.
Enterprise application frameworks such as Java Enterpise Edition and Microsoft .NET are two of the many such
frameworks that provide these commonly used enterprise-class services through high-level interfaces. The application developers, deployers
and administrators can now avail themseleves of these services without coding for those services. These services are typically
implemented by experts in those areas (e.g. security, transactions, database, communication, etc.)
This course has been specially designed for professionals seeking to understand the architecture of enterprise application
servers and frameworks. This course also covers the architecture and use of various systems used in developing and deploying
enterprise-class systems such as database management systems, messaging systems, directory servers such LDAP, transaction coordinators,
security frameworks and web servers.
This course also introduces various architectural patterns used in building enterprise-class systems such a client-server and n-tier.
This class includes lectures, presentations and demonstrations of the concepts introduced in the class.
|
|
|
Objectives
|
This course aims to introduce to the audience the architecture of enterprise application servers and the eco-system in which
these servers reside. The course also aims to introduce design and architctural patters and best practices for the implementation
of robust, scalable, secure, persistence-aware, web-enabled and transactional enterprise applications.
On completion, attendees would be able to:
-
Understand the role enterprise application servers play
Java EE 5
-
Understand the architecture of enterprise application servers and frameworks
-
Understand the architecture of web application servers and frameworks
-
Learn how database systems interact with the application servers
-
Learn how messaging systems interact with the application servers
-
Learn how directory servers such as LDAP servers are utilized by enterprise applications
-
Learn how security is enabled and enforced by enterprise applications
-
Learn how web services may be served and consumed by enterprise applications
-
Understand the client-server architecture
-
Understand the N-tier architecture
-
Learn the best practices and design patterns for building enterprise applications
|
|
|
Course Outline
|
|
Enterprise Applications
-
Overview of Enterprise Applications
-
Design issues in implementing e-business and enterprise applications
-
Client-Server Architecture
-
Multi-tier (or N-Tier) Architecture
-
Service requirements
-
Service access patterns
-
Major roles in designing, developing, and deploying
enterprise applications
-
Application packaging and deployment
Java Enterprise Edition (JEE)
-
Introduction to the JEE Architecture
-
Enterprise JavaBeans
-
Web Application with Servlets, JSP and HTML
-
Peristence with Entities
-
Web Services
-
Quick introduction to WebSphere, JBOSS and WebLogic
Microsoft .NET
-
Introduction to the .NET Architecture
-
Common Language Specification (CLS)
-
Common Language Runtime (CLR)
-
Assemblies, metadata and manifests
-
The Common Intermediate Language (CIL)
-
Choosing a managed language (C#, VB.NET, MC++)
Database Systems
-
Database Servers
-
Integration with Enterprise Application Servers
-
DataSource configuration
-
Connection Pooling
-
Drivers (JDBC, ODBC)
Naming and Directory Services
- Lightweight Directory Access Protocol (LDAP)
- Integration of LDAP and Enterprise Application Servers
- Using LDAP for secuirty
- Using LDAP for enterprise resources
- Java Naming and Directory Interface (JNDI)
| |
Transactions
- ACID properties of transactions
- Distributed transactions and the 2-phase commit protocol
- Transaction isolation levels and conncurrency
Enterprise Security
-
Authentication
-
Authorization
-
Encryption
-
Data integrity
-
Non-repudiation
-
Quick introduction to Kerberos
-
Quick introduction to Java Authentication and Authorization Service (JAAS)
Message Services
-
Introduction to messaging systems
-
Point-to-point model
-
Publish-and-subscribe model
-
Java Messaging Service (JMS)
Web Application Servers
-
Introduction to Web Servers
-
HTTP Protocol
-
The Request-Response lifecycle
-
Web Application Architecture
-
Web Containers
|
|
|
|