A System Architectural Design for Catalyst:
A Corporate Portal
Walt Scacchi
(Wscacchi@ics.uci.edu)
M271/F271
Latest Revision: 13:00, 20 November 2001
System Configuration
Components
User Clients (front-end-tier)
Content Server (middle-tier)
Content Repository (back-end tier)
System Visualization
System Icon (Optional)
XML Models of Enterprise System Architecture(Optional--Extra
Credit)
System Architectural
Configuration
<System Configuration>
<Narrative> </Narrative>
<Host-Id>catalyst.gsm.uci.edu</Host-Id>
<Author>Walt Scacchi (wscacchi@uci.edu)</Author>
<Version>2001/12/01/13:00</Version>
<Last-Modified-By>Walt Scacchi (wscacchi@uci.edu)</Last-Modified-By>
<System-Components>
User Clients
<Component>
-
Web browser --
generally Internet Explorer, Version 4.0 or later (there are some known
usage bugs at present in using Catalyst with either IE Version 5.0 and
5.5)
<Connector>Protocol
(HTTP)</Connector>
<Interface>
<Input-Objects>
-
Course content (Learning Resources) -- Syllabi, Case Studies, Research
Papers, Business Plans, Exam Questions and Answers, and other kinds of
learning content.
-
Messages -- MBA Students and Faculty can engage in asynchronous
communication through Catalyst. Asynchronous messaging is supported through
a service called, Discussion Forum. The Discussion Forum supports the upload
and posting of messages in the order they are received, along message threads.
-
MBA students personal information -- MBA Students can enter and
update a designated set of personal information about them (e.g., enrollments,
phone number, URL hyperlinks to personal Web pages) that is managed by
Catalyst. Items like personal web pages or work-related web pages are not
stored within Catalyst, but can be accessed on the Web via Catalyst.
-
User navigation commands -- Users navigate through selecting (e.g.,
"mouse-clicking") items visible as hyperlinks or selection menus displayed
in client program's user interface.
</Input-Objects>
<Output-Objects>
Outputs are always formatted and presented in a manner that is consistent
with the look-and-feel associated with Catalyst, and its participation
in reinforcing the UCI GSM brand.
-
View of Course content (Learning Resources) -- Syllabi, Case Studies,
Research Papers, Business Plans, Exam Questions and Answers, and other
kinds of learning content.
-
View of Messages -- MBA Students and Faculty can engage in asynchronous
communication through Catalyst. Asynchronous messaging is supported through
a service called, Discussion Forum. The Discussion Forum supports the download/browsing
of messages in the order they are received, along message threads.
-
View of MBA students personal information -- MBA Students can enter
and update a designated set of personal information about them (e.g., enrollments,
phone number, URL hyperlinks to personal Web pages) that is managed by
Catalyst. Items like personal web pages or work-related web pages are not
stored within Catalyst, but can be accessed on the Web via Catalyst.
-
View of User navigation command selections -- Users navigate through
selecting (e.g., "mouse-clicking") items visible as hyperlinks or selection
menus displayed in client program's user interface. Selected items are
highlighted in the display view.
-
Client program invocations -- Catalyst can respond to a user input
or navigational selection by invoking an application program on the user's
computer. For example, Email, JChat, or applets can be invoked as outputs
from Catalyst.
-
Any program invocation may fail and produce an error message or failure
signal. Anywhere a client-side program is invoked, a system error message/signal
may be produced as output. For example, if a system error is detected,
the process may need to output the error message, rather than a potentially
erroneous process output.
</Output-Objects>
</Interface>
</Component>
<Component>
-
Browser plug-ins: perhaps
the most common plug-in is that associated with the Adobe Acrobat .pdf
file reader. When you download a Web object with a .pdf extension, it generally
should invoke the Adobe Acrobat within your browser window if the PDF reader
plug-in is installed in the user's client browser.
<Connector>API</Connector>
<Interface>
<Input-Objects>
-
Course content (Learning Resources) MIME Types-- Syllabi, Case Studies,
Research Papers, Business Plans, Exam Questions and Answers, and other
kinds of learning content that are coded as .html/.htm, .doc, .ppt. .pdf,
or other common MIME data types.
-
User navigation commands available in a plug-in -- Users navigate
through selecting (e.g., "mouse-clicking") items visible as function icons/buttons,
hyperlinks or selection menus displayed in plug-in's user interface.
</Input-Objects>
<Output-Objects>
-
A display view or copy of course content or user navigation command
is generally available to users as Outputs, though access may be restricted
by user role.
-
Client program invocations -- Catalyst can respond to a user input
or navigational selection by invoking an application program on the user's
computer. For example, access to other Web-based content objects, other
applications residing on the user's client, or applets can be invoked as
outputs from plug-ins.
-
Any program invocation may fail and produce an error message or failure
signal. Anywhere a client-side program is invoked, a system error message/signal
may be produced as output. For example, if a system error is detected,
the process may need to output the error message, rather than a potentially
erroneous process output.
</Output-Objects>
</Interface>
</Component>
<Component>
-
External Helper
Applications that are invoked by the Browser downloading of
a registered MIME object type -- for example, if you access a Web object
with the URL, http://www.ics.uci.edu/~wscacchi/SA/Requirements/RichPictures/Catalyst01.ppt
note the object ends with a ".ppt" extension. On MS Windows-based Web Browsers,
such an object triggers the browser to invoke an external program (the
"helper" application) for which objects of this MIME type. "ppt" is usually
registered to invoke the MS PowerPoint application, either within the browser
window (when using Internet Explorer) or external to the browser (when
using Netscape Navigator).
<Connector>API</Connector>
<Interface>
<Input-Objects>
-
Course content (Learning Resources) MIME Types-- Syllabi, Case Studies,
Research Papers, Business Plans, Exam Questions and Answers, and other
kinds of learning content that are coded as .doc, .ppt. .pdf, or other
common MIME data types.
-
User navigation commands available in a plug-in -- Users navigate
through selecting (e.g., "mouse-clicking") items visible as hyperlinks
or selection menus displayed in client program's user interface.
</Input-Objects>
<Output-Objects>
-
A display view or copy of any Input object is generally available to
users as Outputs, though access may be restricted by user role.
-
Client program invocations -- Catalyst can respond to a user input
or navigational selection by invoking an application program on the user's
computer. For example, Discussion Forum, JChat, or applets can be invoked
as outputs from Catalyst.
-
Any program invocation may fail and produce an error message or failure
signal. Anywhere a client-side program is invoked, a system error message/signal
may be produced as output. For example, if a system error is detected,
the process may need to output the error message, rather than a potentially
erroneous process output.
</Output-Objects>
</Interface>
</Component>
<Component>
-
Discussion Forum --
Catalyst allows users to select another known individual user or group
identified (e.g., all MBA Students registered in a UCI GSM course) to participate
in a discussion forum. The User Interface to a Forum may be presented as
a Web-based (HTML) form with associated hyperlinks to discussion messages
along a discussion topic.
<Connector>API</Connector>
<Interface>
<Input-Objects>
-
Messages -- MBA Students and Faculty can engage in asynchronous
communication through Catalyst. Asynchronous messaging is supported through
a service called, Discussion Forum. The Discussion Forum supports the entry,
upload and posting of messages in the order they are received, along message
threads.
-
User navigation commands -- Users navigate through selecting (e.g.,
"mouse-clicking") items visible as function buttons/tabs, hyperlinks or
selection menus displayed in Forum's user interface display form.
</Input-Objects>
<Output-Objects>
Outputs are always formatted and presented in a manner that is consistent
with the look-and-feel associated with Catalyst, and its participation
in reinforcing the UCI GSM brand.
-
View or copies of any Discussion Forum object along a message thread
is generally available to users as Outputs, though access may be restricted
by user role or course identifier.
-
Any program invocation may fail and produce an error message or failure
signal. Anywhere a client-side program is invoked, a system error message/signal
may be produced as output. For example, if a system error is detected,
the process may need to output the error message, rather than a potentially
erroneous process output.
</Output-Objects>
</Interface>
</Component>
<Component>
-
Applets: application
programs that are stored on a Web server then downloaded and invoked when
a user selects a content object via their client program (e.g., Web Browser)
that requires the processing or results from a separate application program.
-
JChat -- Catalyst invokes an Internet Relay Chat (IRC) type of program
(e.g., operating as an applet) that provides its own window user interface,
outside of the Web browser. JChat operates as a synchronous messaging system.
<Connector>Protocol
(HTTP)</Connector>
<Interface>
<Input-Objects>
-
Messages -- MBA Students and Faculty can engage in synchronous communication
through Catalyst. Synchronous messaging is supported through a service
called, JChat. JChat is a service similar to Internet Relay Chat.
-
User navigation commands -- Users navigate through selecting (e.g.,
"mouse-clicking") items visible as hyperlinks or selection menus displayed
in applet's user interface.
</Input-Objects>
<Output-Objects>
-
View or copies of any Input object is generally available to users as
Outputs, though access may be restricted by user role.
-
Any program invocation may fail and produce an error message or failure
signal. Anywhere a client-side program is invoked, a system error message/signal
may be produced as output. For example, if a system error is detected,
the process may need to output the error message, rather than a potentially
erroneous process output.
</Output-Objects>
</Interface>
</Component>
<Component>
-
Email: Catalyst can
invoke the email program registered with the Web browser as the one to
launch (invoke) to subsequently send/receive email. Catalyst allows a user
to invoke the user's email program of choice by selecting a content item
that includes a mailto:user-id@mail-server (for example, mailto:wscacchi@uci.edu)
or other information that enables invocation of the user's email program.
Email runs as in a separate window (aka, a "control thread") from Catalyst.
Catalyst does not directly import or manage user email messages.
<Connector>API</Connector>
<Interface>
<Input-Objects>
-
Messages -- MBA Students and Faculty can engage in asynchronous
communication through Catalyst. The Email program supports asynchronous
messaging among users of Catalyst and anyone else. Email supports the entry,
upload, and posting of messages.
-
User navigation commands -- Users navigate through selecting (e.g.,
"mouse-clicking") items visible as hyperlinks or selection menus displayed
in email program's user interface.
</Input-Objects>
<Output-Objects>
-
View or copies of any Input Email is generally available to users as
Outputs.
-
Client program invocations -- Catalyst can respond to a user input
or navigational selection by invoking an application program on the user's
computer. For example, a user's Email can invoke plug-ins or helper applications
already installed on the user's client if the email message contains file
attachments of known MIME type. Email messages can also invoke or update
the display in a user's Web browser, if the email message contains embedded
URL links that are selected (clicked) by the user.
-
Any program invocation may fail and produce an error message or failure
signal. Anywhere a client-side program is invoked, a system error message/signal
may be produced as output. For example, if a system error is detected,
the process may need to output the error message, rather than a potentially
erroneous process output.
</Output-Objects>
</Interface>
</Component>
Content Server
<Component>
-
Web Server (e.g.,
Apache, an open source web server available for use on Windows, Unix, Linux,
MacOS, and other operating systems on networked computers), replies to
requests from a user client for content through Catalyst by accessing a
content repository, or by accessing content external to Catalyst via the
Web. UCI GSM IS development staff have custom-coded common gateway interface
(CGI) programs that co-operate with Apache to determine whether to access
the database manager within the Content Repository. Otherwise, the request
goes to the Web for accessing remote Web content (e.g., following a URL
hyperlink that displays the ISBN number for a textbook that in turn retrieves
a Web page from amazon.com for the selected book). When Catalyst retrieves
content from the Web, it drops its connection to the user client. The user
must then go back and refresh/reload the last page served by Catalyst to
resume their Catalyst session. If a sufficient delay before refresh occurs,
Catalyst times out the connection to the user client, and must then establish
a new user session with Catalyst.
<Connector>Protocol
(HTTP)</Connector>
<Interface>
<Input-Objects>
-
Course content (Learning Resources) -- Syllabi, Case Studies, Research
Papers, Business Plans, Exam Questions and Answers, and other kinds of
learning content.
-
Messages -- MBA Students and Faculty can engage in asynchronous
or synchronous communication through servlets or applets managed by the
Catalyst Web Server.
-
MBA students personal information -- MBA Students can enter and
update a designated set of personal information about them (e.g., enrollments,
phone number, URL hyperlinks to personal Web pages) that is managed by
Catalyst. Items like personal web pages or work-related web pages are not
stored within Catalyst, but can be accessed on the Web via Catalyst.
-
User navigation commands -- Users navigate through selecting (e.g.,
"mouse-clicking") items visible as hyperlinks or selection menus displayed
in client program's user interface. These menu item selections are input
to the Web server.
-
GSM IS development staff inputs -- Catalyst developers can enter
information that create, insert, update or delete schemas or content from
the Catalyst Repository, or its internal database. Similarly, they can
create, insert, update or delete data entry forms (described in HTML or
XML), data presentation displays (using one or more of Active Server Pages
(ASP), HTML, XML, Javascript, etc.) visible through a client program user
interface, or downloadable application programs ("applets"). Last, developers
also input, upload and install application programs (e.g., Common Gateway
Interface/CGI programs ("servlets") on the Apache Web server, SQL programs
on the Repository database management system, and Java applets that are
downloaded to a user client from the Web server on demand).
</Input-Objects>
<Output-Objects>
-
View or copies of any Input object is generally available to users as
Outputs, though access may be restricted by user role.
-
Client program invocations -- Catalyst can respond to a user input
or navigational selection by invoking an application program on the user's
computer. For example, Discussion Forum, JChat, Email, or applets can be
invoked as outputs from Catalyst Web server
-
Any program invocation may fail and produce an error message or failure
signal. Anywhere a client-side program is invoked, a system error message/signal
may be produced as output. For example, if a system error is detected,
the process may need to output the error message, rather than a potentially
erroneous process output..
</Output-Objects>
</Interface>
</Component>
<Component>
-
Application Servlets:
these are often small application programs or Common Gateway Interface
(CGI) scripts that encapsulate and invoke computational processing functions
in external applications. These applications rely on servlets to provide
transactions processing services between user (client) applications (e.g.,
Web Browser with content input forms) and the external application (e.g.,
a legacy DBMS application). Also, "event notification services" that access,
retrieve and display (on user clients) content items that are associated
with a calendar date, or range of calendar dates (e.g., "this week", "next
week", "today") can be realized as application servlets. These programs
query the Catalyst Database either by default (e.g., at user login) or
by user selection through a client program, then dynamically generate the
pre-formatted Web pages with the appropriate content (or hyperlinks) included
and displayed in the user's Web browser.
<Connector>API
(CGI scripts)</Connector>
<Interface>
<Input-Objects>
GSM IS development staff inputs -- Catalyst developers can enter
information that create, insert, update,delete, upload and install application
programs (e.g., Common Gateway Interface/CGI programs ("servlets") associated
with the Catalyst Web server
</Input-Objects>
<Output-Objects>
-
View or copies of any Input object is generally though access is
restricted only IS Development Staff.
-
Client program invocations -- Catalyst can respond to a user input
or navigational selection by invoking an application program on the user's
computer. For example, Catalyst repository commands or SQL database queries
can be invoked as outputs from Catalyst servlets.
Any program invocation may fail and produce an error message or
failure signal. Anywhere a client-side program is invoked, a system
error message/signal may be produced as output. For example, if a system
error is detected, the process may need to output the error message, rather
than a potentially erroneous process output.
</Output-Objects>
</Interface>
</Component>
Content Repository
<Component>
-
Database Management System (DBMS):
This repository encapsulates a SQL database when the primary content for
courses and information about MBA Students, Faculty and staff is kept.
An ER data model describes the database schemas that define and logically
structure this content.
<Connector>Other
(ODBC)</Connector>
<Interface>
<Input-Objects>
-
Course content (Learning Resources) -- Syllabi, Case Studies, Research
Papers, Business Plans, Exam Questions and Answers, and other kinds of
learning content can be inserted, updated, deleted, or selected for display.
-
Messages -- MBA Students and Faculty can engage in asynchronous
or synchronous communication through Catalyst. Asynchronous messaging is
supported through a service called, Discussion Forum. The Discussion Forum
supports the upload, posting, and download/browsing of messages in the
order they are received, along message threads. Synchronous messaging is
supported through a JChat service similar to Internet Relay Chat.
-
MBA students personal information -- MBA Students can enter and
update a designated set of personal information about them (e.g., enrollments,
phone number, URL hyperlinks to personal Web pages) that is managed by
the Catalyst DBMS. Items like personal web pages or work-related web pages
are not stored within Catalyst, but can be accessed on the Web via Catalyst.
-
User navigation commands -- Users navigate through selecting (e.g.,
"mouse-clicking") items visible as hyperlinks or selection menus displayed
in client program's user interface. These commands are interpreted by CGI
servlets that in turn invoke the corresponding database content query for
insertion, update, deletion or selection for retrieval to be invoked.
-
GSM IS development staff inputs -- Catalyst developers can enter
information that create, insert, update or delete schemas or content from
the Catalyst Repository, or its internal database. Similarly, they can
create, insert, update or delete data entry forms (described in HTML or
XML), data presentation displays (using one or more of Active Server Pages
(ASP), HTML, XML, Javascript, etc.) visible through a client program user
interface, or downloadable application programs ("applets"). Last, developers
also input, upload and install SQL programs on the Repository database
management system).
</Input-Objects>
<Output-Objects>
-
View or copies of any Input object is generally available to users as
Outputs, though access may be restricted by user role.
-
SQL program invocations -- Catalyst can respond to a user input
or navigational selection by invoking an SQL program (e.g., a pre-defined
content query type) to insert, update, delete, or select content objects.
-
Any program invocation may fail and produce an error message or failure
signal. Anywhere a client-side program is invoked, a system error message/signal
may be produced as output. For example, if a system error is detected,
the process may need to output the error message, rather than a potentially
erroneous process output.
</Output-Objects>
</Interface>
</Component>
<Component>
-
Network File Server:
Exceptional or unusual content (e.g., large software application programs
used in a class that must be downloaded by MBA Students) are not necessarily
stored within the database, but instead may be stored on a network file
server that is visible only to the Catalyst Content Server. Thus the content
repository incorporates one/more databases, and one/more file systems (not
including the Web or remote networked file servers).
<Connector>API</Connector>
<Interface>
<Input-Objects>
-
Course content (Learning Resources) files -- Syllabi, Case Studies,
Research Papers, Business Plans, Exam Questions and Answers, and other
kinds of learning content that are internally stored a files of a pre-determined
data type.
-
File Identifiers -- The SQL Database in Catalyst can produce results
to a query that reference a file by its identifier (file-id). The NFS must
then invoked the appropriate repository retrieval command to access the
identified file, then forward it through the Web server back to the User's
client program.
</Input-Objects>
<Output-Objects>
-
Views of Course content (Learning Resources) files -- Syllabi, Case
Studies, Research Papers, Business Plans, Exam Questions and Answers, and
other kinds of learning content that are internally stored a files of a
pre-determined data type.
</Output-Objects>
</Interface>
</Component>
</System-Components>
</System Configuration>
System Visualization
<System-Visualization>
<Narrative> </Narrative>
<Author>Walt Scacchi (wscacchi@uci.edu)</Author>
<Version>2001/11/26/20:00</Version>
<Last-Modified-By>Walt Scacchi (wscacchi@uci.edu)</Last-Modified-By>
<Graphic>
</Graphic>
</System-Visualization>
System Icon (Optional)
<System-Icon>
<Narrative>Catalyst</Narrative>
<Author>Walt Scacchi (wscacchi@uci.edu)</Author>
<Version>2001/11/26/20:00</Version>
<Last-Modified-By>Walt Scacchi (wscacchi@uci.edu)</Last-Modified-By>
<Icon>
</Icon>
<System-Invocation>
http://catalyst.gsm.uci.edu
</System-Invocation>
</System-Icon>
XML Models of Enterprise
System Architecture (Optional--Extra Credit)
-
Name/Identifier for XML Modeling/Design tool used
-
Author (Corporate/Vendor name)
-
Version (from Vendor information -- e.g., check "About <tool-name>"
for this)
-
XML description of your project
-
Project-specific Document Type Definition (DTD)
-
Cascading Style Sheets (CSS)
-
XML source for your project
-
Sample XML presentation views of your project