Towards Rationales of Software Confederations Jaroslav Král, Michal Žemlička Department of Software engineering Faculty of Mathematics and Physics Charles.

Slides:



Advertisements
Similar presentations
Usage of the memoQ web service API by LSP – a case study
Advertisements

Systems Investigation and Analysis
Crucial Patterns in Service- Oriented Architecture Jaroslav Král, Michal Žemlička Charles University, Prague.
Database Architectures and the Web
User Driven Modelling and Systematic Interaction for End-User Programming Modelling for Engineering Processes Peter Hale UWE.
Software Project Management
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.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
1 Chapter 7 IT Infrastructures Business-Driven Technology
Ch 12 Distributed Systems Architectures
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Introduction to Systems Analysis and Design
Course Instructor: Aisha Azeem
Requirements Specification and Software Engineering Properties of Service Oriented Systems Jaroslav Kral, Michal Zemlicka Department of Software Engineering.
Introduction to Computer Technology
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
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.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
Introduction to Systems Analysis and Design Trisha Cummings.
Introduction To System Analysis and design
Systemic Issues of Software Confederations Jaroslav Král, Michal Žemlička Charles University, Prague
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
CSI315 Web Applications and Technology Overview of Systems Development (342)
Laudon & Laudon: Canadian Edition
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
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.
Architecture Business Cycle
Chapter 6 : Software Metrics
1 Chapter 9 Database Design. 2 2 In this chapter, you will learn: That successful database design must reflect the information system of which the database.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Software Requirements Engineering CSE 305 Lecture-2.
CS101 Introduction to Computing Lecture Programming Languages.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
7-1 Management Information Systems for the Information Age Copyright 2004 The McGraw-Hill Companies, Inc. All rights reserved Chapter 7 IT Infrastructures.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Software Confederations An Architecture for Agile Development in the Large Jaroslav Král, Michal Žemlička, Michal Kopecký Charles University, Prague {Jaroslav.Kral.
An Introduction to Software Engineering. Communication Systems.
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
Rational Unified Process Fundamentals Module 5: Implementing RUP.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Chapter 1 Introduction to Systems Design and Analysis Systems Analysis and Design Kendall and Kendall Sixth Edition.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Thomas L. Gilchrist Testing Basics Set 3: Testing Strategies By Tom Gilchrist Jan 2009.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Reverse Engineering. Reverse engineering is the general process of analyzing a technology specifically to ascertain how it was designed or how it operates.
Thepul Ginige Lecture-7 Implementation of Information System Thepul Ginige.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Electronic Business: Concept and Applications Department of Electrical Engineering Gadjah Mada University.
Chapter 1 The Systems Development Environment
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
CS101 Introduction to Computing Lecture 19 Programming Languages
Software Processes (a)
Enterprise Computing Collaboration System Example
Chapter 1 The Systems Development Environment
Tools of Software Development
Introduction To System Analysis and Design PART 2
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Chapter 1 The Systems Development Environment
Modern Systems Analysis and Design Third Edition
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

Towards Rationales of Software Confederations Jaroslav Král, Michal Žemlička Department of Software engineering Faculty of Mathematics and Physics Charles University, Prague

Service Orientation: Holy grail New paradigm Old habits in a new coat Buzzword ?

Service Orientation: Holy grail New paradigm Old habits in a new coat Buzzword ? Paradigm using many existing techniques new for many people applied in new areas

Service orientation - history Some of the SO features can be found in batch systems written in COBOL in 70-ies (the activities were performed by cooperating applications) and especially in (soft) real/time systems applications cooperating by complex human-readable messages.

Batch Systems App2 App3 App1 Batch 1 Batch 2

Batch Systems Batches are composed from simple specialized applications Applications are simple enough not to be error prone Applications are typically used for many years, sometimes even decades Y2K has shown that in many companies such systems were working without any maintenance for a very long time

Batch Systems Used from 60-ies cooperation can be provided off-line communication between software entities is typically provided by files Individual steps can be restarted when failed

Control Systems Control units of individual machines behave like black boxes – only interface is known Communication between control units is based on commands Different control units may use different languages  translation of the messages is necessary

Control Systems (2) Used from 70-ies No UNDO or REDO possible It is possible to run more control units/applications on one computer  working virtual peer-to-peer network of software entities

Terminology Enterprise Information System – information system supporting all activities of given enterprise (inclusive manufacturing, sales, management functions, resource management, warehousing, etc.) Paradigm – a generally accepted perspective of a particular discipline at a given time

Decentralized Enterprise IS: Tendencies can be designed known and almost fixed collection of services presence of user interface to whole system known set of multi-step business processes involving the services Similar properties can be found also in IS supporting e-government and in many other systems

Types of Service Orientation Alliances: e-commerce supported by web services Software confederations: e-government IS of (international) enterprises control systems …

Software Confederation (Virtual) peer-to-peer network of autonomous services/components/applications High-level architecture/paradigm Can be combined with other software development paradigms Composed from almost fixed set of applications used as black boxes and additional components (portals, front-end gates) used as white boxes

Software Confederation primary gate Application front-end gate Middleware User Gate

Experience: Several paradigms must be applied in SOSS Middleware can be implemented as message-passing or data-oriented (DO). DO is often necessary to support management. Middleware need not be Internet-based. Object orientation is good for development of individual services.

Service Interface Properties Problem-oriented (based on terminology used for solving such problems) Declarative (high-level commands) Can/should be set by negotiation of cooperating service developers User readable and understandable (i.e. user- oriented)  Long-term stability can be expected

Advantages of Problem-Oriented Interfaces Users understand the interface; can report possible errors in early development stages Users can be involved in design Problems exist longer time than applications – such interfaces can be very stable Service with problem-oriented interface can be simulated manually

Advantages of Problem-Oriented Interfaces Changes in an application need not to be reflected in cooperating applications communicating via such interface Log of such communication can be easily analyzed and used at court when needed Such communication is very effective

Software Confederations: User Involvement complex workflows over services need supervision –responsibility issues user activities: –definition and modification of processes –starting and rescheduling processes –supervision/influence/performance of steps –replacement of computerized services by manual ones

Users as Services some services can be performed manually good for prototyping and emergency situations often advantageous when users control the service or take part in its work (business decisions, work assignment, scheduling, etc.)

Software Engineering Advantages user involvement modifiability incremental and iterative development prototyping and replacement of non available services short milestones solution/refactoring of many antipatterns new development turns reduction of development effort

Open Issues whose services should be centralized vendors try to keep customs dependent new paradigm needs other knowledge data intensive function can benefit from SO but there is no support for it now confederations can use some seemingly obsolete techniques security and effectiveness

Design of Service-Oriented Systems services should work as peer-to-peer services (their interface) should mirror real- world services users should be deeply involved in specification and design of interfaces development process and interfaces depend on SO type

Design of Service-Oriented Systems services should be replaceable by human activities (at least in emergency) use incremental development; start from most valuable services (80-20 law) automate as little as possible – involve users also in the system run Carefully select developers – object- oriented ones may have problems with SO acceptance

Conclusions: Service Orientation is a new paradigm needs time to be generally accepted, to develop methodologies, best practices, and tools necessity when building large or complex applications substantially influences requirements specification

Conclusions: Service Orientation requires new type of IT education requires tighter cooperation between users and developers developers should understand user problem and knowledge domain

Conclusions: Software Confederations Communication by high-level human- oriented commands Services may and should have front-end gates transforming the high-level commands into application interface May use (can be based on) legacy and third party systems

Software Confederation primary gate Application front-end gate Middleware User Gate

Control Systems Level- crossing gate Train detector commands