Possibilities of component-based software development in statistics

advertisement
Possibilities of component-based software development in
statistics production
Juha Kuosmanen
Statistics Finland, Information Technology Services
Työpajakatu 13, FIN-00022 Statistics Finland
juha.kuosmanen@stat.fi
1. Introduction to components and component-based software development (CBD)
This paper describes some of the ideas that Statistics Finland has been researching in the field
of component technology in order to improve the quality of statististical services.
The information society around us is evolving fast. Virtual corporations operate globally, 24
hours a day, seven days a week. Information is a commodity that needs to be available at anytime,
anywhere. From the technology perspective, this means more efficient methods for data collecting,
processing and dissemination. So how do we adapt to these new requirements and still build robust
and flexible statistical systems economically? We should be able to re-use elements (i.e. documents,
designs, source code) created in previous projects. One way to recycle these elements is to package
them as components. Components can then be viewed as assets and resources allocated for the
building and maintaining of statistical systems.
A Component can be defined as a package which can include executables, interface
specifications, source code, designs, models, and test cases, and must be self-contained to be
delivered independently (Vayda 1999). Components can also be seen as a design paradigm. The
major difference with object design is that components have fewer dependencies and provide better
support for re-use since they support a higher level of abstraction, such as workflows. At its most
basic level, CBD can be defined as the process of building applications from re-usable parts. ”With
pluggable software, the idea is that you can combine components in different ways to make
different software products - in the same way that hardware designers can make many products
from a kit of chips and boards.”(D'Souza, Wills 1999) The benefits of CBD approach are well
known and can be found in several publications. Butler Group observed in October 1997 that the
emergence of CBD is one of the most important events in the evolution of information technology.
2. Statistics production and CBD
Learning CBD can be approached from either technological or conceptual viewpoint. The
former option encourages the building of low level components, such as simple database access or
GUI components, first. The latter option encourages the building of collaborative collections of
(statistical) components immediately. This is a more ambitious and fruitful approach (Laitkorpi,
Jaaksi 1998). The focus of system design should gradually shift from application development to
the enhancement and maintenance of common business models. We should try to close the semantic
gap between the real world, design components and runtime components. More straightforward
approach of using just component-based programming will not deliver the same benefits as
understanding the business as components and establishing a common set that can be used across
the organisation (Butler Group 1998). Statistical systems should be created from human-centric, not
technology-centric, designs.
Business Frameworks and Patterns: General production models and patterns for statistics
production. Component Frameworks and Patterns: Component models and patterns for statistics
production. Repository: Datastore for re-usable components. Business processes: Operational
models for statistics production. Software process: Development process for producing operational
statistical information systems.
Business Frameworks and Patterns
Repository
Component Frameworks and Patterns
Business Processes
Software Process
)LJXUH&RPSRQHQWEDVHGGHYHORSPHQWPRGHOIRUVWDWLVWLFVSURGXFWLRQ
Within our business framework we should try to formalise our basic processes for statistics
production. If this is done properly we can derive our business components straight from these
models. The first versions of actual software components can then be produced within regular
application development projects. It is important that a business component should reflect directly
the characteristics and abilities (i.e. the information and behavior) of the business concept it
represents. This way components create stability to system design since any changes in business
logic or requirements reflect only on the corresponding component. We can now categorize our
components as engineering components (i.e. gui, database, communication), entity-centric business
components(i.e. enterprise, citizen) and process-centric business components (i.e. edit, validate).
Report in Win32-client
Questionary in browser
User Interface Layer /
Engineering Components
Editing
Business Logic Layer /
Business Components
Validation
Data Access Layer /
Engineering Components
RDBMS
Text file
Enterprise
)LJXUH/RJLFDOWLHUFRPSRQHQWDUFKLWHFWXUHRIDQLQIRUPDWLRQV\VWHP
This is also helpful because developers can now be assigned on skills bases to individual
components as opposed to the whole application. It is also possible to use different development
environments/languages for different components. Computing-intensive parts can be developed
with different tools (i.e. SAS, C++) than representation-intensive parts (i.e. PowerBuilder, Visual
Basic, Java). With this kind of approach conventional program modules (i.e. legacy systems) can
also be considered as components. The common denominator is the concept of interface that should
be applied to the conventional program modules as well.
REFERENCES:
Butler Group (1998). Component-Based Development - Application Delivery and Integration
Using Componentised Software. United Kingdom.
D’Souza D.F. and Wills A.C. (1999). Objects, Components, and Frameworks with UML.
Laitkorpi M. and Jaaksi A. (1998). Extending the Object-Oriented Software Process with
Component-Oriented Design.
Vayda T. (1999). Organizing for Components – Managing risk and maximizing reuse. Component
Strategies Online (http://www.componentmag.com).
RÉSUMÉ
Cet article présente quelques idées recherchées par Statistique Finlande sur la domaine de la
technologie du composant pour améliorer la qualité des services statistiques.
Download