Duration
5 days
Introduction
A service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network. A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online. Different services can be used in conjunction to provide the functionality of a large software application. Service-oriented architecture is less about “how to modularize an application”, and more about “how to compose an application by integration of distributed, separately-maintained and deployed software components”.
Service-oriented architecture can be implemented with Web services. Web services allow functional building-blocks to be accessible over standard Internet protocols, independent of platforms and programming languages. Some of the components commonly used to implement SOA are
- Web services based on WSDL and SOAP
- Messaging, e.g., with ActiveMQ,
- RESTful HTTP, with Representational state transfer (REST) constituting its own constraints-based architectural style
- High-level programming languages such as BPEL extend the service concept by providing a method of defining and supporting orchestration of fine-grained services into more coarse-grained business services, which architects can in turn incorporate into workflows and business processes implemented in composite applications or portals
Learning Objective
Participants who complete this course will understand the basic concepts of SOA and will be able to SOA using web service codes. The emphasis here is learning the basics of the web service, along with developing program using JAVA.
- Identify the building blocks of SOA
- Analyse the Java web services technology and platform
- Implement xml processing APIs
- Explain and monitor SOAP messages
- Apply SOAP with attachments API in web services
- Explain the web services description language (WSDL) and create a WSDL file
- Recognize the role of a Service Registry
- Implement web services using Java API for XML Web Services (JAX-WS) technology
- Develop web service clients
Audience
- Experienced programmers needing to learn SOA.
- Entry level programmers learning Web Service using Java.
Methodology
This programme is a combination of classroom lectures, demonstrations and lab exercises with computers.
Table of Contents
Day 1
- Introduction to Service Oriented Architecture and Computing
- Service Oriented Analysis and Design
- Service Oriented Architecture Connection Points
- The basic concepts of web services
- Required XML elements in a WSDL
- The structure and purpose of a SOAP message
- How to install an application server on which to run the web service applications
- How to install a web services implementation into an application server
- How to programmatically create a SOAP message
- How to create a client for a SOAP-based web service using Java and Apache Tomcat
- How to create a SOAP-based web service using Java and Apache Tomcat
- WSDL types, interface binding, service
- How to generate a WSDL file from a Java Class that represents a service
- How to generate a JAVA class that represents a service from a WSDL file
- How to generate a web service client from a WSDL file
Day 2
- What UDDI is and what UDDI is for
- The structure of UDDI data
- How to effectively represent WSDL using UDDI
- Operations you can perform on UDDI data
- Interacting with a UDDI registry using Java
- Building and verifying interoperable web services
- REST - Representational State Transfer
- JAX-RS with Jersey
- Web container
- Required setup for Gradle and Eclipse web projects
Prerequisites
- Create your first RESTful Webservice
- Create a REST client
- RESTful web services and JAXB
- CRUD RESTful webservice
Day 3
- What is an ESB?
- A Web services based ESB
- Introduction to Apache Synapse
- Connect, Manage, Transform
- Architecture of Apache Synapse
- Installing Apache Synapse
- Understanding Apache Synapse Structure and model
- Using Synapse to add smartness to the service network
- Deployment
- Configuration
- Programming model
- Examples and demo
Day 4
- ActiveMQ Fundamentals
- An overview of Messaging, Message Queues & Brokering
- Introduction to JMS
- ActiveMQ Architecture
- ActiveMQ Installation & Configuration
- Starting & Stopping the service
- ActiveMQ message store
- JDBC message store
- ActiveMQ Clustering & High Availability
- High Availability
- Monitoring
- Transactions
- JMS transactions
- Message orientated middleware and transactions
- Security
- Authentication & Encryption
Day 5
- Introduction to BPEL Business Process Execution Language
- Installing BPEL designer and Apache ODE on Eclipse v3.4.x
- Deploying "Hello World" BPEL process with Eclipse BPEL designer and Apache ODE.
- BPEL structured activities: Pick
- BPEL structured activities: If-Else
- BPEL structured activities: Flow
- BPEL structured activities: While
- Invoke a Web service with Eclipse BPEL designer and Apache ODE
- BPEL's example: Working with complex types and array type
Programme scope, delivery arrangements and suitability are confirmed during enquiry.