25
Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics and Physics, Charles University Prague

Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Embed Size (px)

Citation preview

Page 1: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Service Orientation and the Quality Indicators for Software

Services

Jaroslav Kral, Michal Zemlicka

Department of Software Engineering Faculty of Mathematics and Physics, Charles University Prague

Page 2: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Main issues

• What specification design principles imply good user and engineering properties of service-oriented software systems (SOSS).

• Consequences of SOSS for users (user top management inclusive), IT management, IT marketing, and software development

• Consequences for the education of software experts

Page 3: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

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 different user and engineering properties..

Page 4: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

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. Acceptance is a long term process

Page 5: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Attributes of service orientation

• System architecture is 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 autonomly)

• The services are integrated as black boxes, i.e. their interfaces only are known – The interfaces can be data or message oriented

Page 6: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Variants of service oriented systems

1. Alliances. The comunication partners must be at the beginning of the communication looked for.

– E-commerce

2. Confederations. The services know each other. The communication parners need not be looked for.

– E-government– IS of decentralized enterprises– Support of SCM, and CRM – Manufacuring support systems, ….

Page 7: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Properties of Confederations

• Appropriate for large organizations• Partners are known – dialogs can be tuned• Many techniques can be applied• Predecessors are known from history• Middleware can be adapted to particular needs

We shall discuss mainly the case of confederations

Page 8: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Batch predecessors of SOSS

COBOL systems were the first systems having the structure of the network of autonomous applications

communicating via datastores

Page 9: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Experience

• The case Y2K has shown that there were COBOL systems used for years without any maintenance (enterprises had no COBOL programmers able to modify applications routinely in use)

• Incremental development• Many generally usable applications, e.g.

report generators, data filters, …

Page 10: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Online systems, firstly in soft real-time systems

• Autonomous permanently active application

• Equipped by sockets connecting them to a middleware

• Crucial role of the application interfaces• Middleware can use quite different

technologies (message passing or common data, Internet or local networks)

Page 11: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Structure of a modern SOSS

Middleware Service G G Service

Service G

UC

UC

Old service interface

System interface 1

System interface 2

Physical (black) and logical (yellow, blue) views

UC – service providing user interface

log

Page 12: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

User oriented interfaces – quality drivers

SOSS is stable if service interfaces are not varying.User oriented interfaces tend to be

– Declarative – Not changing– Coarse grained – not too many messages per action– Understandable for users – they can be easy involved into system

development

Such interfaces enhances engineering qualityThey are not easy to achieve, need not be SOAP based.

Sometimes message passing, sometimes data oriented

Page 13: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Data oriented interface

Data orientation is typical for „intelligent“ collaborations (management level)

Page 14: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Middleware via a database

Enterprise

Scheduler FMS

FMS manager

Database

Page 15: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Message passing is dominant in operation level

of service oriented systems

Messages can be easily redirected.It can be used as a powerful development

tool (prototyping, requirements specification,definition of business

processes).

Page 16: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Engineering advantages

• Easy integration of legacy systems and third party product

• Incremental development, Pareto 80-20 rule applicable - usable system early available

• Implemetation details hidden and localized• Modifiability, reusability, etc• Agile development can be used in large

systems

Page 17: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Virtual prototyping in a soft real-time system

Control logic Middleware Drivers

Controlled system

log

User interface

Redirected 1

Simulator

Redirected 2

Prototyping via user interface provided there are not too many messages

Page 18: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Virtual prototyping in SOSS

Implemented service

Service not implemeted yet

log

User interface

Redirected

MiddlewareImplemented service

Implemented service

Page 19: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

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 systems was 25 years used without maintenance• Is about to be retired, the reason is that the production type

(gearwheels) is not needed anymoreSimilar observations for all SOSS the authors

and their friends have took part in

Achievable generally via service orientation!!

Page 20: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Paradigm shiftService orientation is becoming the leading paradigm of software development. The reasons are

– global systems needed and technically feasible– progress of development techniques

Service orientation is not generally understood and accepted. This issue will take years to be resolved (compare the the history of object orientation).The process of the acceptance of SO can be fastened by involving people having experience with soft real-time (e.g. manufacturing) systems

Page 21: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Service orientation and education of software

expertsNot only a deep and narrow computer knowledge

– User-oriented interfaces developers must understand user knowledge– IT graduates underrate users– IT gradutes dislike non computer (empirical) knowledge– IT graduates dislike SW engineering (e.g. Reusability)

Can be called as hacker syndrome

Difficult to cure (real-life projects cannot be developed in lectures)

Page 22: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

How to prevent hacker syndrome• Enough noncomputer lessons from very

beginning of the study• The noncomputer lessons should include the

exercises on empirical inference (data analysis)

• The empirical evaluation using very elementary statistical tools should be included in early computer science, software engineering, or programming lectures (when to stop testing, error prone components, quality of programmers, …) to prevent the development of the hacker syndrome

Page 23: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

 

Variants of software architectures

Software technique Area of application

Service orientation (possibly partly)

Manufacturing control level: CIM components, real time

systems

Object orientation (possibly supported by e.g. UML, MDA)

Monolithic enterprise level: middle management, divisions of an international enterprise, highly centralized organizations

Service orientation desirable, necessary

Global (world-wide) enterprise level: international

enterprises, state administration ...

Service-orientation necessary, B2B

World-wide business: some health network services, coalition of car vendors, e-business, etc

 

Page 24: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Quality indicators

• Crucial quality indicators– p2p, peers – large black boxes, – User oriented interfaces– User services as peers– White boxes – services –message routers and

tranformers• Desirable properties, crucial for some systems

– Internet and web-services– XML

Page 25: Service Orientation and the Quality Indicators for Software Services Jaroslav Kral, Michal Zemlicka Department of Software Engineering Faculty of Mathematics

Conclusions

Service orientation has the potential to convert software into a true hi-tech engineering product (no Warranty Disclaimer).

As a paradigm being new for the majority of software developers it must overcome thinking barriers and prejudicesces. It will be a long-term process.

Good practices, specification, modeling, and development tools must be developed yet. An example is the development starting from service interfaces

Service orientation implies changes in the education