GithubHelp home page GithubHelp logo

fuse_integration_advanced's Introduction

Fuse Integration Advanced Level

Table of Content

1. Introduction

This GitHub repository contains the lab instructions and code for the use cases to be implemented by the students during the Fuse Integration Advanced Level course session. This page lists the uses cases available and provides for each use case :

  • A description of the problem to be resolved,

  • The technologies involved,

  • The time estimated to design the solution and

  • The criteria to be used to evaluate the result provided by the student

At the beginning of each day, a short presentation of the use cases/problems to resolve (= to be developed) will be presented. Next, the students will start to work on their project. They will submit to the teacher the solution to be evaluated. A git repository will be created for the purposes of the session with a branch / user. Ideally, the evaluation results should be next discussed/challenged with the Enterprise Integration Practice Leader to determine the next steps.

The use cases available are grouped by module and they correspond to skills set to be acquired by the student

2. Modules

  • Web Service Security

    • WS Security

      • The set of JUnit tests to be developed in this section relate to the WS-Security spec. The CXF JaxWsServerFactoryBean and JaxWsProxyFactoryBean classes are used to setup the client and server. WSS4J client and servers interceptors are initialised with the security properties. This embeds in the SOAP WSSE header section a username and timestamp to authenticate the client. One of the usecases issues the user with an incorrect password and the test is expected to fail due to security processing. Another usecase issues the user with a correct password retrieved from the PwdCallback class and is expected to succeed. The student will need to validate that the correct response is received by the client. The test signature usecase has the student include a section in the header to sign the message sent by the JAX-WS client using the SHA256 algorithm. The sign and encrypt usecase has the student include a WSSE section in the SOAP header to sign and encrypt the message generated by the JAX-WS client.

    • WS Security Policy

      • An identical set of tests are to be written in this section using WS Security Policy. In contrast to the WS Security set of JUnit tests, this section uses a WSDL first approach to embed security policy assertions within the WSDL file. The student will use the CXF Bus class to create the WS client and server.

    • WS Trust

      • WS Trust deals with issuing, validating and renewing security tokens and managing trust relationships between parties in a secure conversation. It uses the Security Token Service (STS) - a web service that issues security tokens as defined in the WS-Security spec. The test will start an STS and a web service. The CXF Bus class will be used to create the service and ports to invoke the service.

    • Encryption/decryption of a message payload

      • The set of tests to be performed in this section include testing XML encryption and decryption. In addition, a test will be developed that encrypts a SOAP message and decrypts the response to verify that it is the expected one. A Java keystore and truststore are used as repositories of security certificates. The XMLSecurityDataFormat class is used, along with marshal and unmarshal processors, to perform the encryption and decryption.

  • REST Security

    • HTTPS & TLS

    • Endpoint security with JAAS

    • REST Provider

    • SAML

    • Oauth2

    • API Management & SSO

  • Persistence and Transactions

    • Persistence using Apache JPA, JDBC & SQL components

    • Persistence using Camel running On WildFly

    • Idempotent Persistent Processor

    • NoSQL component - Infinispan

    • Camel transactions

    • Transacted route and transacted clients

  • Service Activity Monitoring

    • Use EIP patterns to collect the Business information

    • Intercept Camel Exchanges using the consumer, producer or a condition

    • Collect information using Event notification mechanism

    • Integrate your Camel project with ELK

    • Extend the JMX Layer to expose your MBeans

  • Large File Processing

    • Consume Large Files or Data Stream

    • Split the content using the Tokenize & Xpath Languages

    • Process the dataflow in parallel

    • Use of the stream component

fuse_integration_advanced's People

Contributors

cmoulliard avatar nandanj avatar jbride avatar catskyles avatar rhjcd avatar

Watchers

James Cloos avatar  avatar

Forkers

berkeragir

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.