4/29/10 1 service-oriented system engineering: a new paradigm

36
22/5/15 22/5/15 1 Service-Oriented System Service-Oriented System Engineering: A New Engineering: A New Paradigm for System Paradigm for System Engineering Engineering W. T. Tsai W. T. Tsai Department of Computer Science and Engineering Department of Computer Science and Engineering Arizona State University Arizona State University Tempe, AZ 85287 Tempe, AZ 85287 [email protected] [email protected]

Upload: zubin67

Post on 10-Sep-2014

408 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 11

Service-Oriented System Service-Oriented System Engineering: A New Paradigm Engineering: A New Paradigm

for System Engineeringfor System Engineering

W. T. Tsai W. T. Tsai

Department of Computer Science and EngineeringDepartment of Computer Science and Engineering

Arizona State UniversityArizona State University

Tempe, AZ 85287Tempe, AZ 85287

[email protected]@asu.edu

Page 2: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 22

SOA as a New Computing SOA as a New Computing ParadigmParadigm

• SOA is being considered as a new computing paradigm.

• But what does it mean that it is a paradigm?

• What kinds of technology can be considered as new paradigm?

• If SOA is a new paradigm, what are its implications?

Page 3: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 33

Impact of a New Computing ParadigmImpact of a New Computing Paradigm

• Mindset

• Technology

• Education

• Business and market

• Daily life

Page 4: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 44

OO Computing as a New OO Computing as a New Computing ParadigmComputing Paradigm

• OO was introduced by SIMULA, and then later by SMALLTALK in early 1970’s.

• But OO was not accepted as new computing paradigm until around 1983-1985.

• Note carefully it was NOT technology innovation that triggered the new computing paradigm, it was technology adoption by industries and government.

• Even after it was accepted as a new paradigm, many of OO technologies are not mature or ready. For example, OO design and C++.

• After it was accepted, 7 to 10 years later, true OO technologies then emerged.

Page 5: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 55

Impact of the OO ParadigmImpact of the OO Paradigm

• Mindset– From Data Abstraction and Subroutines to Classes and Objects

• Technology– Software engineering (90% difference between pre-1983 and

post-1997) such as design patterns, UML, and OO frameworks, compilers (OO compilers), database (OODB), programming languages (Java), applications.

• Education– Significant changes, every CS student need to learn UML and

design patterns, but OO education did not start until 7-10 years later.

• Business and markets– Wide market acceptance only about 7 years later. Every

competitive computer company use OO technologies.

Page 6: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 66

Can we learn something from the Can we learn something from the OO history?OO history?

• While OO has been a hot topic for an extended period time (more than 7 years from 1983), OO concepts were still misunderstood, and many false claims and/or false impressions were made.

• Several true and lasting OO techniques (UML, design patterns) came only after about 10 to 12 years later.

• The education aspect did not get started until 10 years later.

• This is in spite of fact that hundreds of thousands of smart researchers have been working on OO during the extended 10 years time span with probably billions of US dollars invested in this technology.

• This shows that we human are still extremely limited and we should be humble.

Page 7: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 77

SOA as New ParadigmSOA as New Paradigm

• Around 2001, something that never happened before has happened: – All the major computer companies adopted SOA

including IBM, Microsoft, Oracle, SAP, Sun Microsystems, Intel, and BEA.

– Even US government agencies DoD also adopted SOA

• This is a historical event, and this means SOA is the new computing paradigm.

• Why not component-based software engineering?

Page 8: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 88

Impact of SOA as a New Computing Impact of SOA as a New Computing ParadigmParadigm

• Mindset– Think in terms of workflow and services, and instead of

programming, think composition.

• Technology– All software and hardware technologies are affected, and expect

similar or even greater impact as OO technologies did

• Education– Very significant changes will come several years later

• Business and market– Business and market will change significantly

• Daily life– Life changing impact!

Page 9: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 99

New SOA MindsetsNew SOA Mindsets

• We need a new mindset for SOA, and it should be rather different from the previous paradigm.– Earlier, we used dataflow analysis for OO design, and we should

make the counterpart mistakes again.• SOA is going to change the world, and it is going to

change the technology, education, and business practices, and the changes will be so great that it is difficult to imagine.

• Focus on applications and composition rather than development and programming.

• Compose millions lines of code in minutes.• Teach SOA as the first software course to establish a

new mindset.

Page 10: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 1010

SOA is/is notSOA is/is not

• SOA is about composition using reusable components (services) represented by open standards.

• SOA is NOT about how these WS protocols.• The differences between car manufacturers and

car users.• Training for SOA infrastructure developers vs

SOA application developers. 1M vs 1 Billion.

Page 11: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 1111

Car ManufacturerCar Manufacturer

• Design car body, engine, transmission, battery, car seats, airbags, steering, security systems, lights, navigation, tires, and belts.

