Software Confederations and the Maintenance of Global Software Systems Jaroslav Král, Michal Žemlička Charles University, Prague

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

Crucial Patterns in Service- Oriented Architecture Jaroslav Král, Michal Žemlička Charles University, Prague.
Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
CS3500 Software Engineering Legacy Systems (1) Legacy systems are software (and sometimes hardware) systems that have been developed sometime in the past.
Alternate Software Development Methodologies
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Introduction To System Analysis and Design
Object-Oriented Metrics. Characteristics of OO ● Localization ● Encapsulation ● Information hiding ● Inheritence ● Object abstraction.
SWE Introduction to Software Engineering
Database Administration
Chapter 8 Object Design Reuse and Patterns. Finding Objects The hardest problems in object-oriented system development are: –Identifying objects –Decomposing.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen-Bolzano Lesson 1 – Component-Based.
Introduction to Systems Analysis and Design
Requirements Specification and Software Engineering Properties of Service Oriented Systems Jaroslav Kral, Michal Zemlicka Department of Software Engineering.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
Merlin ITEA Symposium Merlin Overview2 Problem domain Companies hardly develop embedded products completely on their own Embedded systems need.
Database Administration Chapter 16. Need for Databases  Data is used by different people, in different departments, for different reasons  Interpretation.
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
The chapter will address the following questions:
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
T. E. Potok - University of Tennessee Software Engineering Dr. Thomas E. Potok Adjunct Professor UT Research Staff Member ORNL.
WP6: Grid Authorization Service Review meeting in Berlin, March 8 th 2004 Marcin Adamski Michał Chmielewski Sergiusz Fonrobert Jarek Nabrzyski Tomasz Nowocień.
Systemic Issues of Software Confederations Jaroslav Král, Michal Žemlička Charles University, Prague
Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics.
Enviroinfo Service orientation in environmental information systems (EnIS) Jaroslav Král, Michal Žemlička Charles University, Prague Faculty Mathematics.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Distributed Systems 1 CS- 492 Distributed system & Parallel Processing Sunday: 2/4/1435 (8 – 11 ) Lecture (1) Introduction to distributed system and models.
CSE 303 – Software Design and Architecture
Framework Universal & Infinite Software Solution.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Introduction To System Analysis and Design
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Software Confederations An Architecture for Agile Development in the Large Jaroslav Král, Michal Žemlička, Michal Kopecký Charles University, Prague {Jaroslav.Kral.
A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 Chapter 1. Distributed systems: Definitions, design.
Common Set of Tools for Assimilation of Data COSTA Data Assimilation Summer School, Sibiu, 6 th August 2009 COSTA An Introduction Nils van Velzen
Software Architecture for Evolving Environment Jaroslav Král, Michal Žemlička Charles University, Prague
GRASP: Designing Objects with Responsibilities
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Design Patterns -- Omkar. Introduction  When do we use design patterns  Uses of design patterns  Classification of design patterns  Creational design.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Database Administration
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Towards Rationales of Software Confederations Jaroslav Král, Michal Žemlička Department of Software engineering Faculty of Mathematics and Physics Charles.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Getting Ready for STEVE Mapping Tools for STEVE William R. Bolton, Jr. State Registrar and Director Division of Vital Records Administration New Hampshire.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Week 7 Lecture Part 2 Introduction to Database Administration Samuel S. ConnSamuel S. Conn, Asst Professor.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
CASE (Computer-Aided Software Engineering) Tools
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
A service Oriented Architecture & Web Service Technology.
A Method for Improving Code Reuse System Prasanthi.S.
Object Oriented Systems Design
Integrating HA Legacy Products into OpenSAF based system
Tools of Software Development
Chapter 1 (pages 4-9); Overview of SDLC
Why Object-oriented Programming?
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Systems Development Jerry Post Copyright © 1997
Introduction Software maintenance:
From Use Cases to Implementation
Presentation transcript:

Software Confederations and the Maintenance of Global Software Systems Jaroslav Král, Michal Žemlička Charles University, Prague

Large Organizations (LO) Examples: –International enterprises –State and municipal administrative Features: –Autonomous subunits with autonomous IS –Lots of different activities –Possible reorganizations –Distributed over large area –Changing set of partners (business partners, state authorities)

What is Software Confederation (SWC) Peer-to-peer network of independent cooperating applications (autonomous components) The only feasible solution for implementation of information systems of large organizations A powerful but not completely new software paradigm Powered by the progress of information technology

Software Engineering Advantages of Software Confederations Robust Easy to maintain (modify, enhance) Composed from rather autonomous parts from various sources Open Good for incremental development Support specific development techniques

Autonomous Components From system point of view peers (permanently active processes – applications) providing some permanent service(s) Can be developed or provided by third parties Can be legacy systems Tend to have complex interfaces based on rather complex problem-oriented messages/commands

Straightforward Structure of SWC Not satisfactory, user must know the structure of SWC G G G G – primary component gate

Structure of SWC (2) The user interface is transparent UI G G G User interface UI should be an autonomous component

Implementation Dependency of Gates If a gate G provides the full functionality of its component C, G must disclose at least the implementation philosophy if not implementation details (OO one or SQL oriented one) of C. Consequence: If the implementation philosophy of C is changed all the components communicating with C (partners) must be modified. But the set of partners can vary and unknown new partners can occur. Consequence: The modification of partners is a very difficult (if not unsolvable) task

Front-End Gates (FEG) Make an alternate access to the assigned application component May hide the implementation details and philosophy of given component Serve also as a wrapper to legacy or third party systems They must be message transducers  they can be based on the same tools and paradigms as UI. They can redirect messages, so they serve as Communication switches.

Structure of SWC (3) UI FEG G G

Autonomous Components Application Components (ApC) “Black boxes” Autonomous, partially independent May be also information systems; sometimes even software confederations Process messages/commands Communication Switch Components (CSwC) “White boxes” Easily configurable Cooperate with one or more ApC’s Translate messages/commands to another set of messages/commands

Opportunities for Maintenance Effort Reduction Reduction of the size of the newly written code –Making it smaller –Reuse or purchasing of the existing code (application, components, libraries, etc.) –Making most useful things first Simplifying of the newly written code –Software prototyping (also new techniques enabled by SWC’s) –Coarse grain decomposition

Reduction of the Size of the Newly Written Code Incremental development may lead to the smaller result – during the development process some of the functions may be recognized as useless

Reusing and Purchasing Existing software can often be integrated (and the staff is already familiar with it) Third party SW can be integrated quite easily (in many situations there already is some SW solving the problem)

Software Prototyping Allows to find the mistakes in the requirements specification faster – it is easier to rewrite a prototype than a full-featured application In SWC there is an opportunity to make new prototypes easier –Redirecting messages to a simulator –Using programmable user interfaces (CSS, XSLT)

Monitoring of Message Traffic Communication switches can: –Redirect the messages –Filter the messages –On request also store the messages with some system data into a db (log) for a later analysis Specific terms can be used for real-time SW (simulation with simulation time containing intervals of real time)

Domain Oriented Interface If the interface is problem domain oriented (instead of implementation oriented as it is now rather common), it is possible to make changes in the implementation of the components (also to exchange or update them) without the need to update all cooperating components.

SWC and Maintenance Confederations seem to be the only feasible solution for large and/or complex information systems for large organizations: –They allow to reduce substantially the maintenance effort and cost –The component maintenance activities tend to be local, i.e. the responsibility is let on the people having the best knowledge of the component