SlideShare una empresa de Scribd logo
1 de 87
Descargar para leer sin conexión
Microservices Server – MSS
Workshop
Edgar Silva
edgar @wso2.com
o This workshop is intend to cover how to use the WSO2
Microservices Server – MSS, we will cover some basic
overview about some concepts, but we strongly
recommend you look for more detailed basics about
Microservices.
o Recommended reading:
o http://nginx.com/blog/introduction-to-microservices/
o https://www.nginx.com/blog/building-microservices-using-an-api-
gateway/
2
3
4
Basics Pre-Reqs
o Java 8
o Maven
o See the MSS’s releases page:
o https://github.com/wso2/product-mss/releases
o Let’s work direct from the source:
o Git pull
o https://github.com/wso2/product-mss
o Or simply download from this url: (easier)
https://github.com/wso2/product-mss/archive/master.zip
5
6
o So, cd
<MSS_HOME>/samples
o Make you sure you could
import the project
hello_world
7
o Go to the dir:
o <MSS_HOME>/samples/hello_world
o Type:
mvn package
8
o After Maven process
o ( be pacient while downloading  )
o What is happening:
o The pom.xml inside the sample, inherits the dependencies
from the root’s pom.xml, that’s why you don’t need to worry
with this process
o In a few (seconds) you will have a hello_service....jar into
your target folder.
9
10
• WSO2 Microservices Server booting in my case less than 300ms
• In the previous maven process, every dependency from other jars were
included into your helloworld-1.0.0-SNAPSHOT.jar, including the reference
to the Main Java Class.
• Everything you need is ready 
11
package org.wso2.carbon.mss.example;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
/**
* Hello service resource class.
*/
@Path("/hello")
public class HelloService {
@GET
@Path("/{name}")
public String hello(@PathParam("name") String name) {
return "Hello " + name;
}
}
}
JAX-RS
Simple class (REST Endpoint
REST Java Method
o The simplest Java Class startup
o See the main method:
12
public class Application {
public static void main(String[] args) {
new MicroservicesRunner()
.deploy(new HelloService())
.start();
}
13
edgar$ curl -v http://localhost:8080/hello/valentina
o Take a look on this:
o http://www.confusedbycode.com/curl/
14
o Thanks @jpviragine for that great tip:
https://github.com/jkbrzt/httpie
o Really great tool, works like cURL, but much better and more user friendly
o Syntax: http <options> service or URL
o But if you prefer to be “roots”, ok, continue if cURL
15
16
public class Application {
public static void main(String[] args) {
new MicroservicesRunner(7888, 8888)
.deploy(new HelloService())
.start();
}
Services exposed through different ports(*)
(*) Default port is 8080 when no ports are specified
17
1. Enter in the <mss_home>/samples/stockquote-
service
2. mvn package
3. java -jar target/stockquote-service-1.0.0-
SNAPSHOT.jar
18
o In the console type: (Windows Users
o curl -v http://localhost:8080/stockquote/GOOG
19
o Now we will send a POST message to our Service:
o Please type (or copy and paste) the following command:
o curl -v -X POST -H "Content-Type:application/json" -d
'{"symbol":"BVMF","name":
"Bovespa","last":149.62,"low":150.78,"high":149.18,"createdByHost":"localh
ost"}' http://localhost:8080/stockquote
o This command will save a new Symbol into our Stock Quote Service
20
o You had used:
o Java 8 + maven for building our samples and
exercises
o Executed Microservices with basic jar –jar approach
o You saw how easy you can build REST Services and
deploy them into your Mic’service Server (powered by
WSO2)
21
22
o Several approaches for a “decoupled SOA”
o In this tutorial we will use the “Container-based
approach”
o Microservices are about:
o Lighter
o Business Need Oriented
o Composable
23
24
Web
Server
ASP.NET ADO.NET
Windows OS
.NET CLR RuntimeFront-Store
HTML
25
Web
Server
Web
Framework
(JSF,
Struts, etc)
Persitence
(JPA,
Hibernate,Sprin
gTemplates)
Any OS
JVM
Other
(JMS, JTA
etc)
App Server
Front-Store
HTML
26
Product Service
get /products
post /products
get /products/{id}
get /products/offset/10/1
CustomerService
get /customers
post /customers
get /customers/{id}
get /customers/export
AddressService
get /address
post /address/{zip}
get /address/geo/{x}/{y}
3Examples
27
Product Service
CustomerService
AddressService
AddressService ProductService
Customer
Service
AddressService Customer Service
SinglePage APP
HTML
FrontStoreService
Delivery Service
o Quick deployments
o You are deploying a loosely-coupled, modular
component only 
o Not a huge EAR with dozens of Jars as you used to do in a
monolithic enterprise App
28
29
Monolithic
Microservices
Reference: http://martinfowler.com/articles/microservices.html#ComponentizationViaServices
30
Paulo Merson https://insights.sei.cmu.edu/saturn/2015/11/defining-microservices.html
Great definition, written by another Brazilian 
From an architecture perspective, the microservice style belongs primarily to
the deployment view.
It dictates that the deployment unit should contain only one service or
just a few cohesive services.
The deployment constraint is the distinguishing factor. As a result,
microservices are easier to deploy, become more scalable, and can be
developed more independently by different teams using different
technologies.
“
o Benefits of using microservices:
o Deployability
o Availability
o Scalability
o Modifiability
o Management
31
Paulo Merson https://insights.sei.cmu.edu/saturn/2015/11/microservices-beyond-the-hype-what-you-gain-and-what-you-lose.html
( Great post )
o I would add:
o Deployability
o Availability (Auto-Scaling via Containers)
o Analytics
o Scalability
o Modifiability
o Management
32
Paulo Merson https://insights.sei.cmu.edu/saturn/2015/11/microservices-beyond-the-hype-what-you-gain-and-what-you-lose.html
33
o Part 2:
We ship in the distro
an example showing how to
run a whole deploy from several
different container machines managed
by Kubernetes.
34
o In your command line, go to your:
<mss_home>/samples/petstore
o Enter in deployment folder and execute: run.sh
o That’s all, time to get some juice, it will download everything you need:
o Vagrant
o CoreOS
o Kubernetes
o Docker
35
o https://github.com/wso2/product-
mss/tree/master/samples/petstore/deployment/kubernete
s-vagrant-coreos-cluster
o Disclaimer: This tutorial is focused on WSO2 Micro
Services Server – MSS, and some introduction to the
basics on Kubernetes is strongly recommended before
you move forward on this tutorial.
36
37
This step will get a few minutes, according to your internet and machine,
So get relaxed while you can enjoy some “Matrix-like” in your console
http://thenextweb.com/wp-content/blogs.dir/1/files/2013/11/relax-at-work.jpg
 Double check if your JAVA_HOME is Java 8
 Please , if you are using MacOS, make sure you that you have wget
installed.
 Recommend you use brew install wget
 If you get errors communicating with Kubernetes nodes, please add this
variable before execute run.sh:
 export KUBERNETES_MASTER=http://172.17.8.101:8080
 That will be the default Kubernetes UI Console and API Address
38
39
Our traditional Pet Store Sample
has the following Microservices …
fileserver frontend-admin frontend-user
Pet (store) transactionsecurity
o If you are using VirtualBox as the Hypervisor
(recommended), you will see the following 3
VMs started
40
o Please, execute the command:
o kubectl get pods
o The result must be like this:
41
All the pods, must be
Like this, keep repeating
This process until all get
ready
o Please, execute the command:
o kubectl get pods
o The result must be like this:
42
Troubleshooting:
If your pet-xxx appears
the READY info as 0/1
It might be not initialized
Syncronized with Redis.
To solve that, execute:
./clean.sh and later on
./petstore.sh
o Kubernetes UI
o Nodes
o Services
o Pods
o General Info
o Pet Store Admin (PHP App)
o Pet Store Site (PHP App)
43
http://172.17.8.101:8080/ui
Here is the Kubernetes Admin that you can open in your browser
44
Relationship between the VMs and Kubernetes (Nodes)
45
Here you can see the Ips
Attached to the each Node
46
Viewing the Pods
http://kubernetes.io/v1.0/docs/user-guide/pods.html
47
Viewing the Pods
http://kubernetes.io/v1.0/docs/user-guide/pods.html
48
Viewing the Services
49
Viewing Replication Controllers
In Kubernetes, the base unit of deployment is a pod (intro to pods), which is a
group of containers that work together and therefore are logically grouped. The
replication controller stores a pod template in order to create new pods if
needed.
https://coreos.com/kubernetes/docs/latest/replication-controller.html
50
Your Machine OS
Hypervisor
Kubernetes Cluster-Master
K8S Node 01 K8S Node 02
Pods Pods
Replication Controller
Service
51
Your Machine OS
Hypervisor
Kubernetes Cluster-Master
K8S Node 01 K8S Node 02
Pods Pods
Replication Controller
Service
Browser
52
Your Machine OS
Hypervisor
Kubernetes Cluster-Master
K8S Node 01 K8S Node 02
Pods Pods
Replication Controller
Service
Browser
NGINX
53
Getting Actual pods:
$ kubectl get pods
54
Getting details about some pod, for instance
$ kubectl describe pods store-fe-r43hm
55
Getting details about some pod, for instance
$ kubectl describe pods store-fe-r43hm
Please, note here which is the
Pod internal IP: 10.244.36.23
And in which Node this pod
Is actually running
Important: notice that the pod’s id
will change if you restart your
environment 
In my actual case, my pod is
store-fe-<id>, id= r43m
56
Getting Actual Services:
$ kubectl describe service store-fe
57
Persistence Repository / Services
"Containerized” Microservices based in pure java –jar approach
Client Apps (PHP)
petstore-admin petstore
58
You will need to browse the service: admin-fe
http:// Node Server IP: Node Port
Ex: http://172.17.8.102:30984/
59
admin/admin
Microservices Server - MSS Workshop
Microservices Server - MSS Workshop
fileserver
63
You will need to browse the service: store-fe
http:// Node Server IP: Node Port
Ex: http://172.17.8.102:31466/
Microservices Server - MSS Workshop
Here the Microservices Transaction
Is invoked.
o Executing the petstore sample
o Understanding the basics from Kubernetes and
its concepts, such as pods, services and
Replication Controller.
o Executing the Services and Apps
o Proposed Lab:
o Execute the previous samples from Part1 in
Kubernetes + Docker
67
68
o Please go to : http://wso2.com/products/data-analytics-server/
o Download the product
o Install the product:
1. Unzip
2. That’s all
3. Let’s call your installation destination folder as DAS_HOME from now
on
o MySQL for this sample is also required
69
o Step 1: Configure WSO2 DAS
1. Go to <MSS_HOME>/analytics/das-setup and execute setup.sh :
1. /setup.sh -d <DAS_HOME> -u admin -p
2. Done, everything will be done by the script!
70
o Step 2: Execute DAS Server
1. Enter in DAS_HOME
2. Make sure that Java 8 is in the path
3. Type sh bin/wso2server.sh
4. Wait until to see a message in the console like this:
5. Open this browser URL, it will let you see the WSO2
Data Analytics Server Console (default user admin
and password admin)
71
72
WSO2 DAS is ready and configured!
o Step 3: (based on
https://github.com/wso2/product-
mss/tree/master/samples/metrics)
1. Go to <MSS_HOME>/samples/metrics
2. Execute mvn clean install
3. Please, export the following system variables:
1. export METRICS_REPORTING_DAS_DATAAGENTCONFIGPATH="data-agent-conf.xml”
2. export HTTP_MONITORING_DAS_DATAAGENTCONFIGPATH="data-agent-conf.xml”
73
4. Execute: $ java -jar target/metrics-*.jar
5. Invoke the following URLs via command line:
o curl -v http://localhost:8080/test/rand/500
o curl -v http://localhost:8080/test/total/10
o curl -v http://localhost:8080/test/echo/test
o curl -v http://localhost:8080/student/910760234V
o curl -v --data
"{'nic':'860766123V','firstName':'Jack','lastName':'Black','age':
29}" -H "Content-Type: application/json"
http://localhost:8080/student
o curl -v http://localhost:8080/student/860766123V
o curl -v http://localhost:8080/student
74
o What is happening:
o Now, after the invocation from cURLs, some
information were sent from WSO2 Microservices
Server to WSO2 Data Analytics Server.
o The Metrics are also present in the command line
where you are running the jar:
75
76
@GET
@Path("/{nic}")
@Produces("application/json")
@Timed
@HTTPMonitoring
public Student getStudent(@PathParam("nic") String nic) {
return students.get(nic);
}
@POST
@Consumes("application/json")
@Metered
@HTTPMonitoring
public void addStudent(Student student) {
students.put(student.getNic(), student);
}
org.wso2.carbon.mss.example.service.StudentService.java
78
<Agent>
<Name>Thrift</Name>
<DataEndpointClass>
org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftDataEndpoint
</DataEndpointClass>
<TrustSore>client-truststore.jks</TrustSore>
<TrustSorePassword>wso2carbon</TrustSorePassword>
….
Thrift
This file is in charge to define how will MSS communicate with DAS
https://localhost:9443/monitoring/
79
Microservices Server - MSS Workshop
o http://kubernetes.io/v1.1/
o https://www.digitalocean.com/community/tutorials/an-introduction-to-
kubernetes
o https://insights.sei.cmu.edu/saturn/2015/11/defining-
microservices.html
o http://www.slideshare.net/afkham_azeez/wso2con-
2015usintroductiontomssv2?related=1
o http://www.slideshare.net/afkham_azeez/wso2conus-2015-
introduction-to-wso2-microservices-server-mss?related=2
82
o http://wso2.com/products/microservices-server/
o Lightweight and fast runtime
o 6MB pack size
o Starts within 400ms
o Based on the new WSO2 Carbon 5.0 kernel
o ~25MB memory consumption for the WSO2 MSS framework
o Simple development, deployment, and monitoring
o WSO2 Developer Studio-based tooling for generating microservices projects starting from a Swagger API
definition
o Built-in metrics and analytics APIs via WSO2 Data Analytics Server
o Tracing of requests using a unique message ID
o High scalability and reliability
o Transport based on Netty 4.0
o JWT-based security
o Custom interceptors
o Streaming input and streaming output support
o Comprehensive samples demonstrating how to develop microservices applications
83
o Tutorial done!
o Next steps:
o Keep watching how WSO2 MSS will evolve
o Don’t miss our upcoming Webinars covering this and
even more
84
o Please, if you need to understand more, or want
to talk to one of our specialists to help you and
your company’s projects, please contact us
here:
o http://wso2.com/contact/
85
86
@jedgarsilva
http://www.wso2.com
Edgar Silva
edgar@wso2.com
Contact us !

Más contenido relacionado

La actualidad más candente

Glass fish performance tuning tips from the field
Glass fish performance tuning tips from the fieldGlass fish performance tuning tips from the field
Glass fish performance tuning tips from the fieldPayara
 
Introduction to Lagom Framework
Introduction to Lagom FrameworkIntroduction to Lagom Framework
Introduction to Lagom FrameworkKnoldus Inc.
 
Intro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumIntro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumEugene Hanikblum
 
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Andrea Dottor
 
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services Ambassador Labs
 
Monitoring and Tuning GlassFish
Monitoring and Tuning GlassFishMonitoring and Tuning GlassFish
Monitoring and Tuning GlassFishC2B2 Consulting
 
Microservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSMicroservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSDenis Danov
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entitySpring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entityToni Jara
 
Don't Assume Your API Gateway is Ready for Microservices
Don't Assume Your API Gateway is Ready for MicroservicesDon't Assume Your API Gateway is Ready for Microservices
Don't Assume Your API Gateway is Ready for MicroservicesAmbassador Labs
 
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...Víctor Leonel Orozco López
 
What’s New in Spring Batch?
What’s New in Spring Batch?What’s New in Spring Batch?
What’s New in Spring Batch?VMware Tanzu
 
Microservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMicroservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMongoDB
 
Changing the world with ZeroVM and Swift
Changing the world with ZeroVM and SwiftChanging the world with ZeroVM and Swift
Changing the world with ZeroVM and SwiftJakub Krajcovic
 
Andrea Di Persio
Andrea Di PersioAndrea Di Persio
Andrea Di PersioCodeFest
 
NGINX Plus R19 : EMEA
NGINX Plus R19 : EMEANGINX Plus R19 : EMEA
NGINX Plus R19 : EMEANGINX, Inc.
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudEberhard Wolff
 
Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Charles Moulliard
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersGunnar Hillert
 
What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? Ambassador Labs
 

La actualidad más candente (20)

Glass fish performance tuning tips from the field
Glass fish performance tuning tips from the fieldGlass fish performance tuning tips from the field
Glass fish performance tuning tips from the field
 
Introduction to Lagom Framework
Introduction to Lagom FrameworkIntroduction to Lagom Framework
Introduction to Lagom Framework
 
Intro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumIntro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene Hanikblum
 
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
 
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
 
Monitoring and Tuning GlassFish
Monitoring and Tuning GlassFishMonitoring and Tuning GlassFish
Monitoring and Tuning GlassFish
 
Microservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSMicroservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSS
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entitySpring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
 
Don't Assume Your API Gateway is Ready for Microservices
Don't Assume Your API Gateway is Ready for MicroservicesDon't Assume Your API Gateway is Ready for Microservices
Don't Assume Your API Gateway is Ready for Microservices
 
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
 
What’s New in Spring Batch?
What’s New in Spring Batch?What’s New in Spring Batch?
What’s New in Spring Batch?
 
Microservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMicroservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of Sand
 
Changing the world with ZeroVM and Swift
Changing the world with ZeroVM and SwiftChanging the world with ZeroVM and Swift
Changing the world with ZeroVM and Swift
 
Andrea Di Persio
Andrea Di PersioAndrea Di Persio
Andrea Di Persio
 
Integration testing dropwizard
Integration testing dropwizardIntegration testing dropwizard
Integration testing dropwizard
 
NGINX Plus R19 : EMEA
NGINX Plus R19 : EMEANGINX Plus R19 : EMEA
NGINX Plus R19 : EMEA
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring Developers
 
What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0?
 

Destacado

WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...WSO2
 
Introducing The WSO2 Platform
Introducing The WSO2 Platform Introducing The WSO2 Platform
Introducing The WSO2 Platform WSO2
 
Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Sagara Gunathunga
 
Open Source Integration with WSO2 Enterprise Service Bus
Open Source Integration  with  WSO2 Enterprise Service BusOpen Source Integration  with  WSO2 Enterprise Service Bus
Open Source Integration with WSO2 Enterprise Service Bussumedha.r
 
WSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformWSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformAfkham Azeez
 
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASKasun Gajasinghe
 
WSO2Con EU 2016: Creating Microservices with WSO2 Microservices Framework fo...
WSO2Con EU 2016: Creating Microservices with WSO2 Microservices  Framework fo...WSO2Con EU 2016: Creating Microservices with WSO2 Microservices  Framework fo...
WSO2Con EU 2016: Creating Microservices with WSO2 Microservices Framework fo...WSO2
 
Discover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 AnalyticsDiscover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 AnalyticsSriskandarajah Suhothayan
 
The Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationThe Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationKasun Indrasiri
 

Destacado (10)

WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
 
Introducing The WSO2 Platform
Introducing The WSO2 Platform Introducing The WSO2 Platform
Introducing The WSO2 Platform
 
Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016
 
Open Source Integration with WSO2 Enterprise Service Bus
Open Source Integration  with  WSO2 Enterprise Service BusOpen Source Integration  with  WSO2 Enterprise Service Bus
Open Source Integration with WSO2 Enterprise Service Bus
 
WSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformWSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon Platform
 
Introduction to Apache Synapse
Introduction to Apache SynapseIntroduction to Apache Synapse
Introduction to Apache Synapse
 
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 AS
 
WSO2Con EU 2016: Creating Microservices with WSO2 Microservices Framework fo...
WSO2Con EU 2016: Creating Microservices with WSO2 Microservices  Framework fo...WSO2Con EU 2016: Creating Microservices with WSO2 Microservices  Framework fo...
WSO2Con EU 2016: Creating Microservices with WSO2 Microservices Framework fo...
 
Discover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 AnalyticsDiscover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 Analytics
 
The Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationThe Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital Transformation
 

Similar a Microservices Server - MSS Workshop

Workshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaWorkshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaEdgar Silva
 
Workshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services ServerWorkshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services ServerEdgar Silva
 
WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1Edgar Silva
 
Dessi docker kubernetes paas cloud
Dessi docker kubernetes paas cloudDessi docker kubernetes paas cloud
Dessi docker kubernetes paas cloudMassimiliano Dessì
 
Come costruire una Platform As A Service con Docker, Kubernetes Go e Java
Come costruire una Platform As A Service con Docker, Kubernetes Go e JavaCome costruire una Platform As A Service con Docker, Kubernetes Go e Java
Come costruire una Platform As A Service con Docker, Kubernetes Go e JavaCodemotion
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsFederico Michele Facca
 
Openshift cheat rhce_r3v1 rhce
Openshift cheat rhce_r3v1 rhceOpenshift cheat rhce_r3v1 rhce
Openshift cheat rhce_r3v1 rhceDarnette A
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIAndrey Karpov
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefMatt Ray
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java DevelopersImesh Gunaratne
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio Fumarola
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation ToolsEdwin Beekman
 
Kubernetes laravel and kubernetes
Kubernetes   laravel and kubernetesKubernetes   laravel and kubernetes
Kubernetes laravel and kubernetesWilliam Stewart
 
Analysis of bugs in Orchard CMS
Analysis of bugs in Orchard CMSAnalysis of bugs in Orchard CMS
Analysis of bugs in Orchard CMSPVS-Studio
 

Similar a Microservices Server - MSS Workshop (20)

Workshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaWorkshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and Java
 
Workshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services ServerWorkshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services Server
 
WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1
 
Dessi docker kubernetes paas cloud
Dessi docker kubernetes paas cloudDessi docker kubernetes paas cloud
Dessi docker kubernetes paas cloud
 
Come costruire una Platform As A Service con Docker, Kubernetes Go e Java
Come costruire una Platform As A Service con Docker, Kubernetes Go e JavaCome costruire una Platform As A Service con Docker, Kubernetes Go e Java
Come costruire una Platform As A Service con Docker, Kubernetes Go e Java
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platforms
 
Openshift cheat rhce_r3v1 rhce
Openshift cheat rhce_r3v1 rhceOpenshift cheat rhce_r3v1 rhce
Openshift cheat rhce_r3v1 rhce
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CI
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
 
London Hug 20/6 - Vault production
London Hug 20/6 - Vault productionLondon Hug 20/6 - Vault production
London Hug 20/6 - Vault production
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
 
Security Testing Using Infrastructure-As-Code
Security Testing Using Infrastructure-As-CodeSecurity Testing Using Infrastructure-As-Code
Security Testing Using Infrastructure-As-Code
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Excelian hyperledger walkthrough-feb17
Excelian hyperledger walkthrough-feb17Excelian hyperledger walkthrough-feb17
Excelian hyperledger walkthrough-feb17
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation Tools
 
Kubernetes laravel and kubernetes
Kubernetes   laravel and kubernetesKubernetes   laravel and kubernetes
Kubernetes laravel and kubernetes
 
Analysis of bugs in Orchard CMS
Analysis of bugs in Orchard CMSAnalysis of bugs in Orchard CMS
Analysis of bugs in Orchard CMS
 

Más de WSO2

Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 
API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)WSO2
 
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...WSO2
 
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It![ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!WSO2
 
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital EcosystemWSO2
 
[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAM[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAMWSO2
 

Más de WSO2 (20)

Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 
API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)API Revisions - WSO2 API Manager Community Call (10/27/2021)
API Revisions - WSO2 API Manager Community Call (10/27/2021)
 
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
[2021 Somos Summit] - Rethinking Identity Access Management and The Rise of t...
 
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It![ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
[ICT Spring 2021] - Managed Crowd: The Future of Business as We Know It!
 
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
[EIC 2021] Securing the Digital Double - The Path to a Trusted Digital Ecosystem
 
[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAM[EIC 2021] The Rise of the Developer in IAM
[EIC 2021] The Rise of the Developer in IAM
 

Último

Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
UiPath Studio Web workshop series - Day 5
UiPath Studio Web workshop series - Day 5UiPath Studio Web workshop series - Day 5
UiPath Studio Web workshop series - Day 5DianaGray10
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Juan Carlos Gonzalez
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 

Último (20)

Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
UiPath Studio Web workshop series - Day 5
UiPath Studio Web workshop series - Day 5UiPath Studio Web workshop series - Day 5
UiPath Studio Web workshop series - Day 5
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 

Microservices Server - MSS Workshop

  • 1. Microservices Server – MSS Workshop Edgar Silva edgar @wso2.com
  • 2. o This workshop is intend to cover how to use the WSO2 Microservices Server – MSS, we will cover some basic overview about some concepts, but we strongly recommend you look for more detailed basics about Microservices. o Recommended reading: o http://nginx.com/blog/introduction-to-microservices/ o https://www.nginx.com/blog/building-microservices-using-an-api- gateway/ 2
  • 3. 3
  • 5. o Java 8 o Maven o See the MSS’s releases page: o https://github.com/wso2/product-mss/releases o Let’s work direct from the source: o Git pull o https://github.com/wso2/product-mss o Or simply download from this url: (easier) https://github.com/wso2/product-mss/archive/master.zip 5
  • 6. 6
  • 7. o So, cd <MSS_HOME>/samples o Make you sure you could import the project hello_world 7
  • 8. o Go to the dir: o <MSS_HOME>/samples/hello_world o Type: mvn package 8
  • 9. o After Maven process o ( be pacient while downloading  ) o What is happening: o The pom.xml inside the sample, inherits the dependencies from the root’s pom.xml, that’s why you don’t need to worry with this process o In a few (seconds) you will have a hello_service....jar into your target folder. 9
  • 10. 10 • WSO2 Microservices Server booting in my case less than 300ms • In the previous maven process, every dependency from other jars were included into your helloworld-1.0.0-SNAPSHOT.jar, including the reference to the Main Java Class. • Everything you need is ready 
  • 11. 11 package org.wso2.carbon.mss.example; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; /** * Hello service resource class. */ @Path("/hello") public class HelloService { @GET @Path("/{name}") public String hello(@PathParam("name") String name) { return "Hello " + name; } } } JAX-RS Simple class (REST Endpoint REST Java Method
  • 12. o The simplest Java Class startup o See the main method: 12 public class Application { public static void main(String[] args) { new MicroservicesRunner() .deploy(new HelloService()) .start(); }
  • 13. 13 edgar$ curl -v http://localhost:8080/hello/valentina
  • 14. o Take a look on this: o http://www.confusedbycode.com/curl/ 14
  • 15. o Thanks @jpviragine for that great tip: https://github.com/jkbrzt/httpie o Really great tool, works like cURL, but much better and more user friendly o Syntax: http <options> service or URL o But if you prefer to be “roots”, ok, continue if cURL 15
  • 16. 16 public class Application { public static void main(String[] args) { new MicroservicesRunner(7888, 8888) .deploy(new HelloService()) .start(); } Services exposed through different ports(*) (*) Default port is 8080 when no ports are specified
  • 17. 17
  • 18. 1. Enter in the <mss_home>/samples/stockquote- service 2. mvn package 3. java -jar target/stockquote-service-1.0.0- SNAPSHOT.jar 18
  • 19. o In the console type: (Windows Users o curl -v http://localhost:8080/stockquote/GOOG 19
  • 20. o Now we will send a POST message to our Service: o Please type (or copy and paste) the following command: o curl -v -X POST -H "Content-Type:application/json" -d '{"symbol":"BVMF","name": "Bovespa","last":149.62,"low":150.78,"high":149.18,"createdByHost":"localh ost"}' http://localhost:8080/stockquote o This command will save a new Symbol into our Stock Quote Service 20
  • 21. o You had used: o Java 8 + maven for building our samples and exercises o Executed Microservices with basic jar –jar approach o You saw how easy you can build REST Services and deploy them into your Mic’service Server (powered by WSO2) 21
  • 22. 22
  • 23. o Several approaches for a “decoupled SOA” o In this tutorial we will use the “Container-based approach” o Microservices are about: o Lighter o Business Need Oriented o Composable 23
  • 24. 24 Web Server ASP.NET ADO.NET Windows OS .NET CLR RuntimeFront-Store HTML
  • 26. 26 Product Service get /products post /products get /products/{id} get /products/offset/10/1 CustomerService get /customers post /customers get /customers/{id} get /customers/export AddressService get /address post /address/{zip} get /address/geo/{x}/{y} 3Examples
  • 27. 27 Product Service CustomerService AddressService AddressService ProductService Customer Service AddressService Customer Service SinglePage APP HTML FrontStoreService Delivery Service
  • 28. o Quick deployments o You are deploying a loosely-coupled, modular component only  o Not a huge EAR with dozens of Jars as you used to do in a monolithic enterprise App 28
  • 30. 30 Paulo Merson https://insights.sei.cmu.edu/saturn/2015/11/defining-microservices.html Great definition, written by another Brazilian  From an architecture perspective, the microservice style belongs primarily to the deployment view. It dictates that the deployment unit should contain only one service or just a few cohesive services. The deployment constraint is the distinguishing factor. As a result, microservices are easier to deploy, become more scalable, and can be developed more independently by different teams using different technologies. “
  • 31. o Benefits of using microservices: o Deployability o Availability o Scalability o Modifiability o Management 31 Paulo Merson https://insights.sei.cmu.edu/saturn/2015/11/microservices-beyond-the-hype-what-you-gain-and-what-you-lose.html ( Great post )
  • 32. o I would add: o Deployability o Availability (Auto-Scaling via Containers) o Analytics o Scalability o Modifiability o Management 32 Paulo Merson https://insights.sei.cmu.edu/saturn/2015/11/microservices-beyond-the-hype-what-you-gain-and-what-you-lose.html
  • 33. 33
  • 34. o Part 2: We ship in the distro an example showing how to run a whole deploy from several different container machines managed by Kubernetes. 34
  • 35. o In your command line, go to your: <mss_home>/samples/petstore o Enter in deployment folder and execute: run.sh o That’s all, time to get some juice, it will download everything you need: o Vagrant o CoreOS o Kubernetes o Docker 35
  • 36. o https://github.com/wso2/product- mss/tree/master/samples/petstore/deployment/kubernete s-vagrant-coreos-cluster o Disclaimer: This tutorial is focused on WSO2 Micro Services Server – MSS, and some introduction to the basics on Kubernetes is strongly recommended before you move forward on this tutorial. 36
  • 37. 37 This step will get a few minutes, according to your internet and machine, So get relaxed while you can enjoy some “Matrix-like” in your console http://thenextweb.com/wp-content/blogs.dir/1/files/2013/11/relax-at-work.jpg
  • 38.  Double check if your JAVA_HOME is Java 8  Please , if you are using MacOS, make sure you that you have wget installed.  Recommend you use brew install wget  If you get errors communicating with Kubernetes nodes, please add this variable before execute run.sh:  export KUBERNETES_MASTER=http://172.17.8.101:8080  That will be the default Kubernetes UI Console and API Address 38
  • 39. 39 Our traditional Pet Store Sample has the following Microservices … fileserver frontend-admin frontend-user Pet (store) transactionsecurity
  • 40. o If you are using VirtualBox as the Hypervisor (recommended), you will see the following 3 VMs started 40
  • 41. o Please, execute the command: o kubectl get pods o The result must be like this: 41 All the pods, must be Like this, keep repeating This process until all get ready
  • 42. o Please, execute the command: o kubectl get pods o The result must be like this: 42 Troubleshooting: If your pet-xxx appears the READY info as 0/1 It might be not initialized Syncronized with Redis. To solve that, execute: ./clean.sh and later on ./petstore.sh
  • 43. o Kubernetes UI o Nodes o Services o Pods o General Info o Pet Store Admin (PHP App) o Pet Store Site (PHP App) 43
  • 44. http://172.17.8.101:8080/ui Here is the Kubernetes Admin that you can open in your browser 44
  • 45. Relationship between the VMs and Kubernetes (Nodes) 45 Here you can see the Ips Attached to the each Node
  • 49. 49 Viewing Replication Controllers In Kubernetes, the base unit of deployment is a pod (intro to pods), which is a group of containers that work together and therefore are logically grouped. The replication controller stores a pod template in order to create new pods if needed. https://coreos.com/kubernetes/docs/latest/replication-controller.html
  • 50. 50 Your Machine OS Hypervisor Kubernetes Cluster-Master K8S Node 01 K8S Node 02 Pods Pods Replication Controller Service
  • 51. 51 Your Machine OS Hypervisor Kubernetes Cluster-Master K8S Node 01 K8S Node 02 Pods Pods Replication Controller Service Browser
  • 52. 52 Your Machine OS Hypervisor Kubernetes Cluster-Master K8S Node 01 K8S Node 02 Pods Pods Replication Controller Service Browser NGINX
  • 53. 53 Getting Actual pods: $ kubectl get pods
  • 54. 54 Getting details about some pod, for instance $ kubectl describe pods store-fe-r43hm
  • 55. 55 Getting details about some pod, for instance $ kubectl describe pods store-fe-r43hm Please, note here which is the Pod internal IP: 10.244.36.23 And in which Node this pod Is actually running Important: notice that the pod’s id will change if you restart your environment  In my actual case, my pod is store-fe-<id>, id= r43m
  • 56. 56 Getting Actual Services: $ kubectl describe service store-fe
  • 57. 57 Persistence Repository / Services "Containerized” Microservices based in pure java –jar approach Client Apps (PHP) petstore-admin petstore
  • 58. 58 You will need to browse the service: admin-fe http:// Node Server IP: Node Port Ex: http://172.17.8.102:30984/
  • 63. 63 You will need to browse the service: store-fe http:// Node Server IP: Node Port Ex: http://172.17.8.102:31466/
  • 65. Here the Microservices Transaction Is invoked.
  • 66. o Executing the petstore sample o Understanding the basics from Kubernetes and its concepts, such as pods, services and Replication Controller. o Executing the Services and Apps
  • 67. o Proposed Lab: o Execute the previous samples from Part1 in Kubernetes + Docker 67
  • 68. 68
  • 69. o Please go to : http://wso2.com/products/data-analytics-server/ o Download the product o Install the product: 1. Unzip 2. That’s all 3. Let’s call your installation destination folder as DAS_HOME from now on o MySQL for this sample is also required 69
  • 70. o Step 1: Configure WSO2 DAS 1. Go to <MSS_HOME>/analytics/das-setup and execute setup.sh : 1. /setup.sh -d <DAS_HOME> -u admin -p 2. Done, everything will be done by the script! 70
  • 71. o Step 2: Execute DAS Server 1. Enter in DAS_HOME 2. Make sure that Java 8 is in the path 3. Type sh bin/wso2server.sh 4. Wait until to see a message in the console like this: 5. Open this browser URL, it will let you see the WSO2 Data Analytics Server Console (default user admin and password admin) 71
  • 72. 72 WSO2 DAS is ready and configured!
  • 73. o Step 3: (based on https://github.com/wso2/product- mss/tree/master/samples/metrics) 1. Go to <MSS_HOME>/samples/metrics 2. Execute mvn clean install 3. Please, export the following system variables: 1. export METRICS_REPORTING_DAS_DATAAGENTCONFIGPATH="data-agent-conf.xml” 2. export HTTP_MONITORING_DAS_DATAAGENTCONFIGPATH="data-agent-conf.xml” 73
  • 74. 4. Execute: $ java -jar target/metrics-*.jar 5. Invoke the following URLs via command line: o curl -v http://localhost:8080/test/rand/500 o curl -v http://localhost:8080/test/total/10 o curl -v http://localhost:8080/test/echo/test o curl -v http://localhost:8080/student/910760234V o curl -v --data "{'nic':'860766123V','firstName':'Jack','lastName':'Black','age': 29}" -H "Content-Type: application/json" http://localhost:8080/student o curl -v http://localhost:8080/student/860766123V o curl -v http://localhost:8080/student 74
  • 75. o What is happening: o Now, after the invocation from cURLs, some information were sent from WSO2 Microservices Server to WSO2 Data Analytics Server. o The Metrics are also present in the command line where you are running the jar: 75
  • 76. 76
  • 77. @GET @Path("/{nic}") @Produces("application/json") @Timed @HTTPMonitoring public Student getStudent(@PathParam("nic") String nic) { return students.get(nic); } @POST @Consumes("application/json") @Metered @HTTPMonitoring public void addStudent(Student student) { students.put(student.getNic(), student); } org.wso2.carbon.mss.example.service.StudentService.java
  • 81. o http://kubernetes.io/v1.1/ o https://www.digitalocean.com/community/tutorials/an-introduction-to- kubernetes o https://insights.sei.cmu.edu/saturn/2015/11/defining- microservices.html o http://www.slideshare.net/afkham_azeez/wso2con- 2015usintroductiontomssv2?related=1 o http://www.slideshare.net/afkham_azeez/wso2conus-2015- introduction-to-wso2-microservices-server-mss?related=2
  • 82. 82
  • 83. o http://wso2.com/products/microservices-server/ o Lightweight and fast runtime o 6MB pack size o Starts within 400ms o Based on the new WSO2 Carbon 5.0 kernel o ~25MB memory consumption for the WSO2 MSS framework o Simple development, deployment, and monitoring o WSO2 Developer Studio-based tooling for generating microservices projects starting from a Swagger API definition o Built-in metrics and analytics APIs via WSO2 Data Analytics Server o Tracing of requests using a unique message ID o High scalability and reliability o Transport based on Netty 4.0 o JWT-based security o Custom interceptors o Streaming input and streaming output support o Comprehensive samples demonstrating how to develop microservices applications 83
  • 84. o Tutorial done! o Next steps: o Keep watching how WSO2 MSS will evolve o Don’t miss our upcoming Webinars covering this and even more 84
  • 85. o Please, if you need to understand more, or want to talk to one of our specialists to help you and your company’s projects, please contact us here: o http://wso2.com/contact/ 85