A System Architectural Design for Catalyst: A
Corporate Portal
Walt Scacchi
(Wscacchi@ics.uci.edu)
M271/F271
Spring 2003
Latest Revision:24 February 2003
System Configuration
Components
System Visualization
System Icon
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
<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 a peer-to-peer instant
messaging type of program (e.g., operating as an applet) that provides
its own window user interface within 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>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>2003/05/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>2003/05/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