• Science and engineering: thermodynamics, mechanical design, control theory,….

Page 12: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 1212

Car UsersCar Users

• Drive cars to achieve some missions – fun driving or go to work.

• Science and engineering needed:– Map reading– Traffic laws and signs– Hand and leg coordination– No drink-and-drive

Page 13: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 1313

Servicetized SystemsServicetized Systems

Behavior

Data

SOA Design with Dynamic

Recomposition/Reconfiguration

Loosely coupled services

Services

Page 14: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 1414

Tornado: Reusability via ProgressionTornado: Reusability via Progression

Page 15: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 1515

Another Illustration of ReusabilityAnother Illustration of Reusability

Page 16: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 1616

Reusability PathwayReusability Pathway

• Start with almost nothing;

• Gradually develop services/workflows/application templates for reusability

• Start from internal services/workflows/application templates gradually to external ones.

• This will address many quality issues.

Page 17: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 1717

Reusability will Explode like a TornadoReusability will Explode like a Tornado

• As more services, workflows, and application templates are created, additional issues will pop out.

• An immediate issue is portfolio management. The company needs to maintain a portfolio of reusable assets.

• As more reusable assets are available, more assets will be reused.

• The rate of reuse will also increase.• The quality of reusable assets increases as reusability

increases.• The above three attributes contribute to the Tornado

Reusability model.

Page 18: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 1818

SOA changes the Software SOA changes the Software MarketMarket

• From the current vertical market to horizontal market where each supplier can compete at each stack layer.

• This will drive the software price significantly lower, but at the same time will drive the market much bigger than before.

• Even grandma will need to learn SOA eventually to do their daily work.

• Every college student needs to learn SOA instead of just computer science students.

Page 19: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 1919

SOA affects Computing SOA affects Computing TechnologiesTechnologies

• Enterprise software level• Application software• Computing infrastructure

– GUI, compilers, operating systems, database management systems, security mechanisms.

• Hardware– Service-oriented hardware– Hardware support for SOC

• Communication– Service-oriented communication– Communication support for SOC

Page 20: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 2020

From Object-Oriented Paradigm to Service-Oriented Paradigm

OO Languages

OO ModelingLanguages &IDE

Object-OrientedConcept

& Architecture

SimulaSmalltalk

Objective C C++Java

UMLCORBA

MS .NetJDKGCC

OO Technology & Framework

OO system engineering (OOSE)OO testing

OO maintenanceOO application frameworks

OO databases (OODB)OO lifecycle (XP? MDA?)

SO ModelingLanguages & IDESO Standards

XMLUDDI ebXMLWSDLSOAPOWL

Service-OrientedConcept

& Architecture

BPELWSFL

XLANG

MS. NetWebSphere

SO Technology & Framework

SO System Engineering (SOSE?)SO testing (WebStrar?)

SO maintenance (re-composition?)SO frameworks (FERA? SOI?)

SO databases (Ontology DB, SODB?)

SO Lifecycle (MDA, [re-]composition)

Page 21: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 2121

SOA Changes System and SOA Changes System and Software DevelopmentSoftware Development

• Service-oriented requirement engineering– Model-based – Architecture-based – Reuse-oriented– Framework-oriented analysis– Simulation-based analysis with formal analysis– Ontology-based

• Service-oriented architecture and design – Enterprise computing– Dynamic collaboration– Dynamic system composition – Dynamic system analysis– Various service-oriented architecture

Page 22: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 2222

SOA Changes System and SOA Changes System and Software DevelopmentSoftware Development

• Service-oriented programming languages – Model-based development– Automated code generation

• Service-oriented implementation – Dynamic discovery– Dynamic composition– Model-based architecture– Automated code generation

• Collaborative verification and validation (CV&V)– Dynamic testing including test generation, execution, monitoring, and

evaluation– Dynamic model checking– Dynamic simulation including simulation code generation, distributed

simulation– Dynamic reliability estimation, data collection, control, evaluation

Page 23: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 2323

SOA Changes System and SOA Changes System and Software DevelopmentSoftware Development

• Operation – Dynamic monitoring and automated generation of monitors– Dynamic policy enforcement including policy specification,

analysis, simulation, checking, enforcement, and evaluation on various policies such as security policies.

• Maintenance– Dynamic re-binding (change of services)– Dynamic re-composition (change of workflow)– Dynamic re-architecture (change of the overall structure)– For fault tolerance, performance, workload, or new functionality

Page 24: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 2424

Adaptive Control Framework for SOCAdaptive Control Framework for SOC

DSCA forReasoning

and Control

Policyenforcement

Testing

Deployment

Reliabilitymodeling

C&C

Modelchecking

Simulation

Application

Data collectionData mining

DSCA forReasoning

and Control

Policyenforcement

Testing

