Requirements Specification and Software Engineering Properties of Service Oriented Systems Jaroslav Kral, Michal Zemlicka Department of Software Engineering.

Slides:



Advertisements
Similar presentations
Pulan Yu School of Informatics Indiana University Bloomington Web service based Varuna.Net.
Advertisements

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Crucial Patterns in Service- Oriented Architecture Jaroslav Král, Michal Žemlička Charles University, Prague.
1 Intelligent Agents Software analog to human agents real estate agent, librarian, salesperson Perform tasks individually, or in collaboration Static and.
© 2006 Carnegie Mellon University Establishing a Network Centric Capability: Implications for Acquisition and Engineering Dennis Smith Complex System Symposium.
An Introduction to Information Systems in Organizations
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
1.1 Introduction: concepts and overview of systems development IMS Information Systems Development Practices.
Chapter 1 Assuming the Role of the Systems Analyst
Effective systems development requires a team effort from stakeholders, users, managers, systems development specialists, and various support personnel,
Overview Distributed vs. decentralized Why distributed databases
Chapter 1 Assuming the Role of the Systems Analyst
Introduction to Systems Analysis and Design
MARCH 2010Developed by Agency Human Resource Services, DHRM1 Organizational Design What Is It? Organizational Design is the creation of roles, processes,
Database Administration Chapter 16. Need for Databases  Data is used by different people, in different departments, for different reasons  Interpretation.
Karolina Muszyńska Based on
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
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.
Chapter 9 Moving to Design Part 2.
Organizing Information Technology Resources
Systemic Issues of Software Confederations Jaroslav Král, Michal Žemlička Charles University, Prague
Fundamentals of Information Systems, Second Edition 1 Information Systems in Organizations.
©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.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Commercial-in-Confidence 1 Managing eBusiness - Operational Challenges of an Online Business Model.
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
Knowledge representation
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition Irwin/McGraw-Hill.
Software Agents: An Overview by Hyacinth S. Nwana and Designing Behaviors for Information Agents by Keith Decker, Anandeep Pannu, Katia Sycara and Mike.
Introduction To System Analysis and Design
Module 4: Systems Development Chapter 12: (IS) Project Management.
Software Design Deriving a solution which satisfies software requirements.
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:
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
The Systems Development Life Cycle
Software Confederations and the Maintenance of Global Software Systems Jaroslav Král, Michal Žemlička Charles University, Prague
Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition Irwin/McGraw-Hill.
Software Architecture for Evolving Environment Jaroslav Král, Michal Žemlička Charles University, Prague
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
SEMANTIC AGENT SYSTEMS Towards a Reference Architecture for Semantic Agent Systems Applied to Symposium Planning Usman Ali.
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.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
Towards Rationales of Software Confederations Jaroslav Král, Michal Žemlička Department of Software engineering Faculty of Mathematics and Physics Charles.
CSCE 315 – Programming Studio Spring Goal: Reuse and Sharing Many times we would like to reuse the same process or data for different purpose Want.
Foundations of Information Systems in Business. System ® System  A system is an interrelated set of business procedures used within one business unit.
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Chapter 10 Designing Adaptive Organizations. Organizing The deployment of organizational resources to achieve strategic goals  Division of labor  Lines.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Decision Support Systems
Concept and Context of CRM
A service Oriented Architecture & Web Service Technology.
Chapter 1 Assuming the Role of the Systems Analyst.
Object Oriented Systems Design
INFORMATION SYSTEM CATEGORIES
CS 389 – Software Engineering
Designing Adaptive Organizations
Designing Adaptive Organizations
Chapter 2 – Software Processes
MANAGING KNOWLEDGE FOR THE DIGITAL FIRM
Service-centric Software Engineering
Service Oriented Architecture (SOA)
Presentation transcript:

Requirements Specification and Software Engineering Properties of Service Oriented Systems Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics and Physics, Charles University Prague

