a dream of software engineers -- service orientation and...

42
JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe, Arizona, U.S.A. JICSIT2011 / ITAIC 2011 Keynote A Dream of Software Engineers -- Service Orientation and Cloud Computing http://www.jicsit.org/

Upload: others

Post on 29-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 1

Yinong Chen

Arizona State University, Tempe, Arizona, U.S.A.

JICSIT2011 / ITAIC 2011 Keynote

A Dream of Software Engineers -- Service Orientation and

Cloud Computing

http://www.jicsit.org/

Page 2: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 2

Outline Introduction

Programming Paradigms and Software Engineering

Service Orientation vs. Object Orientation

A Dream of Software Engineers: Service-Oriented Computing and Workflow-Based Software Development

Cloud Computing, we could not even dream

Cyber-Physical Device and Robot as a Service

ASU Service Repository

Page 3: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 3

Imperative Programming Assembly, Algo, FORTRAN

1st Generation Software Engineering Procedural Programming Pascal, C

Functional Programming

e.g. LISP/Scheme

Logic Programming e.g. Prolog

Programming Paradigms

Time

Granularity Level

50s 60s 70s 80s 90s 00s 10s

2nd Generation Software Engineering Object-Oriented Programming C++, Java, C#

Programming-in-the-large

Component-Based

Programming Distributed Objects

C++, Java, C#

3rd Generation Software Eng. Service-Oriented

Programming Java, C#, Workflow

Page 4: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 4

The First Generation Software Engineering

The features of the first generation Waterfall model Structured programming and design Structured analysis Compilers and interpreters advancement Abstract data types Layered architecture

From machine and assembly programming to high-level programming. Significant productivity gain.

Main technologies include compilers and OS, software development models, and programming languages

Programming languages are the key.

Page 5: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 5

The Second Generation Software Engineering

The features of the second generation Object-oriented analysis, design, and programming UML (Unified Modeling Language), Agile processes Software architecture patterns and design patterns CMM(Capability Maturity Model) and CMMI (CMM Integration) Model checking

Modeling (such as object-oriented modeling) rather than programming is the key technology, and also classification and cataloguing (patterns) best software practices, and refinement of processes. Not just coding.

Further productivity gain due to availability of tools, techniques, and documentation.

Development process and techniques are the key.

Page 6: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 6

The Third Generation Software Engineering

The features of the third generation Service-oriented computing (development +

execution combination) Cloud computing and SaaS (Software as a Service)

with applications SaaS: development + execution + automated runtime

management, including resource (sharing) and security (privacy) management. It introduces many scientific research questions into software engineering, such as data mining, control theory, and statistics.

Expect very rapid software customization and deployment.

Platform is the key.

Page 7: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 7

Imperative Software Development

Requirement analysis

Software Development

Specification

Designs

Implementation (coding)

Testing / Evaluation

Deployment

What is the need of users?

e.g., sorting numbers

What is the formal requirement?

Input xi, i = 1, …, n;

Output: xi <= xj, if i <= j

How to do it?

Algorithms: Bubble, Merge, …

How to code it?

