develop n-tier e-business applications

This is a five-day course that covers the collaborations between the elements of the J2EE platform and XML. In particular, how JSP and Servlet-based Web applications link with enterprise components in EJB and XML data, to create a complete e-business application. Practicals focus on the design of the e-business application. The code will mostly be filled in for participants, with gaps left for them to make the key design decisions. Practicals also show how to use JNDI to find remote objects; the role of EJB home and remote interfaces; as well as how to deploy J2EE Web applications and enterprise components.

This course covers in detail how to use XML (eXtensible Markup Language) with Java. It also covers all technical aspects of JSP — an extension to Servlets. The purpose is to show how to use Java in all aspects of the development; with XML functioning as the standard markup for data. Design issues are central to the course, in particular how to:

  • divide presentation from application logic
  • modularize server code with server beans
  • use best practices of component based design, for example to encapsulate enterprise system access

Duration: 5 days

objectives

  • uncover the essentials of the Java solution to building n-tier e-business applications
  • show the role of Java Web and enterprise technologies - Servlets, JSP, JNDI, and EJB
  • code interactions between Java Web components and enterprise components
  • cover all the necessary technical areas of XML and interfacing XML with Java
  • implement a Java-based e-business system that uses XML for data exchange
  • partition the application to separate the concerns of presentation, logic, and data

target audience

The course is extremely practical and is suitable for software developers, designers, and architects familiar with Java.

prerequisites

Ideally this course would be preceded by: design and develop Java applications.

Basics of e-business

Introduces the fundamental parts to an e-business application.

  • server technology
  • client/server Vs n-tier
  • e-business components
  • distributed applications
  • JDBC for dynamic data
  • access to stored procedures
  • various models e-business application design

J2EE platform

  • evolution of multi-tier systems
  • J2EE technology
    • Servlets and JSP
    • review of JDBC
    • EJB
    • JNDI
  • application servers

Web and enterprise architectures

  • Web-based applications with Servlets and JSP
  • EJB enterprise component architecture
  • state management
  • life-cycle of J2EE objects

J2EE technology collaborations

  • the common language solution
  • Servlet chains
  • JSP tag libraries
  • EJB accessibility

Distributed application design

  • wider issues of remote invocation
  • EJB properties
    • security
    • persistence
    • built in performance, e.g. load balancing
    • transaction control
    • setting properties at deploy time
  • overview of EJB design patterns

XML syntax and semantics

A detailed review at the XML standards to exchange and publish information in a structured way.

  • mark up — structure implicit (eg HTML)
  • XML records structure — formatting deduced.
  • strict rules
  • a thorough examination of all XML syntax
  • XML schemas:the semantics defined
  • from DTDs to XML schemas
  • valid and correct XML
  • names vs attributes
  • declarations
  • object trees and data serialization
  • entities: macro behaviour (general/parameters, internal/external, parsed/unparsed)
  • processing instructions

XML-based applications

Analysis of the design of two applications. One with a human client — a document application. Another aimed at automatic processing by software: an e-business data application.

  • publishing: HTML done right
  • B2B: XML's killer app
  • B2B scenarios
  • e-business system involved: delivery, sales, etc
  • cross company communication: replacement for EDI
  • the document as the application
  • XML and relational databases
  • XML and dynamic Web publishing
  • benefits of XML schemas to applications
  • XML processors enforcing structure
  • application access to document structure
  • fixed values
  • channels

XML standards

A set of related standards for creating XML applications.

  • XML namespace
  • stylesheets: XSL and CSS
  • syntax of XSL (XML Stylesheet Language)
  • Apache Cocoon — future XSP technology
  • CSS (Cascading Style Sheets) compared with XSLFO (XSL Formatting Objects)
  • XSLT (XSL Transformation)
  • example using XSL: XML to HTML and plain text
  • application-to-application exchanges
  • forms and editors
  • e-business XML (ebXML), open source project
  • XML APIs
  • DOM and SAX