IRMA20042 Service Orientation Software Systems A virtual p2p network of (quite large) autonomous software components interconnected by an appropriate middleware and working like the real world services of mass services systems zemlicka: asi by bylo dobré buď SO: SS, nebo service- oriented ss … zemlicka: asi by bylo dobré buď SO: SS, nebo service- oriented ss …

IRMA20043 Main Issues How depends the structure of requirements specification on the type of service orientation What specification principles imply good user and engineering properties of service-oriented software systems (SOSS). Consequences of SOSS for users (user top management inclusive) Obstacles of the proper use of SOSS

IRMA20044 The Concept of Service- Orientation Service orientation is a crucial software engineering paradigm. It is a challenge as well as an issue. Service orientation is not limited to web services and Internet. There are service-oriented software systems having substantially different user and engineering properties.

IRMA20045 Software paradigm A generally applicable philosophy, tools, methodology, best practices, experiences, and success stories enabling effective solutions of tasks/projects in some area of software development. Observation: Paradigms are difficult not only to develop, but also to accept. The acceptance is a long term process (compare the experience with object-oriented paradigm) zemlicka: Místo „Acceptance“ by se možná hodilo „Even their acceptance“… zemlicka: Místo „Acceptance“ by se možná hodilo „Even their acceptance“…

Paradigm Shift Service orientation is becoming the leading paradigm of software development. The reasons are – global systems needed and technically feasible – progress of development techniques and communications Service orientation is not generally understood and accepted. This issue will take years to be solved (compare the the history of object orientation). The process of the acceptance of service orientation can be fastened by involving people having experience with soft real- time (e.g. manufacturing) systems

IRMA20047 Attributes of service orientation in our sense A virtual p2p network of autonomous components behaving like services in a mass service systems – Autonomy – a component/service works properly as a stand alone application if its inputs are filled (it can de developed autonomously) – Asynchronous cooperation The „application“ services integrated as black boxes, i.e. not developed, their interfaces only are known –The service interfaces can be data or message oriented There can be „infrastructure“services integrated as white boxes (developed)

IRMA20048 Consequences of p2p Architecture No central service from the technical point of view Problems should be expected with the services playing central logical role (e.g. coordination like UDDI, central databases, process control) –Effectiveness –Timeliness –Concepts (Partial) decentralization of „central“ services desirable (e.g. distributed databases with different task specific interfaces)

IRMA20049 SOSS Types Alliances –The communication partners must be looked for in principle all over the world –Typical application – e-commerce Confederations –The communication partners are almost always known –Typical applications: large decentralized companies, health systems, CRM, SCM, e- government, soft real-time systems, etc.

IRMA Properties of Alliances Appropriate/necessary for e-commerce Future communicating partners are not known – dialogs cannot be tuned Internet must be used to achieve world-wide accessibility The interfaces must be based on general- purpose standards and low-level/universal programming tools (e.g. SOAP)

IRMA Properties of Confederations Appropriate for large organizations and some real-time systems Future partners are usually known – dialogs can be tuned Various techniques can be applied Predecessors of such systems are known from history Middleware and communication techniques and philosophies can be adapted to particular needs We shall discuss mainly the case of confederations

IRMA Structure of a Confederation Physical (black) and logical (yellow, blue) views UC – service providing user interface log

IRMA The Crucial Properties of Interfaces Stability –Does not imply the changes of partners if implementation of the given service varies –The need to rewrite of services is reduced Effective (not too much messages) Simple for use  Understandable for partners/users  Simple protocols (semantically rich messages and/or data)

IRMA Fulfilled by User-Oriented Interfaces Stable – based on principles used often for centuries Coarse grained and effective – human beings are otherwise unable to respond to too many messages Simple in use – based on the intuition and knowledge of the user domain knowledge area User-oriented interface must be used if we want to have legal responsibilities – users and experts must understand the communication log in the case of law suits or complex failures