(Programming in C, C++, Java, C#)

Run it in a virtual environment,

simulation in the last two pages.

Put it in the real environment,

e.g., the grade book application.

Page 8: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 8

Component-Based Software Development

Bricks and Tiles

imperative

Component-

based

Page 9: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 9

Object-Oriented and Service-Oriented Software Development

Requirement analysis

Object-oriented

development

Programmers

Problem decomposition

Object

testing

Services

testing Class/Object

library Service

repository

Services

development

Programmers

Application building

Testing

Deployment

Application builder

Page 10: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 10

Object-Oriented Software Development

Organization X:

Component library

Organization Y:

Component library

Page 11: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 11

Service-Oriented Software Development

Organization X:

Component library

Organization Y:

Component library

Organization Z:

Component library

Service broker

Auto-searchable Found

Registration

Application

Standard

Interface

Page 12: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 12

Outline

Introduction

A Dream of Software Engineering: Service-Oriented Computing and Workflow-Based Software Development

Cloud Computing , we could not even dream

Cyber-Physical Device and Robot as a Service

ASU Service Repository

Page 13: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 13

Clearer Tiered Architecture

Presentation

Layer (GUI)

Application

Processing Layer,

with Low-Level Code

Service and

Component Layer

Data Management

Layer

Presentation

Layer (GUI)

Workflow Layer

with High-Level

Composition

Service and

Component Layer

Data Management

Layer

WF Activities with

Low-Level Code

Page 14: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 14

Using Flowchart as Code

Enter WS URL:

Movie Service:

http://www.ignyte.com/w

ebservices/ignyte.whats

showing.webservice/mo

viefunctions.asmx

Zip Code Service:

http://www.webservicex

.net/uszip.asmx

Enter WS URL:

Page 15: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 15

Flowchart and Workflow Code

An Online

Ordering

Process

Submitted

Assigned

Approved Rejected

Ordered

Completed

approve

cancel

reassign

User submits request

Page 16: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 16

Define the States of a Finite State Machine

16

Submitted

Assigned

Approved Rejected

Ordered

Completed

approve

cancel

reassign

User submits

request

Page 17: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 17

Define the Transitions between

the States

17

Submitted

Assigned

Approved Rejected

Ordered

Completed

approve

cancel

reassign

User submits

request

Page 18: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 18

Flowchart of a Mortgage

Application Site

Source:

http://msdn.microsoft.com/en-us/

magazine/ff646977.aspx

Page 19: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 19 19

Executable

Workflow

Page 20: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 20

Open the “Initial Screening” Flowchart

Page 21: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 21

Outline

Introduction

A Dream of Software Engineering: Service-Oriented Computing and Workflow-Based Software Development

Cloud Computing , we could not even dream

Cyber-Physical Device and Robot as a Service

ASU Service Repository

Page 22: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 22

The U.S. FEDERAL CLOUD COMPUTING STRATEGY

http://ctovision.com/wp-content/uploads/2011/02/Federal-Cloud-Computing-Strategy1.pdf

Page 23: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 23

http://washingtontechnology.com/articles/2011/02/18/kundra-plan-25-percent-of-it-spending-on-cloud.aspx

Page 24: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 24

Vivek Kundra’s “Cloud First” Policy http://www.cloudtweaks.com/2011/04/the-architect-of-the-official-cloud-computing-revolution-%E2%80%93-cio-vivek-kundra/

• Government agencies have been asked to consider a cloud computing option first when they planned to launch a new IT project; and they are required to identify three systems they would like to move to the cloud.

• Kundra believes Cloud Computing is the next “Internet” that has changed the world, not just computing!

Page 25: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 25

Essential Characteristics of Cloud Computing

On-demand services,

Broad network access,

Resource pooling,

Rapid elasticity, and

Measured services

Minimal management effort

http://csrc.nist.gov/groups/SNS/cloud-computing/

Page 26: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 26

Static WWW (Web 1.0) URI, HTML, HTTP

Semantics-based

Web 3.0 RDF, RDFS, OWL

Web 2.0, Web 3.0, and Cloud Computing

Dynamic SOC-based Web 2.0 UDDI, WSDL, SOAP

Syntax Semantics

Page 27: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 27

Components of Cloud Computing

Software as a Service

Platform as a Service

Infrastructure as a Service

X as a Service

Test as a Service

Cyber Physical Devices

Device as a Service

Robot as a Service

Page 28: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 28

X as a Service: What is X?

X is unknown

X is a variable

X is a dream

X is what we could not even dream

X is everything

Social networking: We can hide nothing

Ontology: Everything can be reasoned of

Virtual and reality

Everything is under the cloud!

Page 29: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 29

Outline

Introduction

A Dream of Software Engineering: Service-Oriented Computing and Workflow-Based Software Development

Cloud Computing, , we could not even dream

Cyber-Physical Device and Robot as a Service

ASU Service Repository

Page 30: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 30

As a Part of Cloud Computing

Software as a Service

Platform as a Service

Infrastructure as a Service

X as a Service

Cyber Physical Devices

Device as a Service

Robot as a Service

Service Interface in

HTTP, URI, REST.

WSDL, SOAP, etc.

Page 31: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 31

Current Efforts in Device Integration: Augmented Reality (1)

• Pachube

– Data infrastructure for users to build their Internet of Things

– Manage real-time data from sensors, devices, and environments

• Wikitude World Browser:

– Organize and display information about users' surroundings in a mobile camera view.

– Similar to Pachube, but focus on photos and videos

Page 32: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 32

Current Efforts: Device as a Service (2)

• Devices Profile for Web Services (DPWS) defines implementation constraints to enable secure Web Service messaging, discovery, description, and eventing on resource-constrained devices;

• DPWS specification was initially published in 2004 and was submitted for standardization to OASIS in 2008. DPWS 1.1 was approved as OASIS Standard together with WS-Discovery 1.1 and SOAP-over-UDP 1.1 2009;

• Microsoft .Net Framework Class Library defined classes for supporting DPWS device programming

Reference: http://en.wikipedia.org/wiki/Devices_Profile_for_Web_Services

Page 33: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 33

Current Efforts: Device as a Service (2)

• Device with Built-in Service Interface, for example:

• Netduio Plus: Works with .Net Micro Framework to facilitate service to device communication http://www.amazon.com

Page 34: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 34

Current Efforts: Robot as a Service (3)

• ASU Implementation of Robot as a Service

• Web service wraps the device drivers

• Web Application access the Web services

http://venus.eas.asu.edu/MyRaaS/Default.aspx

Video: http://vimeo.com/9740048

Page 35: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 35

Join the Cloud and Develop RaaS

RaaS RaaS RaaS RaaS RaaS

Add

Service Add

Partner

Add

Application

ASU Tsinghua

University

Tsinghua ASU

Page 36: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 36

Outline Programming Paradigms and Software

Engineering

Service Orientation vs. Object Orientation

Service-Oriented Computing and Workflow-Based Software Development

Cloud Computing, we could not even dream

Cyber-Physical Device and Robot as a Service

ASU Service Repository

Page 37: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 37

http://venus.eas.asu.edu/WSRepository/repository.html

Page 38: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 38

ASU Service Repository http://venus.eas.asu.edu/WSRepository/repository.html

• SOAP/WSDL Services

• RESTful Services

• Workflow services

• Web applications

• Robot as Service: http://venus.eas.asu.edu/MyRaaS/Default.aspx

Page 39: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 39

Page 40: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 40

http://venus.eas.asu.edu/WSRepository/Services/WFService/

Page 41: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 41

Page 42: A Dream of Software Engineers -- Service Orientation and ...ychen10/activities/jicsit11/ChenKeynote11.pdf · JICSIT/ITAIC 2011 Keynote 1 Yinong Chen Arizona State University, Tempe,

JICSIT/ITAIC 2011 Keynote 42

Where to Find the Information?

Third Edition 2011