Deployment

Reliabilitymodeling

C&C

Modelchecking

Simulation

Application

Data collectionData mining

Page 25: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 2525

Service-Oriented EngineeringService-Oriented Engineering

• Dynamic testing, verification, evaluation, simulation, reliability analysis of services

• Dynamic policy construction, verification, simulation, enforcement of security and other policies using formal policy languages

• System maintenance and update will be via service re-composition and possibly architectural reconfiguration

Page 26: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 2626

SOA Provides a New View on Software SOA Provides a New View on Software ArchitectureArchitecture

Component 1

Compoent 3 Component 4

Component 2

Control CenterCommunication Backbone

Service 1 Service 2 Service 3

Service 4 Service 5 Service N... ...

vs.

Service 1 Service 3 Service 4Service 2

Service 1

Service 3

Service 4

Service 2

Service 1

Service 3 Service 4Service 2

Traditional architecture

Generic SOA application architecture

Page 27: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 2727

What is a Software Program?What is a Software Program?

• It is NOT a collection of modules.• It is essentially a model with data and a pool of reusable

services, workflows, and application templates.• This is drastically different from traditional view of

software.• Reusable assets will be subjected to numerous quality

assurance mechanisms and thus they will become stable in the future. Only the best services, workflows, and application templates can survive.

• This means that model and data will be more important than the reusable assets.

Page 28: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 2828

A Complex SOA DesignA Complex SOA Design

Fault-Tolerant Communication Backbone

Service 1 w/ DRS

Service 2 w/ DRS

Service 3 w/ DRS

Service 4 w/ DRS

Service 5 w/ DRS

Service N w/ DRS

Dynamic Composition

Manager

DynamicWorkflow

Specification

Data Collection

Analysis

DRS

Page 29: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 2929

Model-based XXModel-based XX

• Model-based requirement engineering• Model-based design• Model-based automated code generation• Model-based distributed testing• Model-based simulation• Model-based reliability evaluation• Model-based monitoring• Model-based analysis

Page 30: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 3030

Software Reliability ModelsSoftware Reliability Models

• Instead of relying on ancient historical data, and various reliability models.

• SOA can use architecture-based reliability models, and can use data just collected to accurately evaluate the model.

Page 31: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 3131

SOA Affects EducationsSOA Affects Educations

• Change the business practice and model

• Change the basic computing practice

• Change the course materials and curriculum

• Market now needs people to know how to apply computer technology to specific application domains, not just knowledge of computers only.

Page 32: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 3232

What kinds of SOA Education are What kinds of SOA Education are we aiming?we aiming?

• When we have high-level programming language, do we teach students how to develop compilers as the first programming course or we teach programming constructs?

• Now, we have SOA, do we teach how to use SOA in applications or we teach SOA protocols used to implement the SOA infrastructure? – SOA application engineers vs SOA infrastructure

developers.

Page 33: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 3333

Current CS or CE CurriculumCurrent CS or CE Curriculum

• Heavily traditional programs focus on data structure, programming languages, operating systems, database, software engineering, computer networks, compilers, theory of computation, algorithms, simulation, AI, numerical analysis, robotics, parallel processing, and architecture.

• Recent addition (last 10 years) include OO Modeling, design patterns, bioinformatics, information assurance, SOA, and Java,

Page 34: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 3434

Model Undergraduate CurriculumModel Undergraduate Curriculum

• Usual first year and second year program like Calculus, Physics, Chemistry, Writing, Social Sciences. Basic SOA principles and programming.

• Junior year: Formal SOA education including dynamic composition, architecture, requirements, modeling, design, V&V, simulation, policy, data provenance, real-time computing.

• Senior year: elective in one of core application areas such as business, supply chain, bioinformatics, healthcare, bioengineering, mechanical engineering, robotics, Arts and Media, human machine interfaces.

• Traditional CS courses updated, e.g., instead of writing device drivers, we ask students to use device drivers for certain SOA applications.

Page 35: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 3535

SOA as the First Programming SOA as the First Programming CourseCourse

• Crazy?• The basic principles of SOA are not

difficult to teach.• Teach our young children to compose

applications (LEGO) rather than programming applications.

• Making first programming course fun and exciting with robots, visualization, simulation, and dynamic behaviors.

Page 36: 4/29/10 1 Service-Oriented System Engineering: A New Paradigm

23/4/723/4/7 3636

SOA as a National PrioritySOA as a National Priority

• SOA will have more impact than people have thought it could.

• The impact will be dramatic and drastic, even though it will come slowly.

• Market and business practice will change.• Education system will change, and we will have a very

different CS program in the future. Major textbooks will be re-written.

• SOA will be used by almost every one who can use a web browswers.

• Hundred of millions of lines of code will be composed.• A new engineering approach will emerge and that will be

very different from the current practice.