IRMA Variants of User Orientation The implementation of interfaces should mirror message formats as well as the communication protocols and autonomy of receivers Operational level – performing commands (message passing) Management level – intelligent communication via a (common) database (data oriented interface)

IRMA Data-Oriented Interface Data orientation is typical for „intelligent“ collaborations (management level)

IRMA Changes of Interfaces Reasons why not user oriented interfaces are not used: –Interface is implementation oriented to enable access to all functions of corresponding services –The need to have different interfaces for different groups of users –An interface is a part of a software component that cannot be modified (legacy, third party products) Solution: –Implement a service FEG providing transformation, combination and routing of services G Service FEG Partners, first type Partners, second type FEG

IRMA The Use of Front-End Gates Front end gate (FEG) is a service transforming, combining and routing messages (compare XSLT engines). Implemented as a white box (developed). FEG can implement some properties of gates places in colored Petri nets.

IRMA Standards User-oriented interfaces tend to be declarative. – it follows that the direct use of rather procedural and low level tools like SOAP is not the best choice. User oriented interfaces have, however, no formal standards Solution: –If the basic language of an application services is or must be SOAP based use front-end gates (FEG) to translate sequences of SOAP messages into user oriented high level messages. –FEG behaves like a compiler translating high level messages into sequences of SOAP messages and vice versa. Similar turn can be used in the case of data oriented communication. –User oriented standards can be tuned and formally standardized later

IRMA Challenges and Opportunities for Users Flexible outsourcing and insourcing Organizational changes (reorganization, decentralization) easier Support of long term collaborations even in e- commerce –CRM (loose cooperation with regular customers) –SCM (loose cooperation with regular suppliers) Warning. Top and middle management of the users should be involved into the requirements specification

IRMA Advantages 1: Screen prototypes

IRMA Advantages 2: SW Engineering Properties Supports incremental development Easy user involvement and application of agile forms of development Modifiability Reduction of development effort due to –Decomposition and independent development of services –Powerful debugging tools –Integration of legacy systems and third-party products, reuse –Easy outsourcing –Modifiability (changes tend to be local) –Stability –etc.

IRMA Main Points of Specifications 1.The decision (after an analysis) that a confederation can be used (i.e. there is almost fixed set of services) 2.User involvement 3.Incremental development (not all at once) Start from the most useful services (apply Pareto rule) 4.Specification of services and their interfaces. Use existing services as much as possible. Newly developed services should mirror the real world services. The service interfaces should be user oriented, coarse grained, declarative. Interfaces are the corner stone of the developed system. Reduce the use of central services, decentralize them (it is usually possible)

IRMA Practical Experiences with a Flexible Manufacturing System Designed as SOSS Results over expectations at low as well as at management level, general satisfaction Although an island of automation it survived several ERP systems The system was 25 years used without maintenance Is about to be retired, the reason is that the production type (gearwheels) is not needed anymore Similar observations for SOSS the authors and their friends have taken part in Achievable generally via service orientation!!

IRMA Quality Indicators Crucial quality indicators –p2p, peers – large black boxes services and possibly infrastructure white box services, –User-oriented interfaces –User understandable services as peers –White boxes – services – message routers and transformers –Limited use of central services, decentralization of central services, if possible }it is often the case Desirable properties, crucial for some systems –Internet and web-services –XML

IRMA Related Areas Grid computing – networks of autonomous applications Intelligent agents – autonomous cooperating peers Petri nets Networks administration Symmetric multiprocessing

Conclusions Service orientation has the potential to convert software artifacts into a true hi-tech engineering product having preferable engineering attributes. As a paradigm being new for the majority of software developers the service orientation must overcome thinking barriers and prejudices, intensify user involvement, update education of developers and change business strategies. It will be a long-term process. Many good practices, specification, modeling, and development tools must be developed yet. A important good practice is the user orientation of interfaces The structure requirements specification must reflect the fact that a service-oriented system is to be developed.