02267: Software Development of Web Services
Introduction Hubert Baumeister
huba@dtu.dk
Department of Applied Mathematics and Computer Science Technical University of Denmark
January 2019
1
02267: Software Development of Web Services Introduction Hubert - - PowerPoint PPT Presentation
02267: Software Development of Web Services Introduction Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark January 2019 1 Contents Why Services? Why Web Services? Demo
1
2
◮ Web services ◮ Microservices ◮ Service-oriented Architecture (SOA)
◮ 02220 on distributed systems 3
4
5
6
◮ . . . 7
Business logic / Business processes Web services W e b S e r v i c e s Business logic / Business processes Database Access Layer DB DB Database Access L. Web App Mobile App
Company 1 Company 2
8
9
◮ Web services ◮ OSGi services ◮ Grid services ◮ Cloud services ◮ . . . 10
◮ Services represent self contained units of logic (one
11
◮ Based on open standards ◮ Vendor neutral / vendor diversity 12
13
14
◮ Previous: Java RMI, .COM, DCOM, CORBA, . . . ◮ Different access ports and protocols
◮ Use of Web standards: HTTP
◮ Fixed port (i.e. HTTP port 80); XML/SOAP as standard
15
◮ Don’t return HTML but SOAP
16
17
18
◮ WSDL and XML Schema help with that
◮ Security ◮ Meta information (Authorization, Authentification, Dialogs,
◮ . . . 19
20
◮ Google, Twitter, . . . provide public Web services
◮ Request and store data from the server ◮ Request computations (like route calculations, image
◮ Within a company / across companies (Business to
21
◮ Use HTTP protocol to exchanged SOAP messages (special
◮ SOAP messages, however, are independent of HTTP (one
◮ Based on the concept of services as functions
◮ Use the concepts behind HTTP
22
23
24
Process Start Process End ReceiveOrder Sequen... OrderRe... Sequenc... Reply Payment OnMessage Message DoPayment Sequence6 Scope1 ShipOrder OnAlarm Timer NoPaym...
25
26
◮ Bottom Up: Service class first ◮ Top Down: Service description in the Web Service
◮ Using XMLSchema to represent complex datatypes
◮ Composition and coordination of Web services ◮ Business Process Execution Language (BPEL)
◮ e.g. Reliability of message exchange, security (privacy and
◮ Simple Web services ◮ How to model business processes with RESTful services ◮ What is the difference between SOAP-based and RESTful
27
28
◮ Examples and exercises use Unix (Linux / FreeBSD), Mac,
◮ Software needs to be installed ◮ Shell commands; Shell-scripts need to be written or
29
30
◮ Teams of 6 (Team building today) ◮ Implementing software using a Microservice architecture ◮ Writing a report
◮ Thursday + Friday (24.1 – 25.1.) 31