Slide - Georgia State University

advertisement
Cross Cutting and Advanced Topics in
Distributed Computing through
Service-Oriented Architecture and
Software Integration
Yinong Chen
School of Computing, Informatics, and Decision Systems Engineering
Arizona State University, Tempe, AZ 85287-8809, U.S.A.
4th NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-14) In
conjunction with 28th IEEE International Parallel & Distributed Processing Symposium
PHOENIX (ARIZONA) Monday
May 19, 2014
1
Three Courses Covered in Report
Course
Number
Course Name
First
offered
Report
Semester
Enrollment
CSE 101/
FSE 100
Introduction to
Engineering
Fall 2006
Fall 2013
480
CSE 445/
CSE 598
Distributed Software
Development
Fall 2006
Fall 2013
130
CSE 446/
CSE 598
Software Integration and
Engineering
Spring
2012
Spring
2014
70
2
CSE101 / FSE100: Introduction to Engineering
• Learn engineering design process through group activities
• Use robot construction and programming to exercise design
and computing concept
• Use service-oriented and event-driven approaches to
comprehend parallel computing principles
• Started as a Computer System Engineering required course in
2006; Computer Science start to require the course in 2008;
Become an required engineering first course in 2011.
• Start to be adopted overseas, universities in China and
Vietnam started to offer the course in 2012
3
CSE101 / FSE100: Introduction to Engineering
http://venus.eas.asu.edu/WSRepository/eRobotic/
Web Apps
Phone Apps
Computer Science
Concepts
Visual
Programming
Robotic
Experiments
Intel Architecture
Cornell Cup Robot
2013
Start
DistanceMeasured
< 400
Forward
http://venus.eas.asu.edu/WSRepository/eRobotic/
rightFinished
Turning
Right
Turned
Right
RightDistance  DistanceMeasured
Resum180
Finished
DistanceMeasured
>= rightDistance
Turning
Left
Finite State
Machine
Algorithm and
efficiency
Computer
simulation
leftFinished
Resume
180
DistanceMeasured
< rightDistance
Turned
Left
Web
programming
Communication
between Web robot
and physical robot
4
Intel-Based Robot as a Service (RaaS)
Cornell Cup: http://venus.eas.asu.edu/WSRepository/eRobotic/video2013.wmv
CSE 445/598
Distributed Software Development
• In service-oriented distributed systems, server
applications may be invoked by multiple
clients
• Multithreading with parallel computing and
data synchronization using Intel’s Thread
Building Blocks (TBB) is discussed
• Performance analysis and case study
6
Results on Intel 32-Core MTL
Time measured in milliseconds
Input
size
Speedup
Efficiency
7
CSE 445/598
Distributed Software Development
Cross cutting and advanced topics
Topics
Bloom Learning Outcomes
#
Cloud
K
P2P
Security in
Distributed
System
Web services
K
K
Multithreadin
g
C, A
A
Know that both are shared distributed resources - cloud is
distinguished by on-demand, virtualized, service-oriented
software and hardware resources
Server and client roles of nodes with distributed data
Know that distributed systems are more vulnerable to
privacy and security threats; distributed attacks modes;
inherent tension between privacy and security
Be able to develop Web services and service clients to
invoke services
Resource sharing, synchronization, and performance
impact
8
CSE 445/598 Distributed Software Development
Sample Project
Client
Provider
Credit score
Web service
Name
Approval?
SSN
Yes
Address
DoB
Create
account
Check
credit score
Subscribe
No
You do not qualify
Issue
User ID
User ID
Password
Retype
Password
Yes
Strong?
Match?
Yes
Create Password
No
No
addPwd
Add
User
Info
XML file
account.xml
User ID
Password
Login
Check existence
9
CSE446/598 Software Integration and Engineering
Objectives and Outcomes
• Distributed Application Architecture
• Advanced Architecture-Driven Application
Development, workflow-based development
• Enterprise Software Development and Messagebased Integration
• Event-Driven Architecture and Applications
• Interfacing Service-Oriented Software with
Databases and Big Data analysis
• Ontology and Semantic Web
• Cloud Computing and Software as a Service
10
CSE446/598: Infrastructure Supporting Big Data
Volume
Data
Analytics
Velocity
Share nothing
Value
Variety
Variability
Volatile
Data
Collection
Data-App
Integration
Data
& Facility
Management
Veracity
Distributed
/ Networked
Shared-nothing
cluster
Shared-disk
clusters
Characteristics
Multiprocessors
Scale up
Share Everything
Super
Computer
Multicores
Simple
Computer
Share
disk
Scale out
Share memory,
and disk
Share cache, memory,
and disk
Infrastructure
and Facilities
11
MapReduce Layer
Hadoop and Web Service Project
Master
Mapper
Slave
Reducer
Mapper
Reduce
r
Job Tracker
Web service
HDFS Layer
Tomcat
Name Node
Data
sheet
Result
sheet
Final
result
Data
sheet
Result
sheet
Final
result
12
ASU REPOSITORY OF SERVICES AND APPLICATIONS
http://venus.eas.asu.edu/WSRepository/repository.html
• Private Services: Many corporations, e.g., IBM and
SAP, keep their repositories private for internal use
only. Not be available for education purposes
• Paid Services: Many corporations, for example,
Amazon Web Services, offer commercial services and
subscription and payments are required.
• ASU repository offer free services for education
purposes
13
Textbook for CSE101, CSE445 and CSE446
Service-Oriented Computing and Web Software Integration, 4th ed. in 2014
Part I
Distributed Service-Oriented Software Development and Web Data Management
Chapter 1 Introduction to Distributed Service-Oriented Computing
Chapter 2 Distributed Computing with Multithreading
Chapter 3 Essentials in Service-Oriented Software Development
Chapter 4 XML Data Representation and Processing
Chapter 5 Web Application and State Management
Chapter 6 Dependability of Service-Oriented Software
Part II
Advanced Service-Oriented Computing and System Integration
Chapter 7 Advanced Services and Architecture-Driven Application Development
Chapter 8 Enterprise Software Development and Integration
Chapter 9 Internet of Things and Robot as a Service
Chapter 10 Interfacing Service-Oriented Software with Databases
Chapter 11 Big Data and Ontology Systems
Chapter 12 Service-Oriented Application Architecture
Chapter 13 A Mini Walkthrough of Service-Oriented Software Development
Chapter 14 Cloud Computing and Software as a Service
14
Appendix Service-Oriented Robotics Software Development
Download