|
1 | 1 | # MicroProfile Tutorial
|
2 | 2 |
|
3 |
| -Based on the application generated by the MicroProfile Starter [web site](https://start.microprofile.io/). |
| 3 | +A tutorial about MicroProfile 4.x functionality. |
4 | 4 |
|
5 |
| -Tutorial is **under construction** and tutorial text needs to be copied into this repo. |
6 |
| - |
7 |
| -# MicroProfile generated Application |
8 | 5 |
|
9 |
| -## Introduction |
| 6 | +## starter |
10 | 7 |
|
11 |
| -MicroProfile Starter has generated this MicroProfile application for you. |
| 8 | +Application generated by the [MicroProfile Starter application](https://start.microprofile.io/). |
12 | 9 |
|
13 |
| -The generation of the executable jar file can be performed by issuing the following command |
14 | 10 |
|
15 |
| - mvn clean package |
16 | 11 |
|
17 |
| -This will create an executable jar file **demo-microbundle.jar** within the _target_ maven folder. This can be started by executing the following command |
18 | 12 |
|
19 |
| - java -jar target/demo-microbundle.jar |
| 13 | +## License |
20 | 14 |
|
21 |
| -To launch the test page, open your browser at the following URL |
22 |
| - |
23 |
| - http://localhost:8080/index.html |
24 |
| - |
25 |
| -## Specification examples |
26 |
| - |
27 |
| -By default, there is always the creation of a JAX-RS application class to define the path on which the JAX-RS endpoints are available. |
28 |
| - |
29 |
| -Also, a simple Hello world endpoint is created, have a look at the class **HelloController**. |
30 |
| - |
31 |
| -More information on MicroProfile can be found [here](https://microprofile.io/) |
32 |
| - |
33 |
| - |
34 |
| -### Config |
35 |
| - |
36 |
| -Configuration of your application parameters. Specification [here](https://microprofile.io/project/eclipse/microprofile-config) |
37 |
| - |
38 |
| -The example class **ConfigTestController** shows you how to inject a configuration parameter and how you can retrieve it programmatically. |
39 |
| - |
40 |
| - |
41 |
| - |
42 |
| -### Fault tolerance |
43 |
| - |
44 |
| -Add resilient features to your applications like TimeOut, RetryPolicy, Fallback, bulkhead and circuit breaker. Specification [here](https://microprofile.io/project/eclipse/microprofile-fault-tolerance) |
45 |
| - |
46 |
| -The example class **ResilienceController** has an example of a FallBack mechanism where an fallback result is returned when the execution takes too long. |
47 |
| - |
48 |
| - |
49 |
| - |
50 |
| -### Health |
51 |
| - |
52 |
| -The health status can be used to determine if the 'computing node' needs to be discarded/restarted or not. Specification [here](https://microprofile.io/project/eclipse/microprofile-health) |
53 |
| - |
54 |
| -The class **ServiceHealthCheck** contains an example of a custom check which can be integrated to health status checks of the instance. The index page contains a link to the status data. |
55 |
| - |
56 |
| - |
57 |
| - |
58 |
| -### Metrics |
59 |
| - |
60 |
| -The Metrics exports _Telemetric_ data in a uniform way of system and custom resources. Specification [here](https://microprofile.io/project/eclipse/microprofile-metrics) |
61 |
| - |
62 |
| -The example class **MetricController** contains an example how you can measure the execution time of a request. The index page also contains a link to the metric page (with all metric info) |
63 |
| - |
64 |
| - |
65 |
| - |
66 |
| -### JWT Auth |
67 |
| - |
68 |
| -Using the OpenId Connect JWT token to pass authentication and authorization information to the JAX-RS endpoint. Specification [here](https://microprofile.io/project/eclipse/microprofile-rest-client) |
69 |
| - |
70 |
| -Have a look at the **JWTClient** class which calls the protected endpoint on the server from a Java Main method. |
71 |
| -The **ProtectedController** contains the protected endpoint since it contains the _@RolesAllowed_ annotation on the JAX-RS endppoint method. |
72 |
| - |
73 |
| - |
74 |
| - |
75 |
| - |
76 |
| -### Open API |
77 |
| - |
78 |
| -Exposes the information about your endpoints in the format of the OpenAPI v3 specification. Specification [here](https://microprofile.io/project/eclipse/microprofile-open-api) |
79 |
| - |
80 |
| -The index page contains a link to the OpenAPI information of your endpoints. |
81 |
| - |
82 |
| - |
83 |
| - |
84 |
| - |
85 |
| -### Open Tracing |
86 |
| - |
87 |
| -Allow the participation in distributed tracing of your requests through various micro services. Specification [here](https://microprofile.io/project/eclipse/microprofile-opentracing) |
88 |
| - |
89 |
| -Example needs to be created. |
90 |
| - |
91 |
| - |
92 |
| - |
93 |
| - |
94 |
| -### Rest Client |
95 |
| - |
96 |
| -A type safe invocation of HTTP rest endpoints. Specification [here](https://microprofile.io/project/eclipse/microprofile-rest-client) |
97 |
| - |
98 |
| -Example needs to be created. |
| 15 | +Code provided under the Apache License. |
99 | 16 |
|
| 17 | +Documentation provided under the _Creative Commons Attribution Share-Alike_ [license](https://opendefinition.org/licenses/cc-by-sa/). |
0 commit comments