Académique Documents
Professionnel Documents
Culture Documents
June S. Park
Abstract
This paper discusses current issues and future evolution of the software engineering
methods that are useful to create and maintain operations support systems (OSSs) in
regarded as revolutionizing the software industry. The purpose of this paper is to enhance
correct understanding of the advantages of CBD over existing methods when it is applied
1. Introduction
stay ahead of its competitors for the long term. Such business transformations usually
1
However, building information systems from scratch has been too slow, expensive
and risky. Many companies purchased enterprise application packages to avoid the delay
and risk associated with the custom-build approach. Those packages, however, often do
not meet specific needs of individual companies, especially in areas where the company
seeks to gain competitive advantage. Companies must find ways to take advantages of
both off-the-shelf packaged solutions and in-house (or outsourced) custom development.
The shift towards object-oriented programming (using C++, Smalltalk and Java)
has been advocated as a solution to resolve the problems inherent in the traditional
with which businesses can significantly improve the development cycle time, cost and
quality of mission-critical OSSs. We discuss the architecture of OSS in the next section,
Section 4 we examine critical issues facing businesses today with respect to developing
methods in Sections 5 through 8, and show how these methods can solve the current
problems. Examples of MBD and CBD are shown in Sections 6 and 8, respectively, using
the integrated CASE tool called Cool:Gen. Section 9 contains some concluding remarks.
2. OSS Architecture
systems, decision support systems and operations support systems in line with the concept
2
of management hierarchy [1]. The OSS processes mission-critical business operations
according to pre-defined business rules. In so doing it typically read, create, update and
delete individual records in corporate databases. Examples include sales order processing,
reservations, etc.
Figure 1 shows a typical three-layer architecture of OSS [17]. The three layers are
user interface, business rules, and database layers. OSSs are generally big and complex, so
it is hard to imagine to develop the system without an engineering approach where the
requirement analysis and the system design precede the system construction. The
specifications of requirements and design are called conceptual and logical models,
respectively. The output of construction such as windows, source code and database tables
User Interface User Tasks, Work Forms, Form Flow Windows, Dialog Boxes,
Flow Screens, 3GL Code
Business Rules Business Functions, Processes, Process SQL DML, 3GL Code
Rules Flow
3
3. OSS Infrastructure
progress overall, the underlying technical infrastructure has undergone dramatic changes
Network-
Centric
Computing
Client/Server Computing
Online Computing
Batch Computing
With the advance in technologies for PCs, LANs, network servers, network
operating systems, relational databases and communication middleware during 1980s, the
client/server computing became a technically and economically viable option for OSSs
except for very large-scale transaction processing systems (with a workload of thousands
architecture has become the choice of computing architecture for workgroup OSSs. The
migration of an OSS from a mainframe to a network of PCs and servers, however, requires
a major rewriting of the software. The complexity, risk and cost of this rewriting have
4
been the main reason for many companies to buy client/server-targeted application
packages.
With the explosive growth of the Internet use by the public and businesses since
mid 1990s, many companies have begun to exploit the benefit of intranet, electronic
systems require far enhanced interoperability among software modules written in different
architecture has very thin clients, with the majority of business rules and the database
implemented server-side and any client-side behavior downloaded on demand. The thin
client model is also enabling experimentation with network PCs (NPCs), diskless machine
that boot from and load all software from the network.
applications further from the core applications required to run the heart of a business (like
accounting and financial control) to those which interact directly with people outside the
business boundaries (like customer loyalty programs and the supply chain management).
The rapid development of intranet, extranet and electronic commerce is fueling the
through server-side applications made of Java components. The bank hopes to provide
5
The reality of OSSs in many large corporations today, however, is the coexistence
with Window- or Web-based clients, and a growing number of electronic commerce and
new information system, but the system suffered from problems, which left the company
unable to send out monthly bills to thousands of customer accounts and rendered it
incapable of tracking payments to hundreds of doctors and hospitals. In less than a year,
uncollected payments reached $400 million, while the sum the company owed care givers
exceeded $650 million [18]. The CEO resigned and the company was taken over by a
Due to such risk of the custom-build approach, many companies turned to buying
business software packages ready to install. According to a survey by Sentry Group [26],
the portion of in-house built information systems decreased from 71% to 43% during the
1991-95 period. On the other hand, sales of R/3, an enterprise application package
1992 to $1.5 billion in 1995. The ‘best practice’ operations built into the logic of
often do not meet specific needs of individual companies, especially in areas where a
6
involves an army of consultants to help customization, which can cost three to five times
the software price tag [3]. Still worse, customized features are often not supported by the
package vendor and not incorporated into future versions of the package.
solutions (‘buy’ options) and in-house custom development (‘build’ options). Off-the-
shelf packages can lower the software cost tremendously for individual companies if the
package can meet the requirements of a large number of companies. It is this cost
effectiveness that motivated the U.S. federal government’s recent shift in its software
acquisition policy toward the greater use of existing commercial off-the-shelf (COTS)
products [5]. Therefore, the question boils down to how we make off-the-shelf packages:
easy to assemble together even if they are from different vendors – interoperability
The shift towards object-oriented programming (using C++, Smalltalk and Java)
has been advocated as a solution to resolve the problems inherent in the traditional
development cycle time and budget, and improve the quality of software by reusing pre-
programming has not been widely adopted by businesses, especially in building enterprise
OSSs. The contribution of OO programming to OSSs has been by and large limited to the
development of graphical user interface (GUI). Major reasons for the lack of wide
7
lack of interoperability among OO programs written in different languages, and
languages
difficulty of inventorying, tracking and searching objects for reuse under the large
volume of objects
immaturity of OO analysis and design methodologies and tools that can facilitate the
decomposition of complex business services and rules into a required set of classes,
Companies today must achieve the following objectives when developing OSSs for
ensure that information systems are developed in conformance with business strategies
– strategy-compatibility
create new applications and update existing applications quickly enough to effectively
easily integrate workgroup applications with business rules and databases maintained
8
forge links between packaged software, new applications built in-house, and legacy
systems – interoperability.
In this section we show how MBD can help businesses meet most of the above
create conceptual and logical models, and then a computer-aided software engineering
In 1988, a special report in Business Week [7] argued that CASE was the only
solution to the software crisis in businesses. The greatest benefit of CASE tools today lies
in their capability of automatically generating computer program codes. Over the last
decade the code generation technology has been greatly advanced. Using a CASE tool like
Sterling’s Cool:Gen [20], one can generate thousands of lines of C or COBOL code per
second based on the analysis and design models. Moreover, the generated codes are free
of syntactic errors, although logical errors may exist due to misspecified models.
Equally beneficial is that using a CASE, one can reuse models to generate
executables for different applications and for different target environments (i.e., different
client/server systems with fat or thin clients, and network-centric computing systems (see
Figure 2).
9
Using the code generation capability of a CASE, businesses can greatly improve
All the artifacts created in the OSS development process (such as models, source
codes, executables, etc.) are stored in the CASE repository. Models in the repository
developed for enterprise OSSs can serve as the basis for developing workgroup OSSs.
Workgroup applications already built using visual programming tools (such as Visual
applications using the object embedding and linking (OLE) technology. Hence improved
scalability, allowing an easy growth of small applications into more serious applications.
Integrated CASE tools (I-CASEs), which support the entire life cycle of OSS
Designer/2000 and SEER’s SEER*HPS and SEER/7000. There are other types of
4GLs, package-oriented 4GLs, analysis tools (a.k.a. upper CASE), visual programming
tools and Web development tools—that can improve the development productivity and
software quality for OSSs (see [8] for a survey of commercial tools in different categories).
Recent trends in the ADT industry include vertical integration; that is, vendors try
to provide the support for the full life-cycle from planning/analysis to code generation by
expanding their product capability, or by making their tools interoperable with other tools
The Object Management Group’s (OMG) recent adoption of Unified Modeling Language
10
(UML) [23] as the standard object-oriented analysis/design method will help accelerate the
development tools, the boundary between workgroup-level tools and enterprise-level tools,
and that between host/terminal, client/server and network-centric tools are becoming
blurred. For example, Microsoft recently partnered with Rational to develop ‘Rose for
Visual Basic’, a UML-based CASE tool for developing business applications using Visual
Basic. Rose for Visual Basic represents one of Microsoft’s recent efforts to extend its
building an OSS using Cool:Gen are shown in Figure 3 [11]. The tasks can be divided into
shown in white boxes and the latter in gray boxes. The tasks can be further classified
Human-performed tasks
Developers may perform information strategy planning (ISP) [14] first. They should
conduct user requirement analysis and design modeling [15, 16] including:
Forms: design of the layout of windows and dialog boxes (or block-mode screens
11
Form flow: specification of the flow of control among windows and dialog boxes
that should reflect the user’s work flow [Dialog Flow Diagram, Navigation
Diagram]
of which has defined input, output, database access/maintenance activities, and the
Process flow: specification of the flow of control among elementary processes, and
Define Logical Data Model Transform Logical Model into Physical Model Produce DDL
Data Structure List Data Store List
Data Model
Diagram Environment
Data Definition
Data Model
Browser
Define Data Code
Data Model Maintenance Logic Generation
List
Action Diagram
Define Business
Activities Produce Executable Code
Define Client & Server with Embedded SQL
Procedural Logic
Logic Activity Hierarchy Environment Code
Diagram Definition Generation
Action Diagram
The
Application
Produce User Help
Design User Interface Produce Executable Code
Navigation Window Design Environment Code
Presentation Diagram Definition Generation
Diagram
Establish Comms
Environment
Client Manager
Communications
12
Figure 3. Tasks involved in developing an OSS using CASE tool Cool:Gen
Database modeling
Data model: decomposition of information subjects into entity types [Subject Area
CASE-performed tasks
client operating system (OS), server OS, database management system (DBMS), and
Mapping of the data model to the database schema (table definitions and integrity
constraints) and the storage schema (indexes and storage allocation); generation of
SQL data definition language (DDL) script; creation of the database using the DDL
script
Code generation for elementary processes with embedded SQL (i.e., embedded data
13
OSS developers can perform ISP and develop user interface, logic and data models
using various graphical notation and diagramming methodologies (which are listed above
in brackets). The ISP can be performed using the same notation and methodologies that
are used in user requirement modeling, thus enabling a smooth transition from the strategy
plan to the requirement specification, and helping ensure that the OSS is developed
Procedural algorithms for elementary processes, and client and server procedures
are specified using a proprietary 4GL. The 4GL program (which is called action diagram
although it is in textual language and not graphical) can use only those objects defined in
analysis and design models as operands in the program statements. Thus, all algorithms
are specified at the logical level. The action diagram can be written using only the syntax-
directed editor provided by the CASE tool. The editor is intelligent enough to understand
the user-developed analysis and design models, and provides a limited set of context-
sensitive options for programming constructs and operands, as the developer builds each
they are written in a different 3GL from the language chosen for the Cool:Gen-generated
application, can be linked into the Cool:Gen-generated load modules. Also, OLE-
compatible GUI objects developed outside the Cool:Gen environment can be placed in
If a change is required of the OSS later, developers can modify only the models
(including action diagrams) and regenerate the application using the code generation
14
the application with changed target-environment parameters without having to change the
models.
With the CBD approach, software is constructed more like manufactured objects,
where assemblies of increasing complexity are built with collections of reusable, pre-tested
different platforms. Also, forging links between packaged software, new applications built
in-house, and legacy systems through enhanced interoperability is one of the most
technology addresses these needs for improving interoperability. As will be shown in this
section, MBD and CBD are not competing, but complementary methodologies—MBD is
through interfaces. Components interoperate with each other through interfaces. A legacy
15
A component may provide multiple interfaces and an interface can be implemented by
multiple components.
The component technology separates the specification (i.e., the interface definition)
language and platform used by the client program. Therefore, designers gain the freedom
of changing the implementation technology for a component without affecting the rest of
the system.
Object-oriented – A component is packaged with both data and services, and has
public and private parts (encapsulation). The same interface may be supported by
plus language independence and distribution transparency, components can overcome the
16
Most component technologies such as COM, Corba and Java Beans have evolved from
OO languages such as Cobol and C. OO and non-OO components can all interoperate.
Ease of access and maintenance of databases, secure and fast transaction processing are
Other component technologies such as COM are evolving to provide the transaction
that it can leverage the Windows API using Visual Basic on the client side and still enjoy
cross-platform portability of server applications using Java on the server side. For instance,
Microsoft Interface Definition Language (MIDL) can be used to componentize both Visual
Basic clients and Java objects [9]. Objects are easy to implement, but difficult to use due
to inheritance. Inheritance could also be inefficient at run time. Components are difficult
to implement (at least for now), but easy to use. They are independently deliverable, and
17
international bodies formalizing standards for component interfaces. At present there are
several de facto standards such as Sterling’s (originally Texas Instruments’) CBD [19]
(which is called TI/CBD in this paper to distinguish it from the general term CBD),
Microsoft’s Component Object Model (COM) and Distributed COM (DCOM) [22],
OMG’s Common Object Request Broker Architecture (CORBA), Sun’s Java Beans, and
There are pairs of de facto component standards that have been made compatible
with each other. For example, COM-based ActiveX can be placed in SOM-based
OpenDoc documents; a COM proxy can be easily constructed using Cool:Gen to allow
any COM-based client to access TI/CBD-based server components; various efforts are
under way to build a standard bridge between COM and CORBA. COM and TI/CBD
currently enjoy the largest share in fine-grained and large-grained component markets,
respectively.
Components vary widely in size, scope and complexity: e.g., GUI controls, inter-
wide range of applications. They, however, are closer to the code and operate at a lower
grained components.
18
components in source or executable formats without logical models. They are difficult for
consumers to customize. For client-side components such as GUI controls, the absence of
However, because of their size and specificity, their potential for reuse is low, which is
components that provide key business functions, customers may well want white-box
Components that are delivered including logical models are called white-box
Consumers can modify the models using the same CASE tool and regenerate the
component using the CASE code generation facility, if the component needs customization
therefore, can find reuse across many companies and can be flexibly adapted to continually
The real power of CBD comes from large-scale integration using hierarchies of
focused on CBD can be an effective means to that end. Even with components, there is no
substitute for the model-based software engineering process, especially when one develops
an enterprise OSS.
19
ADT vendors traditionally considered to be players in the workgroup space (such
as IBM, Microsoft and Oracle) are trying to leverage a component-based approach that
will compete with enterprise-level ADT vendors like Sterling and Forte. For example,
Microsoft and Rational are strategically aligned to combine Rational’s analysis and design
expertise into future versions of Microsoft’s enterprise development tools, producing life
cycle tools that will seamlessly integrate with Visual Basic, Visual C++ and Visual J++
based on COM technology. Rational’s CASE tool, Rose, on the other hand, is being
modeling facility, an inventory of pre-built component models and templates, and the
Even the package vendors began to unbundle their products into components to
permit greater reusability and customization, thereby better competing in the coming new
Business Components)
Reusability
20
generation of software industry. For example, SAP’s R/3 4.0 includes SAP components
examining components. They can not only visualize a component’s specification, but can
support for version control, dependency tracking, impact analysis and other necessary
to be the first de facto standard for integrating components from different vendors. The
standard format. The UML information model includes class models, component models,
Visual component management tools are being developed by many ADT vendors
These tools may provide the design- and run-time utilities developers need to locate, query,
For example, Select Software Tools’ Select Component Manager provides management of
21
(ADE) project at Andersen Consulting Center for Strategic Technology Research, and
Stanford University Computer Science Department are a few examples of the effort to
In this section, we show how large-grained, white-box components can be built and
published using the TI/CBD approach. Large-grained business components are identified
during the information strategy planning or the requirement analysis phase using such
the decomposition of information subjects in parallel so that the mapping between the
functions/processes and subject areas/entity types are clearly established. At the bottom
level of the decomposition one can find, for each elementary process, which entity types it
interacts with and what actions (among create, delete, update and read) it performs on each
entity type. At a higher level one can see which entity clusters or subject areas are
The clustering analysis applies the bond energy algorithm (BEA) [6] to the
elementary process vs. entity type matrix. Cells in this matrix contain an affinity measure
between each pair of elementary process and entity type. The BEA produces clusters of
closely related elementary processes and entity types along the diagonal of the matrix.
Each cluster found is considered a candidate for an encapsulated business object, i.e., a
22
business functions and their required data, delivering an independent and coherent set of
business services.
Interface Specification – describes what the component does and how a client can use
it. It includes a type model and a list of public operations. The type model is given by
the data model corresponding to a subject area. The public operations are declared by
the set of names, parameters, pre- and post-conditions of action diagrams. As such,
the interface specification is defined strictly in analysis terms (see Figure 3).
action diagrams, database schema, user interface design models, etc. (see Figure 3).
is, that makes the component a white-box component; viz., the executable can be
regenerated for different platforms and easily modified as the need arises by changing
Executable – includes a library of binary object modules and the database DDL for a
specific target environment (see Figure 3). The executable may be provided instead of
the implementation design in the component delivery, in which case the consumer
receives a block-box component. Having witnessed the success of companies like SAP
For components developed internally, the ability to distribute them without source
23
might actually be an advantage—it ensures that the business rules enforced by the
8. Conclusion
As discussed in this paper, the CBD trend is driven not only by the need for
building applications quicker by reusing prefabricated software objects, but also by the
Java and ActiveX. The component technology is fast evolving to support the automatic
code download to clients and to provide scalable, robust server functions enabling secure
and recoverable transaction processing, all based on the Object Request Brokers (ORB)
run-time architecture.
However, the component technology is still in its infant. COM/DCOM, being the
most widely deployed component technology at present, is still far from perfect in its
details. For example, language MIDL it uses for defining interfaces of components is yet
confusing and difficult to use. Fine-grained components require system software supports
in order to deliver complete business services, but the necessary supports are not yet
mature.
communication across the network (including LAN, WAN and Internet), dynamic
control, transaction recovery, load balancing, etc. Microsoft Transaction Server (a.k.a.
Viper) for NT is evolving to meet these requirements, but its performance in handling
24
Model-based, large-grained white-box components provide better performance for
who have incorporated CBD methods in their application development process are
currently better poised to lead the CBD drive for enterprise OSSs.
components to take advantages of both. The productivity gain from using the MBD
components in the user interface and technical infrastructure areas can be combined to
maximize the benefit of CBD approach. As shown in Figure 5, MBD can contribute to
componentizing legacy systems. The CBD can be used to glue together legacy systems,
When all the necessary support technologies are advanced enough so as to build
provide services to retrieve and manipulate data and which can be quickly selected and
arranged to match the work flow of a particular business process, instead of regarding each
bunch of object or non-object code into a component, and move this component to
different processes and machines at our whim. As shown in Figure 6, components at user
interface, business logic and database access/maintenance layers will exist independently
25
frequently created and reengineered business processes. Components at each layer can be
language, operating system, hardware platform, etc.) can be flexibly changed to exploit
emerging better technologies without affecting other components or applications. Even the
on the open market to developers. According to Gartner Group [21], by 2001, at least 60%
models, templates and component sales will grow to in excess of $2 billion in software and
26
Business Business
Requirements Solution
Application
Development
<MBD> Play
Packages Applications
Buy
<MBD>
Customize Plug
<MBD> Component
Templates Development
<MBD> Mine <MBD>
Reusable Components
Buy
Components
<MBD> Reverse
Engineering
<MBD>
Legacy
Interfaces
Systems Wrap
<MBD> Deployment
Sources Acquisition Processes Deliverables Processes
27
User Interface Layer
Appreciation
Letter
Order Entry
Customer Account
Maintenance Inquiry
Database Layer
Create Create Update Read Create
Order Customer Customer Product Bill
Read
Customer DBMS Components and Read Bill
Stored Database
28
Reference
[1] R. N. Anthony, Planning and Control Systems: A Framework for Analysis, Harvard
[3] G. Edmonson, S. Baker and A. Cortese, “Silicon Valley on the Rhine,” Business
[4] S. Jackson, “Not Everything Oxford Did Needs Repair,” Business Week, March 9,
1998, 38.
[6] W.T. McCormick, Jr., P.J. Schweitzer and T.W. White, “Problem Decomposition and
993-1009.
[7] O. Port, J.W. Verity, A.R. Field, S.M. Gelford and K.H. Hammonds, “The Software
[9] R. Sessions, COM and DCOM: Microsoft’s Vision for Distributed Objects, John
[10] K. Short, “Component Based Development and Object Modeling”, Sterling Software,
29
[12] Texas Instruments, The CBDS96 Standards, 1996
[17] D. Vaskevitch, Client/Server Strategies, IDG Books Worldwide, Foster City, Calif.,
1995.
[18] R. Winslow and G. Anders, “How New Technology Was Oxford’s Nemesis,” The
[19] http://www.cool.sterling.com/cbd/
[20] http://www.cool.sterling.com/products/gen/
[21] http://gartner11.gartnerweb.com/public/static/home/home.html
[22] http://www.microsoft.com/cominfo/
[23] http://www.rational.com/uml/
[24] http://www.sap.com/bfw/
[25] http://www.selectst.com/component/nrg.htm
[26] http://www.sentrytech.com/smartjmp.htm
30