Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Confederations An Architecture for Agile Development in the Large Jaroslav Král, Michal Žemlička, Michal Kopecký Charles University, Prague {Jaroslav.Kral.

Similar presentations


Presentation on theme: "Software Confederations An Architecture for Agile Development in the Large Jaroslav Král, Michal Žemlička, Michal Kopecký Charles University, Prague {Jaroslav.Kral."— Presentation transcript:

1 Software Confederations An Architecture for Agile Development in the Large Jaroslav Král, Michal Žemlička, Michal Kopecký Charles University, Prague {Jaroslav.Kral | Michal.Zemlicka | Michal.Kopecky}@mff.cuni.cz

2 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '062 Content of the Presentation Comparison of Agile development and development in the large Software confederations – the way of development in the large with respect to agile development requirements Issues of the approach Conclusions

3 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '063 Agile development Oriented to maximal satisfaction of user needs and requirements Keeps track whether requirements are really met Incremental –Supports users with new versions of software and/or its parts » Needed tight cooperation between users and developers

4 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '064 Development in the Large Large projects are usually precisely planned Mainly monolithic applications –based on object-oriented analysis and design The main development phases (specification, analysis, design, coding, testing, delivery, maintenance) are often separated; provided by different groups of people

5 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '065 Monolithic Systems Developed as a single logical unit Often based on holistic approach expecting that it is possible to handle arbitrary complex systems The systems are typically first analyzed, then designed and encoded (with some possible repetitions) » Support for later changes is restricted

6 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '066 How to Apply Agile Development to Large Systems? Let us take the inspiration from control systems – the large system should be broken to smaller autonomous parts cooperating together. Such systems are called service-oriented (or more precisely software confederations).

7 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '067 Service-Oriented Systems Composed from smaller elements – services Types: –Alliances – web services (W3C) partners are searched for; low-level interface –Enterprise Service Bus services are tightly coupled (know each other) through low-level complicated interface –Confederations closest to control systems partners are known; high-level user-oriented interfaces

8 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '068 Software Confederations Virtual peer-to-peer network of autonomous services (components) Services are used as black boxes –The services are aware of each other –Detailed knowledge of internal functionality is not needed »System can easily integrate legacy and third- party systems »applicable (not only) for e-government, information systems of international enterprises, of health care networks, …

9 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '069 Software Confederations Can benefit from the use of proprietary standards –User oriented declarative (coarse-grained) messages –Based often on XML »Users can understand messages sent between individual services »Possibility to perform operations manually

10 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0610 Software Confederations: Structure Service types in software confederation –Application Services –Front-End Gates –Portals –Data Stores –Infrastructure Services –Process Managers P PM IS FEG DS PM A P A A

11 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0611 Application Service Provides some basic (atomic) functionality of the system Can be even a legacy or third-party system Can have its own direct interface It makes with its front-end gates one logical entity.

12 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0612 Front-End Gate Purveys an interface of an application service to some group of users Transforms user-oriented coarse-grained interface visible for other to the imperative fine grained interface of the application component There can be more front-end gates for one application component targeting different group of users

13 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0613 Portal Serves as an interface to the system as a whole. There can be more portals –typically they serve to different groups of users (e.g. one for intranet and one for extranet)

14 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0614 Data Store Can serve as data/command media It can be useful to reorder incoming service requests – e.g. for optimization or priority issues. Allows to use batch processing – it is important for integration of many legacy or third-party systems.

15 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0615 Infrastructure Service Generalization of front-end gates or portals Serves as post office –Sends service requests only to components able to understand them –Routes messages –Balances the load of services able to perform the same task May interconnect different middleware implementations

16 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0616 Process Manager Specific services orchestrating other services into a support of a business process Allows process owner to control the process (define it, start it, change it, stop it) May support different process flow control techniques

17 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0617 Flexibility in Software Confederation The structure of software confederation allows to change: –Business processes (changes of the running processes by process managers; changes of future processes by adding or changing process templates) –Individual services (replacement or change of the application and changing the front-end gates)

18 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0618 User-Performable Changes The fastest reaction on user requirements are performable by user themselves: –They can react on unexpected or rare situations –They can also change the business process

19 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0619 Support of Agile Development by Confederations The whole task is decomposed to smaller ones – agile development for them is well known The parts have user-understandable interfaces –It is important in the development phase –It is crucial for the modification of business processes by users Privileged users can instantly influence the processes within the system

20 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0620 Issues Quite new concept for many developers, influences the whole development process –Requires shift in the thinking of developers Time to train new developers needed Re-qualification of current developers is often difficult Lack of quality development tools » Switch from OO to SO in the whole will take years

21 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0621 Conclusions Software confederations are very flexible and have all features needed for agile development –Development in tight cooperation with users –Parts of the system are manageably small changes can be applied in reasonable time –Features of the system can be developed and shipped individually and incrementally –User-oriented interfaces and messages are easily understandable and often self-documenting –Services can be often clustered to achieve scalability

22 1.11.2006J. Král, M. Žemlička, M. Kopecký: ICSEA '0622 Questions? Send all questions to: Jaroslav.Kral@mff.cuni.cz or Michal.Zemlicka@mff.cuni.cz or Michal.Kopecky@mff.cuni.cz


Download ppt "Software Confederations An Architecture for Agile Development in the Large Jaroslav Král, Michal Žemlička, Michal Kopecký Charles University, Prague {Jaroslav.Kral."

Similar presentations


Ads by Google