Systemic Issues of Software Confederations Jaroslav Král, Michal Žemlička Charles University, Prague

Slides:



Advertisements
Similar presentations
Common HL7 Interface Implementation Issues
Advertisements

Crucial Patterns in Service- Oriented Architecture Jaroslav Král, Michal Žemlička Charles University, Prague.
Object-Oriented Software Development CS 3331 Fall 2009.
CS3500 Software Engineering Legacy Systems (1) Legacy systems are software (and sometimes hardware) systems that have been developed sometime in the past.
The Engine Driving Business Management in Project Centric Environments MAGSOFT INTERNATIONAL LLC.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Stuart Sim Chief Architect Global Education & research Sun Client Solutions Blog:
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
RATIONALE FOR ERP SYSTEMS  One of the key reasons why managers have sought to proceed with difficult ERP projects is: to end the fragmentation of current.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Database Administration
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
1 CMSC 132: Object-Oriented Programming II Software Development III Department of Computer Science University of Maryland, College Park.
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
Introduction to Systems Analysis and Design
Requirements Specification and Software Engineering Properties of Service Oriented Systems Jaroslav Kral, Michal Zemlicka Department of Software Engineering.
VENDORS, CONSULTANTS AND USERS
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
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.
The Design Discipline.
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
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.
3- System modelling An architectural model presents an abstract view of the sub-systems making up a system May include major information flows between.
The Engine Driving Purchasing Management in Complex Environments MAGSOFT INTERNATIONAL LLC.
CSE 303 – Software Design and Architecture
MCS 270 Spring 2014 Object-Oriented Software Development.
Introduction To System Analysis and Design
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
CSE 308 Software Engineering Software Engineering Strategies.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Content The system development life cycle
Software Confederations An Architecture for Agile Development in the Large Jaroslav Král, Michal Žemlička, Michal Kopecký Charles University, Prague {Jaroslav.Kral.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Software Confederations and the Maintenance of Global Software Systems Jaroslav Král, Michal Žemlička Charles University, Prague
Software Architecture for Evolving Environment Jaroslav Král, Michal Žemlička Charles University, Prague
GRASP: Designing Objects with Responsibilities
Moving On To Design Chapter 9. Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
Catawba County Board of Commissioners Retreat June 11, 2007 It is a great time to be an innovator 2007 Technology Strategic Plan *
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.
Repurpose, Compose, Profit— Next Generation SOA Infrastructure William Cox Cox Software Architects LLC Copyright 2008.
Towards Rationales of Software Confederations Jaroslav Král, Michal Žemlička Department of Software engineering Faculty of Mathematics and Physics Charles.
Jabber Technical Overview Presenter: Ming-Wei Lin.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
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.
1 Acquisition Automation – Challenges and Pitfalls Breakout Session # E11 Name: Jim Hargrove and Allen Edgar Date: Tuesday, July 31, 2012 Time: 2:30 pm-3:45.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
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.
System Software Laboratory Databases and the Grid by Paul Watson University of Newcastle Grid Computing: Making the Global Infrastructure a Reality June.
Pragmatics 4 Hours.
Classifications of Software Requirements
Chapter 16 – Software Reuse
Chapter 1 (pages 4-9); Overview of SDLC
ARCH-1: Application Architecture made Simple
MORE ON ARCHITECTURES The main reasons for using an architecture are maintainability and performance. We want to structure the software into reasonably.
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Chapter 16 – Software Reuse
Introduction to SOA Part II: SOA in the enterprise
Presentation transcript:

Systemic Issues of Software Confederations Jaroslav Král, Michal Žemlička Charles University, Prague

Problem SW support of decentralized organizations like international enterprises and/or state or municipal administration. Some of the activities (probably all) are already supported by legacy systems. But these services are not integrated. They do not collaborate.

“Modern” Solution The first solution given by young and „predatory“ consultants is to build from scratch a wonderful big (and monolithic) object-oriented system with lots of new technologies. It is no feasible solution!!!

Monolithic Approach: Technical Issues Huge monoliths are very difficult to develop: the complexity of the development grows super linearly with size. -> In some cases the complexity is too high, such system are practically impossible to develop within budget, schedule and quality. They are hard to modify and maintain. They need stable requirements for several years of development, sometimes and for all its life-cycle.

Monolithic Approach: Unsolvable Crucial Systemic Issues Collaboration of independent/autonomous bodies (e.g. business partners). Collaboration of autonomous subunits. Support for decentralization.

Real Life Requirements Adaptability: react on the steady changing structure (divisions/offices can join and leave the whole). Robustness. Low education costs. Security. Feasibility.

Adaptability Requirements Possibility to adapt the system in a seamless way to changes in the structure of an enterprise/organization (i.e. when e.g. a division is sold or purchased). Possibility to add new features. Support of varying set of clients (business partners, clients, citizens, institutions, etc.)

Robustness Breakdown of any component should not force breakdowns of other components. If an application component is not down, its services should be available at least for its local users.

Solution: Software Confederation The system is composed from autonomous components (often standalone applications providing some services) forming a peer-to- peer network. The system should behave from outer view like one whole – it should have one common interface.

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

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

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 an application component (via its basic gate) 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.

Component And Its Gates Front-end gate Basic gate Kernel Front-end gate LCLC LCLC L1L1 L2L2 Autonomous component Other components

Structure of SWC (3) UI FEG G G

Types of Autonomous Components Application components – provide main functionality of the system. Front-end gate components – enhance the middleware services. User interface – hides the internal structure of the confederation.

Domain Oriented Interface If the interface is problem domain oriented (instead of implementation oriented as it is now rather common), it is usually possible to do changes in the implementation of the components without any need to update the components communicating with it. It is often true even if the component is replaced by an another one (provided by an another vendor)

Confederation: Systemic Issue Confederative architecture supports: –Organizational structures of (large) enterprises –Enterprise integration/fusion/coalition-decentralization –Multiple message formats –Integration of third party products and newly developed components –New programming techniques used in the development of real time systems or based on properly coded knowledge on the properties of components

Conclusions Problem of integration of several legacy or third party systems or also newly written applications is substantially simplified in software confederations: the autonomous components can provide their services and can use services of the other applications using front-end gates and wrappers. The interface should be and can be problem domain oriented

Conclusion (2) SWC offers a great flexibility hence support the flexibility of enterprise structure. It is the main step towards making software a good engineering product.