XML software

Demonstrations and examples of current XML software

  • XML browsers: focus on stylesheet support
  • XML editors (Adobe Framemaker, XML Pro, XMetal, Microsoft XML Notepad)
  • XML parsers: standard Apache/IBM ones for Java
  • XSL processors
  • XML clients and an Excel example
  • databases and XML
  • XML databases
  • XML and RDBMSs: Oracle, SQL Server

XML in distributed Java applications

Parsing XML or converting into XML, is subject to a number of conditions based on the type of application.

  • distributed applications and performance issues
  • XML optimization patterns
  • the portal model
  • XML on the client side
  • browser limitations
  • SOAP
  • applications server support

Software modelling with XML and UML

This section covers techniques of identifying business rules that XML must abide by, and introduces relevant parts of UML.

  • static models
  • why XML needs modelling
  • objects, types, attributes, snapshots
  • examples to show XML's limitations
  • use-cases and tasks
  • how to build the necessary interfaces
  • event and state charts
  • precursor to formation of business rules
  • examples of building UML models for XML systems

Java design from XML-based models

Focused on the translation from our model to Java code; in particular the interface points between XML and Java.

  • class diagram types to entities
  • transaction post conditions
  • business rules
  • static and dynamic constraints
  • XML tree rules revisited
  • specification of adapters
  • use of state diagrams for integration
  • integrating business/component models
  • monitor data in and out of systems

XML in business systems

XML can be used vertically and horizontally through the enterprise.

  • presentation layer
  • business logic
  • XML as business objects transported between applications
  • data persistence
  • wrapper existing applications
  • write adapters or use vendor's
  • the importance of test monitors

Client side

Weigh up the pros and cons of client options: pure HTML, applets, XML, ...

  • applet syntax and semantics
  • applets and HTML
  • browser restrictions and problems
  • client/server divide in applet-based applications
  • applet to server communication
  • downloadable client model

Server side

Converting to thin client using Servlets

  • driver independence and middleware
  • JNDI database lookups
  • JNDI context
  • running JVM models
  • cycling object instances
  • request / response model
  • action on data
  • manipulate JavaBeans
  • session state data
  • Servlet containers
  • deployment

Separate code from Web design

Partition view generation with JSP.

  • dynamic presentation generation problems
  • from Servlets to JSP
  • JSP syntax and semantics
  • declarations
  • scriptlets: Java embedded in HTML
  • JSP and the MVC architecture

e-business components

Modularize presentation logic with server beans.

  • JavaBeans access from JSP
  • JavaBeans encapsulation of data and logic
  • threading and integrity issues
  • roles with MVC

e-business application templates

Partition dynamic elements from static with JSP templates

  • custom actions
  • encapsulation of presentation functions
  • tag libraries
  • template mechanism
  • future role of XML
  • current limitations of XML

e-business application patterns

Use tested techniques for server side objects, encapsulated in patterns

  • factory pattern and database connection pools
  • factory pattern and lifecycle control
  • command pattern and access to enterprise components
  • mediator pattern and security issues

Please note, when taught at your site, this course is customizable. Modules can be adapted, removed, added from other courses, or even created.

timetable

Day 1

  • Basics of e-business
  • J2EE platform
  • Web and enterprise architectures
  • J2EE technology collaborations
  • Distributed application design

Day 2

  • XML syntax and semantics
  • XML-based applications
  • XML standards
  • XML software

Day 3

  • XML in distributed Java applications
  • Software modelling with XML and UML
  • Java design from XML-based models
  • XML in business systems

Day 4

  • Client side
  • Server side
  • Separate code from Web design

Day 5

  • e-business components
  • e-business application templates
  • e-business application patterns

course instructor

The course is presented by one of our senior consultants, each of whom has at least ten years' experience in software development, and at least three years' experience as a trainer and consultant in a diverse range of application areas.

print     printer-friendly version