E-bazaar Design
The following documents are part of the design of e-bazaar phase 1:
Use-cases
ROSE Model - Download
ROSE Model - Online (HTML)
Problem Statement
| Paper | Description |
| Enterprise Component: A Compound Pattern for Building Component Architetcures | The paradigm of building software from reusable
parts and creating a capital –intensive production
lifecycle which also has the flexibility
of modifiability by replacing a component
and plugging in a new one seems to be the
future of software development. Third-party vendors can contribute to large-scale development efforts by building components and having them certified and documented well enough to be used in a repository of browsable components. We need software assets (from modeling down to code and test) that are reusable and are able to be (re-) composed in several ways; can be extended by plugging in other cohesive, runnable pieces without having to have the source code for each functional unit of software? |
| Grammar-oriented Object Design : Creating adaptive collaborations and dynamic configurations with self-describing components and services | The configuration and collaboration of software
components in software architecture are designed
to adaptively conform to a set of business
requirements that often need to be updated
to reflect changing business needs and models.
Altering collaboration sequences, business
rules and processes within applications often
create unacceptable maintenance overhead
in a tight delivery window where the constraints
of high quality software need to be balanced
with (and is sometimes compromised for) rapid
time-to-market. Thus, we identify three major new characteristics that are needed to fulfill the demands of component-based software engineering today and hence-forth; namely, a) dynamic [re-] configuration based on business domain languages, b) component manners to manage collaboration and c) self-description that defines the context and abilities of a component that can be queried without violating encapsulation. We explore how Grammar-oriented Object design (GOOD), facilitates the creation of software enterprise component architectures that realize the three characteristics. |
| Rule Pattern Language 2001 : A Pattern Language for Adaptive Manners and Scalable Business Rule Design and Construction | Business Rules, Constraints, Policies and
Workflow and in general, the “manners” or
rules governing the behavior of objects and
components within object-oriented software
architectures need to be managed, designed
and implemented across the software development
life-cycle. With such farreaching influence
and impact on software development, it is
expected that the process of Rule Management
would be honed into a more disciplined set
of practices and methods that could be applied
uniformly across multiple projects. The expectation to achieve an engineering discipline through the distillation of the industry’s body of knowledge pertaining to the way rules are handled has been the motivation of workshops and harvesting of best-practices across multiple projects in various industries over the past six years. This has led to a continuous refinement and update of the Rule Pattern Language (RPL). In this paper, we provide and overview of the patterns and focus on Rule Object, Type Rule and Configurable Workflow as three representative patterns in greater detail. |
| Using Grammar-oriented Object Design (GOOD) to Seamlessly Map Business Models to Component-based Software | A collection of 24 slides interactively describing about Grammar-oriented Object Design and how it maps business models to Component Based Software Architechure. |
| Using Grammar-oriented Object design to Implement a Mail Registry Application | Suppose you want to write an application
(let's call it the Mail-Registry) in a typical
business organization. You have in-bound
and out-bound; internal and external letters.
All of the company's letters (both internal
and external letters) are first entered in
the Mail-Registry. These letters can be both
the internal letters or external letters.
The internal letters are those letters that have been produced in the company itself and the external letters are received from an external source (other companies, for example). In both cases, the operations that need to be done on each of these letters are similar. We will call the process of registering in-bound, out-bound letters (whether external or internal), a Mail-Registry. |
| Developing GOOD Business Frameworks | Framework for developing Grammar-oriented Object Design that contains step by step description of the development process. |
| GOOD: Meta-modeling and Grammar-Oriented Object Design. | Meta-modeling with grammars facilitates the creation of dynamically configurable and interacting software components which embody the highly volatile business rules of today’s fast-paced business systems. The dynamic aspects of pluggable business components can be modeled and realized through grammar-oriented object design. We employ the concepts of grammar-oriented object design, reuse-levels, valid object interaction sequences and “objects handling their own manners” to help create such meta-models. |
| A Domain-language Approach to Designing Dynamic Enterprise Component-based Architectures to Support Business Services. | In this paper we present the solutions to
a major subset of problems facing component-based
development and integration (CBDI). These
solutions include patterns, techniques, design
artifacts and activities across what we have
identified as the five domains of CBDI: namely,
organizational, methodological, architectural,
technology implementation and infrastructure.
We present a taxonomy of CBDI domains that transcend technology and tools, to cover a wider spectrum of business and methodology concerns across an enterprise. A representative example from the methodology and the architecture domains are given. Domain-specific languages are combined with the object paradigm to yield grammar-oriented object design (GOOD). GOOD helps identify and map reusable subsystems in a business model to a wellmannered component-first software architecture. We then demonstrate how these manners should be added as first-class constructs to the component-based paradigm of software engineering. |
| An Approach to Designing Adaptive Enterprise Component-based Architectures for Business Services. | In order to fully realize the potential of
component-based software engineering, the
multiple aspects and domains that should
be considered are discussed. We focus on
two of the domains, namely, the methodology
and architecture domains of component-based
development and integration (CBDI). For the
method domain, we examine some extensions
to that are needed to current methods such
as: Subsystem Analysis, Variation-oriented
Design and Grammar-oriented Object Design.
They are the key principles and techniques required to design and build enterprise-scale components that are seamlessly mapped onto business models in such a way as to enable the business logic of the resulting Enterprise Components to be adaptively changed to meet rapidly evolving business requirements and opportunities. The concept of the “manners” of reuse elements (e.g., subsystems and components) is exploited as a first-class construct to the component-engineering paradigm. |
| Using Grammar-Oriented Object Design to Seamlessly Map Business Models to Component-Based Software Architecture | Although current object-oriented analysis
and design methods and modeling languages
have each a rich set of semantics and syntax
to support the modeling of software systems,
their support for business modeling has been
more limited. In addition, there is no full
lifecycle support for the challenges posed
by componentbased development and integration
(CBDI). The transition and traceability from
business models to software component architectures
is by no means smooth. This paper explores extensions to current methods to fully support CBDI across the life cycle starting from business modeling and throughout the software development lifecycle. We propose Grammar-oriented Object Design (GOOD) as a method of identifying and mapping reusable subsystems in a business model to a well-mannered component-first software architecture. The latter architecture assumes the modeling and design process is based on an assembly-based paradigm of wiring prebuilt or customized components that have been designed for change and with the intent of repeated long-term reuse and customization. |