Page: (Bot) (Prev) (Next)   Class: (Outline) (Assign) (Answer)   Course: (Content)
IT533 - SOFTWARE ARCHITECTURES - CLASS 3
EXAMPLES

To: (J2EE) (NET) (Web) (XSLT) (Pipe)

Our primary interest in these examples is to see how the component-and-connector viewtype and styles can be used to document the runtime architecture. Later in the course, we will revisit some of these architectures to develop a better understanding of their components and connectors.

J2EE Web Services Architecture (Top)
See class handout.

Discussion Questions:
  1. What viewtype is used to present this architecture?
  2. What styles are used in this architecture?
  3. What types of components are shown in the architecture?
  4. What types of connectors are shown in the architecture?
  5. What does this architecture say about deployment to physical processors?

Microsoft .NET Architecture (Top)
See class handout.

Discussion Questions:
  1. What viewtype is used to present this architecture?
  2. What styles are used in this architecture?

Web Services (Top)
See class handout.   [Newcomer02, p17]

Discussion Questions:
  1. What is missing from this architecture document?
  2. Is this a component architecture or is it an architecture of the components that implement a connection?

XSLT and EJB Architecture (Top)
See class handout.   From Java and XSLT by Burke, page 131

Discussion Questions:
  1. What is missing from this architecture document?
  2. What does this architecture say about the deployment of the components?
  3. Do the connections represent data flow or control flow?
  4. Which components are active components and which are passive components?
  5. Which components might be COTS? Which might be reusable? Which must be custom?
  6. How would you map this component-and-connector view into a module view?

Pipe-and-Filter Patterns (Top)

[Pipe-and-Filter Architecture]

The Java code that would be used to construct and execute this filter chain would be:

      public final void runFilter()
      {
        //Create components
            Extractor theExtractor = new Extractor();
            Sorter theSorter = new Sorter();
            Aggregator theAggregator = new Aggregator();
            Formatter the Formatter = new Formatter();
        //Connect components
            theExtractor.connectTo(theSorter);
            theSorter.connectTo(theAggregator);
            theAggregator.connectTo(theFormatter);
        //Run filter
            theExtractor.execute();
      }
Discussion Questions:
  1. How can you modify the component view to show a filter controller that builds and executes the filter chain?
  2. How can you modify the architecture to show a generic filter controller that reads a configuration file that lists the specific pump, filters, and sink that should be assembled to create the filter chain?
  3. Which components might be COTS? Which might be reusable? Which might be custom?


Page: (Top) (Prev) (Next)   Class: (Outline) (Assign) (Answer)   Course: (Content)

Prepared by David L. March -- Last Revised on April 13, 2003
COPYRIGHT © 2003 BY DAVID L. MARCH