Lab resources, code samples and other materials used in the course about Introduction to Service Design and Engineering, developed at the Department of Information Engineering and Computer Science of the University of Trento, Italy.
Each module is prepared to match one hands-on session. However, depending on how fast we move forward in reality, it might be that some modules take less than one session, while other take more.
-
LAB00: Lab Requirements: The required tools for working in the lab hands-on session. Make sure you visit this page to find out what you will need for the next lab and a brief introduction of what to expect.
-
LAB01: Introduction to the Lab and Brief Java Review: Introduction to the course by taking a brief look to the architecture of the web and looking at where our work will concentrate within that architecture. Review of the tools and technologies we will use, with emphasis on the programming language: Java. For those without experience in Java, there will be a brief hands on tutorial.
-
LAB02: Java Exercises. Ant. First service example with Axis2: Some more of Java with Eclipse as IDE. Learn about some build automation through Apache Ant. Exposed Java methods as services with Axis2 as our first glimpse to the implementation of the SOA world.
-
LAB03: A first view to XML, XPATH & XML Schemas: How do services communicate? What's the language in which messages traverse the realms of SOAs?. In this module, we will give a look to the cornerstone language of service-oriented architectures: XML. We will do so by exploring a framework for navigating the content of an xml programmatically. We will also explore very briefly how to define and validate XML Schemas.
-
LAB04: Mapping XML to/from Objects. JSON]: To facilitate the lives of programmers around the world (at least for some), a long time ago we humans created object-oriented programming. But how do we go from objects to serialized representations of them in XML or JSON? And viceversa?. In this module, we will be mapping XML/JSON from and to Objects. What we covered up to here is also the base-ground we need before we start implementing actual services.
-
LAB05: REST (1): REST architectural style. Building RESTful web services (I).
-
LAB06: REST (2): Building RESTful web services (II).
-
LAB07: REST (3): Building RESTful web services (III).
-
LAB08: Databases: Serving and modifying Data from Databases. Persistence with JPA.
-
LAB09: SOAP (1): SOAP protocoal and web services.
-
LAB10: SOAP (2): JAX-WS services.
-
LAB11: SOAP (3): JAX-WS with JPA.
The code in this repository is an update of the original trunk of source code of the 2013 session, available at introsde2013. In each session, a README.md file contains all the instructions and related concepts.