ServiceOriented System Engineering: A New Paradigm for System Engineering - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

ServiceOriented System Engineering: A New Paradigm for System Engineering

Description:

SOA as a New Computing Paradigm. SOA is being considered as a new computing ... SOA including IBM, Microsoft, Oracle, SAP, Sun Microsystems, Intel, and BEA. ... – PowerPoint PPT presentation

Number of Views:66
Avg rating:3.0/5.0
Slides: 37
Provided by: IBMU432
Category:

less

Transcript and Presenter's Notes

Title: ServiceOriented System Engineering: A New Paradigm for System Engineering


1
Service-Oriented System Engineering A New
Paradigm for System Engineering
  • W. T. Tsai
  • Department of Computer Science and Engineering
  • Arizona State University
  • Tempe, AZ 85287
  • wtsai_at_asu.edu

2
SOA as a New Computing Paradigm
  • 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?

3
Impact of a New Computing Paradigm
  • Mindset
  • Technology
  • Education
  • Business and market
  • Daily life

4
OO Computing as a New Computing Paradigm
  • OO was introduced by SIMULA, and then later by
    SMALLTALK in early 1970s.
  • 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.

5
Impact 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.

6
Can we learn something from the 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.

7
SOA 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?

8
Impact of SOA as a New Computing Paradigm
  • 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!

9
New 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.

10
SOA 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.

11
Car 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,.

12
Car 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

13
Servicetized Systems
14
Tornado Reusability via Progression
15
Another Illustration of Reusability
16
Reusability 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.

17
Reusability 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.

18
SOA changes the Software Market
  • 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.

19
SOA affects Computing Technologies
  • 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

20
From Object-Oriented Paradigm to Service-Oriented
Paradigm
OO Modeling Languages IDE
OO Technology Framework
OO Languages
OO system engineering (OOSE) OO testing OO
maintenance OO application frameworks OO
databases (OODB) OO lifecycle (XP? MDA?)
Object- Oriented Concept Architecture
Simula Smalltalk Objective C C Java
UML CORBA MS .Net JDK GCC
SO Modeling Languages IDE
SO Technology Framework
SO Standards
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)
XML UDDI ebXML WSDL SOAP OWL
Service- Oriented Concept Architecture
BPEL WSFL XLANG MS. Net WebSphere
21
SOA Changes System and Software 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

22
SOA Changes System and Software 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 (CVV)
  • 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

23
SOA Changes System and Software 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

24
Adaptive Control Framework for SOC
25
Service-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

26
SOA Provides a New View on Software Architecture
Traditional architecture
vs.
Generic SOA application architecture
27
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.

28
A Complex SOA Design
29
Model-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

30
Software 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.

31
SOA 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.

32
What kinds of SOA Education are 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.

33
Current 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,

34
Model 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, VV, 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.

35
SOA as the First Programming Course
  • 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.

36
SOA 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.
Write a Comment
User Comments (0)
About PowerShow.com