1 / 20

Systemic Issues of Software Confederations

Systemic Issues of Software Confederations. Jaroslav Král, Michal Žemlička Charles University, Prague {kral,zemlicka}@ksi.mff.cuni.cz. Problem. SW support of decentralized organizations like international enterprises and/or state or municipal administration.

Download Presentation

Systemic Issues of Software Confederations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systemic Issues of Software Confederations Jaroslav Král, Michal Žemlička Charles University, Prague {kral,zemlicka}@ksi.mff.cuni.cz

  2. 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.

  3. “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!!!

  4. 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 developwithin 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.

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

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

  7. 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.)

  8. 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.

  9. 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.

  10. 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

  11. Structure of SWCThe user interface is transparent G UI G User interface UI should be an autonomous component G G – (basic) gate

  12. 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

  13. 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.

  14. Component And Its Gates L1 Front-end gate LC Basic gate Kernel Other components Autonomous component L2 Front-end gate LC

  15. Structure of SWC (3) FEG G UI FEG G

  16. 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.

  17. 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)

  18. 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

  19. Conclusions • Problem of integration of several legacy or third party systems or also newly written applications is substantially simplified in software confederations: the autonomous componentscan 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

  20. 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.

More Related