lecture course service-oriented computing 1....
TRANSCRIPT
Fuyuki Ishikawa (石川 冬樹)[email protected]
Lecture CourseService-Oriented Computing
1. Introduction2012/04/11
Work with NII since 2007Digital Content and Media Sciences Research Division
Research InterestsService-Oriented ComputingSoftware Engineering (Formal Methods and Requirements Engineering)
Web sitehttp://research.nii.ac.jp/~f-ishikawa/
slides put on this site
SOC'12 @ Sokendai 2Fuyuki Ishikawa
Fuyuki Ishikawa/石川 冬樹
Argue concepts, realization techniques, and applications of
web servicesand clouds
with overview of principles, fundamental theories and techniques primarily about
distributed computingand XML
SOC'12 @ Sokendai 3Fuyuki Ishikawa
Overview of the Course
Introduction to Service-Oriented ComputingDefinitionsHistorical Contexts
SyllabusAim and ApproachScheduleEvaluation CriteriaReferences
SOC'12 @ Sokendai 4Fuyuki Ishikawa
TOC
A Web service is a software applicationidentified by a URI, whose interfaces and binding are capable of being defined, described and discovered by XML artifactsand supports direct interactions with other software applications using XML based messages via internet-based protocols
[W3C, 2002]
SOC'12 @ Sokendai 5Fuyuki Ishikawa
Web Services?
Service-Oriented Computing (SOC) is a new computing paradigm that utilizes services as the basic constructs to support the development of rapid, low-cost and easy composition of distributed applications even in heterogeneous environments. The visionary promise of Service-Oriented Computing is a world of cooperating services where application components are assembledwith little effort into a network of services that can be loosely coupled to create flexible dynamic business processes and agile applications that may span organizations and computing platforms. SOC is being shaped by, and increasingly will help shape, modern society as a whole, especially in the areas of dynamic and on-demand business and education, health and government services.
[M. P. Papazoglou et al., Service-Oriented Computing Research Roadmap, 2006]
SOC'12 @ Sokendai 6Fuyuki Ishikawa
Service-Oriented Computing?
Concept of ”Services”Independent of each other and can be combined in a loosely-coupled mannerTypically less granular than general “components”, to be meaningful for supporting human activitiesPublished with self-describing information on their functionality and quality aspectsAccessed via internet standards (HTTP/XML)
Aiming at constructing a system in an agile and flexible way by means of combining services available on the network
SOC'12 @ Sokendai 7Fuyuki Ishikawa
Service-Oriented Computing: Summary
SOC'12 @ Sokendai 8Fuyuki Ishikawa
Service-Oriented Computing: ExampleInternet of ServicesService Composer
Travel Agency Service Hotel Reservation Service,Route Finder Service, etc.
Description of Service Functionality and Quality Access via Internet Protocols
People talk different visions and stories in similar architectural figures:From intra/inter- enterprise systems
Careful design and developmentLong-term collaboration through service level agreements
To open web usesLightweight scripting or GUI-based mash-upOn-the-fly, possibly one-shot integration with free pickup of services
SOC'12 @ Sokendai 9Fuyuki Ishikawa
A Variety of Visionary Goals
Introduction to Service-Oriented ComputingDefinitionsHistorical Contexts
SyllabusAim and ApproachScheduleEvaluation CriteriaReferences
SOC'12 @ Sokendai 10Fuyuki Ishikawa
TOC
Distributed objects: mechanisms for interaction between distributed object-oriented systems
Allow for use of internet standards (XML, HTTP, etc.), including URI, with selectability
SOC'12 @ Sokendai 11Fuyuki Ishikawa
Historical Contexts: Distributed Computing
Java C++
CORBACORBA
Java C++
DCOMDCOM
Block by standard firewall settingsTightly-coupled integration by object references
Little interoperability between different schemes
Web Applications: human users access the functionalities through browsers (HTML)
Use machine-accessible description and interface in XML
SOC'12 @ Sokendai 12Fuyuki Ishikawa
Historical Contexts: AI/Web
Manual integration for own usages by copy & paste
Difficulties in automated support with design parsing of structured pages or with natural language processing
Design in HTML
Applicationdescriptions in natural languages
Enterprise systems: development of business process applications including several tasks
Use less-granular and independent services for loosely-coupled system construction
SOC'12 @ Sokendai 13Fuyuki Ishikawa
Historical Contexts: Software Engineering
Personnel affair, Accounting affair, …
Staff management application
Add business trip management application?
Connecting with partner systems?
Difficulties in changes due to dependencies in tight coupling
Concept of ”Services”Independent of each other and can be combined in a loosely-coupled mannerTypically less granular than general “components”, to be meaningful for supporting human activitiesPublished with self-describing information on their functionality and quality aspectsAccessed via internet standards (HTTP/XML)
Aiming at constructing a system in an agile and flexible way by means of combining services available on the network
SOC'12 @ Sokendai 14Fuyuki Ishikawa
RE: Service-Oriented Computing: Summary
SOC'12 @ Sokendai 15Fuyuki Ishikawa
Service-Oriented Computing: Visions
Loosely-coupled systems by combining services meaningful for human activities!
High interoperability by following the Webstandards!
“Smarter” support by machines with machine-accessible services!
Software Engineering
Distributed Computing
Web/AI
??
Lightweight techniquesNon-XML techniques (e.g., JSON)No machine-accessible self-description
behind JavaScript (Ajax) web applications and smartphone applicationsCloud computing
Computational resources provided as servicesA variety of aspects actually discussed
Scalable, pay-per-use resource use (next slides)Everything put on Internet (Gmail, Evernote, …)Big data processing (MapReduce/Hadoop)
SOC'12 @ Sokendai 16Fuyuki Ishikawa
Recent Trends
The NIST Definition of Cloud Computing(Sep 2011)
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.
SOC'12 @ Sokendai 17Fuyuki Ishikawa
Cloud Computing: Definition by NIST (1)
Essential characteristicsOn-demand self-serviceBroad network accessResource poolingRapid elasticityMeasured Service
Service modelsSaaS, PaaS, IaaS
Deployment modelsPrivate, Community, Public, Hybrid
SOC'12 @ Sokendai 18Fuyuki Ishikawa
Cloud Computing: Definition by NIST (2)
SaaS (Software-as-a-Service)Package softwareGmail, Salesforce CRM, Microsoft Online Services, etc.
PaaS (Platform-as-a-Service)Platform often including automated management middleware for specific programming languagesForce.com, Google App Engine, Windows Azure, etc.
IaaS (Infrastructure-as-a-Service)Infrastructure including virtual machines and storages for free use casesAmazon EC2, Nifty Cloud, etc.
SOC'12 @ Sokendai 19Fuyuki Ishikawa
Cloud Computing: Service Classification
Animoto: made its movie creation/browsing service open to Facebook users (2008)
Amazon EC2: 4,000 servers (originally 50) to handle 250 thousands users (originally 25 thousands) after 3 days
White House: prepared a questionnaire web site (2009)
Google App Engine: 100 thousands questions and 3.6 million answers in 2 days (max 600 query/second)
Twitter, Nasdaq, …Scaling
SOC'12 @ Sokendai 20Fuyuki Ishikawa
Cloud Computing: Applications (1)
New York Times: converted newspaper images of 100 years (several TBs) into PDF (2007)
Amazon EC2: 100 virtual machines for 24 hours (about $1,250)
Japanese ministry/city: prepared systems for emergent and temporal requirements (e.g., 定額給付金) (2009)
Force.com
Quick start up and withdraw
SOC'12 @ Sokendai 21Fuyuki Ishikawa
Cloud Computing: Applications (2)
Introduction to Service-Oriented ComputingDefinitionsHistorical Contexts
SyllabusAim and ApproachScheduleEvaluation CriteriaReferences
SOC'12 @ Sokendai 22Fuyuki Ishikawa
TOC
1. Understand principles, fundamental theories and techniques on distributed computing and XML, as foundations for web services and clouds.
2. Understand basic concepts, realization techniques, and applications of web services and clouds, and discuss advantages and disadvantages of different approaches.
SOC'12 @ Sokendai 23Fuyuki Ishikawa
Aim of the Course
This course is somewhat “omnibus”:an overview of the recent visionary area together with underlying foundationsYou should have solid knowledge on scientific & engineering principles if you do research or development actually
Distributed computingSoftware architecture and engineeringSemantic web and knowledge processingetc.
SOC'12 @ Sokendai 24Fuyuki Ishikawa
Notes
Introduction to Service-Oriented ComputingDefinitionsHistorical Contexts
SyllabusAim and ApproachScheduleEvaluation CriteriaReferences
SOC'12 @ Sokendai 25Fuyuki Ishikawa
TOC
1 Introduction
2 Basics: Distributed Objects
3 Basics: XML
4 Web Services: Foundations
5 Web Services: Composition
6 Web Services: Implementation
7 Related Topics (1): Reliability
SOC'12 @ Sokendai 26Fuyuki Ishikawa
Course Plan
8 Related Topics (2): Security
9 Related Topics (3): Engineering
10 Related Topics (4): Semantic Web
11 Cloud Computing (1): Overview
12 Cloud Computing (2): Experience
13 Discussion and Summary
14 Students’ Presentation
SOC'12 @ Sokendai 27Fuyuki Ishikawa
Course Plan
Introduction to Service-Oriented ComputingDefinitionsHistorical Contexts
SyllabusAim and ApproachScheduleEvaluation CriteriaReferences
SOC'12 @ Sokendai 28Fuyuki Ishikawa
Course Plan (possibly to be updated)
Scoring: attendance + reportFor attendance: 5 points for 1 attendanceAnyway please tell me when you are absent
For conference presentationsFor health or other issues
For report (20 min. presentation): 30 pointsOn a research paper or a specification/reportOn an implementation of service-based application
SOC'12 @ Sokendai 29Fuyuki Ishikawa
Evaluation Criteria
Introduction to Service-Oriented ComputingDefinitionsHistorical Contexts
SyllabusAim and ApproachScheduleEvaluation CriteriaReferences
SOC'12 @ Sokendai 30Fuyuki Ishikawa
TOC
Webサービスコンピューティング青木 利晴監修・電子情報通信学会編,2005Brief introduction in Japanese
Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and MoreWebサービスプラットフォームアーキテクチャ
S. Weerawarana et al., Prentice Hall, 2005丸山宏ら訳,エスアイビーアクセス,2006Comprehensive overview of related standards
SOC'12 @ Sokendai 31Fuyuki Ishikawa
Books
Semantic Web Services: Concepts, Technologies, and Applications
R. Studer et al., Springer, 2007Introduction to semantic web services including visionary scenarios and state-of-the-art for different aspects
Service-Oriented Computing: Semantics, Processes, Agents
M. P. Singhs et al., Wiley, 2005Introduction to service-oriented computing, from viewpoints of multi-agent systems
SOC'12 @ Sokendai 32Fuyuki Ishikawa
Books
SOA大全 サービス指向アーキテクチャ導入・設計・構築の指針
Dirk Krafzig et al., Prentice Hall, 2004山下眞澄 監訳,日経BP社,2005Comprehensive description of SOA for enterprise
クラウド大全 第2版 サービス詳細から基盤技術まで
日経BP社出版局(編集),日経BP社,2010Japanese introduction to cloud computing
SOC'12 @ Sokendai 33Fuyuki Ishikawa
Books
IEEE Transaction on Services Computinghttp://www.computer.org/portal/web/tsc
ConferencesICSOC, IEEEICWS/SCC: general service-oriented computingSOCC, IEEE Cloud: general cloud computingBPM: business process managementIn any conferences on fundamental techniques (AAAI, ICSE, CAiSE, etc.)
SOC'12 @ Sokendai 34Fuyuki Ishikawa
State-of-the-Art of Research
Apr 18Basics: Distributed Objects
Object-Oriented Programming (Brief Review)Requirements for Infrastructure of Distributed ObjectsCORBA
SOC'12 @ Sokendai 35Fuyuki Ishikawa
Next