In this tutorial/workshop slide deck we show how you can get started with WSO2 Microservices Server, we are covering:
- Introduction
- Running Kubernetes, Docker and Containers with MSS
- Analytics on MSS
Hope you can enjoy!
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)WSO2
To view webinar recording please use below URL:
http://wso2.com/library/webinars/2015/11/integrating-mq-protocols-with-wso2-esb-4.9-rabbitmq-mqtt-kafka/
With the release of WSO2 ESB 4.9.0, we introduced enhanced functionalities in message queuing protocols that are heavily used in modern enterprise integrations. It includes completely new transports such as MQTT (message queuing telemetry transport) and Kafka and improvements to the existing RabbitMQ transport.
In this webinar, we are going to discuss
Improvements to RabbitMQ transport with inbound endpoint support
An introduction to MQTT transport and its usage in WSO2 ESB
Kafka integration with inbound endpoints
A MQTT producer/consumer demo explaining the basic consuming case using MQTT inbound endpoints and basic producer case using MQTT Axis2 transport
O que é esse tal de OWIN e por que ele é tão importante para o futuro do ASP.NET? Venha conhecer como tirar proveito hoje mesmo de uma nova maneira de se desenvolver aplicações ASP.NET desacopladas e entender a base da próxima versão desse framework tão poderoso.
Developing Micro-Services for Cloud using JavaWSO2
The world today moves very rapidly. Developers no longer have time to build, run and maintain large monolithic applications. With the cloud becoming more of reality compared to being just a dream, a new development methodology is required to feed business that starve to be more and more connected. In this presentation Senaka will discuss how WSO2 empowers some of the biggest businesses in the UK build industry leading applications on the cloud using micro-services.
We will be learning how to design and develop micro-services in Java while understanding some of the common micro-service architecture patterns in web applications, n-Tier business applications, service-oriented applications and RESTful API-driven applications for mobile/IoT systems. We will also discuss how we can leverage some of the new improvements in Java EE 8 when building micro-services.
From a developer's point of view, the idea is to give an overall heads up of how to develop micro-services in Java in terms of porting existing applications to the cloud, developing and extended applications running on cloud infrastructure and also what’s coming up and how to be prepared.
The presentation will involve some slides and examples of technology in use based on pre-built source code.
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)WSO2
To view webinar recording please use below URL:
http://wso2.com/library/webinars/2015/11/integrating-mq-protocols-with-wso2-esb-4.9-rabbitmq-mqtt-kafka/
With the release of WSO2 ESB 4.9.0, we introduced enhanced functionalities in message queuing protocols that are heavily used in modern enterprise integrations. It includes completely new transports such as MQTT (message queuing telemetry transport) and Kafka and improvements to the existing RabbitMQ transport.
In this webinar, we are going to discuss
Improvements to RabbitMQ transport with inbound endpoint support
An introduction to MQTT transport and its usage in WSO2 ESB
Kafka integration with inbound endpoints
A MQTT producer/consumer demo explaining the basic consuming case using MQTT inbound endpoints and basic producer case using MQTT Axis2 transport
O que é esse tal de OWIN e por que ele é tão importante para o futuro do ASP.NET? Venha conhecer como tirar proveito hoje mesmo de uma nova maneira de se desenvolver aplicações ASP.NET desacopladas e entender a base da próxima versão desse framework tão poderoso.
Developing Micro-Services for Cloud using JavaWSO2
The world today moves very rapidly. Developers no longer have time to build, run and maintain large monolithic applications. With the cloud becoming more of reality compared to being just a dream, a new development methodology is required to feed business that starve to be more and more connected. In this presentation Senaka will discuss how WSO2 empowers some of the biggest businesses in the UK build industry leading applications on the cloud using micro-services.
We will be learning how to design and develop micro-services in Java while understanding some of the common micro-service architecture patterns in web applications, n-Tier business applications, service-oriented applications and RESTful API-driven applications for mobile/IoT systems. We will also discuss how we can leverage some of the new improvements in Java EE 8 when building micro-services.
From a developer's point of view, the idea is to give an overall heads up of how to develop micro-services in Java in terms of porting existing applications to the cloud, developing and extended applications running on cloud infrastructure and also what’s coming up and how to be prepared.
The presentation will involve some slides and examples of technology in use based on pre-built source code.
.NET Conf 2018: Build Great Libraries using .NET StandardImmo Landwerth
Description
Want to create great .NET class libraries? Confused about .NET Standard, .NET Core, and .NET Framework? Watch this talk to learn how you can easily support multiple platforms with .NET Standard and no compromises, thanks to via multi-targeting. We'll also cover the other aspects, such as versioning, strong naming, and binding redirects.
Reliable System Integration and Scaling with WSO2 Message BrokerWSO2
To view the recording of this webinar please use the below URL:
http://wso2.com/library/webinars/2016/03/reliable-system-integration-and-scaling-with-wso2-message-broker/
Messaging has been used widely by enterprise architects to reliably integrate and scale systems. Commonly used messaging patterns include distributed queues/topics and dead letter channels with varied quality of service levels. When adopting a message broker, architects not only need to look at features but also at the deployment and maintenance complexity, internal architecture and surrounding concepts.
This session will discuss the internal architecture of WSO2 Message Broker (WSO2 MB) 3.1 and focus on
Improved performance with optimized message dissemination model
Ease of use and reliability with a message persistence layer backed by RDBMS
Simplified deployment layout and less operational complexity with Hazelcast based clustering scheme
New features of WSO2 MB 3.1
GlassFish architect Jerome Dochez presents the architecture (kernel, services, extensibility) and the status of GlassFish v3, a lightweight and modular application server based on OSGi and able to run both Java (EE) and scripting (Rails, Grails, PHP, etc...) applications. Fairly technical.
The Apache Felix Web Console has been created out of a need to remotely administer an OSGi Framework. This administration includes maintenance of bundles, editing Configuration, and introspecting the system in terms of identifying services and Declarative Services components. In addition the Web Console offers a plugin-model for it to be easily extended.
Apache Sling is an innovative REST based Web Framework which has been developped from the ground up as an OSGi based server side application. After a short introduction to Sling itself I will also show why OSGi has been chosen as the basis for the application.
OWIN and Katana Project - Not Only IIS - NoIISBilal Haidar
This presentation is an introduction to OWIN and Katana project. The title states it all, NOT ONLY IIS, meaning that, we can now host Web Apps outside IIS.
EWD 3 Training Course Part 35: QEWD Session LockingRob Tweed
This is part 35 of the EWD 3 Training Course. This presentation explains how QEWD supports Session locking, which prevents two simultaneously invoked requests from the same QEWD session from using the QEWD session simultaneously
A brief introduction to OWIN and Katana, the basics and few basic details on the analysis of the internal workings of OWIN and functions, the middleware registrations and how they all compare to the traditional request processing pipelines.
This is a slide deck is a step by step tutorial on how to use the all new WSO2 Microservices Server (WSO2 MSS).
This presentation will include
Basics of microservices
An introduction to WSO2 MSS
Running first samples
Understanding the role of containers and Kubernetes together with WSO2 MSS
Getting metrics and snalytics from microservices using JMX and WSO2 Data Analytics Server
A presentation on how applying Cloud Architecture Patterns using Docker Swarm as orchestrator is possible to create reliable, resilient and scalable FIWARE platforms.
.NET Conf 2018: Build Great Libraries using .NET StandardImmo Landwerth
Description
Want to create great .NET class libraries? Confused about .NET Standard, .NET Core, and .NET Framework? Watch this talk to learn how you can easily support multiple platforms with .NET Standard and no compromises, thanks to via multi-targeting. We'll also cover the other aspects, such as versioning, strong naming, and binding redirects.
Reliable System Integration and Scaling with WSO2 Message BrokerWSO2
To view the recording of this webinar please use the below URL:
http://wso2.com/library/webinars/2016/03/reliable-system-integration-and-scaling-with-wso2-message-broker/
Messaging has been used widely by enterprise architects to reliably integrate and scale systems. Commonly used messaging patterns include distributed queues/topics and dead letter channels with varied quality of service levels. When adopting a message broker, architects not only need to look at features but also at the deployment and maintenance complexity, internal architecture and surrounding concepts.
This session will discuss the internal architecture of WSO2 Message Broker (WSO2 MB) 3.1 and focus on
Improved performance with optimized message dissemination model
Ease of use and reliability with a message persistence layer backed by RDBMS
Simplified deployment layout and less operational complexity with Hazelcast based clustering scheme
New features of WSO2 MB 3.1
GlassFish architect Jerome Dochez presents the architecture (kernel, services, extensibility) and the status of GlassFish v3, a lightweight and modular application server based on OSGi and able to run both Java (EE) and scripting (Rails, Grails, PHP, etc...) applications. Fairly technical.
The Apache Felix Web Console has been created out of a need to remotely administer an OSGi Framework. This administration includes maintenance of bundles, editing Configuration, and introspecting the system in terms of identifying services and Declarative Services components. In addition the Web Console offers a plugin-model for it to be easily extended.
Apache Sling is an innovative REST based Web Framework which has been developped from the ground up as an OSGi based server side application. After a short introduction to Sling itself I will also show why OSGi has been chosen as the basis for the application.
OWIN and Katana Project - Not Only IIS - NoIISBilal Haidar
This presentation is an introduction to OWIN and Katana project. The title states it all, NOT ONLY IIS, meaning that, we can now host Web Apps outside IIS.
EWD 3 Training Course Part 35: QEWD Session LockingRob Tweed
This is part 35 of the EWD 3 Training Course. This presentation explains how QEWD supports Session locking, which prevents two simultaneously invoked requests from the same QEWD session from using the QEWD session simultaneously
A brief introduction to OWIN and Katana, the basics and few basic details on the analysis of the internal workings of OWIN and functions, the middleware registrations and how they all compare to the traditional request processing pipelines.
This is a slide deck is a step by step tutorial on how to use the all new WSO2 Microservices Server (WSO2 MSS).
This presentation will include
Basics of microservices
An introduction to WSO2 MSS
Running first samples
Understanding the role of containers and Kubernetes together with WSO2 MSS
Getting metrics and snalytics from microservices using JMX and WSO2 Data Analytics Server
A presentation on how applying Cloud Architecture Patterns using Docker Swarm as orchestrator is possible to create reliable, resilient and scalable FIWARE platforms.
At the moment, cloud CI systems are a highly-demanded service. In this article, we'll tell you how to integrate analysis of source code into a CI cloud platform with the tools that are already available in PVS-Studio. As an example we'll use the Travis CI service.
Infrastructure-As-Code means that infrastructure should be treated as code – a really powerful concept. Server configuration, packages installed, relationships with other servers, etc. should be modeled with code to be automated and have a predictable outcome, removing manual steps prone to errors. That doesn’t sound bad, does it?
The goal is to automate all the infrastructure tasks programmatically. In an ideal world you should be able to start new servers, configure them, and, more importantly, be able to repeat it over and over again, in a reproducible way, automatically, by using tools and APIs.
Have you ever had to upgrade a server without knowing whether the upgrade was going to succeed or not for your application? Are the security updates going to affect your application? There are so many system factors that can indirectly cause a failure in your application, such as different kernel versions, distributions, or packages.
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOpsAndrey Karpov
We continue making the use of PVS-Studio more convenient. Our analyzer is now available in Chocolatey, the package manager for Windows. We believe this will make it easier to deploy PVS-Studio, particularly in cloud services. So right off the bat, we also checked the source code of the same Chocolatey. Azure DevOps took on the role of the CI system.
One-Man Ops with Puppet & Friends.
If you're getting started in Amazon AWS here's 7 tools that will help you be successful, a few tips to make your life easier and some common pitfalls to avoid.
Bare Metal to OpenStack with Razor and ChefMatt Ray
Slides from the OpenStack Spring 2013 Summit workshop presented by Egle Sigler (@eglute) and Matt Ray (@mattray) from Rackspace and Opscode respectively. Please refer to http://anystacker.com/ for additional content.
Come costruire una Platform As A Service con Docker, Kubernetes Go e JavaCodemotion
"Come costruire una Platform As A Service con Docker, Kubernetes Go e Java" by Massimiliano Dessì
Per automatizzare la CI e la CD, durante sviluppo, test, in preproduzione e in produzione si utilizzano le tecniche chiamate attualmente DevOps, in locale con Vagrant oppure su una PAAS su cloud, privati o pubblici. Possiamo costruire una PAAS scalabile utilizzando solo Docker, Docker e Kubernetes oppure soluzioni già pronte come Openshift 3 (che sta sopra Docker e Kubernetes). Nella presentazione vedremo come avere questi tre tipi di PAAS con in più uno strato di orchestrazione in GO/Java e Ansible per automatizzare il comportamento in base ad eventi monitorati
Containers explained as for cook and a mecanics Rachid Zarouali
Containers are everywhere, google/office365 mailboxes, web applications, healthcare booking, aeroplanes, and many more.
Docker containers are everywhere today, our google/office365 mailboxes, our web applications, our access for medical appointments, airplanes, ...
They are everywhere but not always easy to apprehend, and yet, they have much more similarities with our daily jobs than it seems.
During this webinar, I will present you these famous Docker containers, seen by a chef and a car mechanic and you will see that they have a lot in common.
Como ajudamos empresas e negócios financeiros a se transformarem de forma efetiva e pragmática focando em negócios e usando tecnologia como um catalisador de inovação
Etapas pragmáticas na adoção de DevOps, Ferramentas e Soluções. Apresentação realizada no Evento DevOps Tour SP, cobrindo algumas estratégias, ferramentas e dicas na adoção de cultura DevOps.
Conectando Turismo e Viagens - Plataforma WSO2Edgar Silva
Entenda como podemos apoiar na inovação da indústria de turismo, viagem, lazer e loyalty com alguns conceitos chave para seus negócios dos próximos 5 anos.
WSO2 Application Server como Alternativa ao TomcatEdgar Silva
Veja como podemos apoiar seu ambiente que está repleto de Tomcats que podem ser difíceis de gerenciar, monitorar etc. Breve visão do WSO2 AppServer em conjunto com o WSO2 BAM.
Essa é uma apresentação que reúne algumas iniciativas e soluções que podem ser aplicadas no Governo Brasileiro e claro, serve para outros países também, pois a grande idéia é implementar alguns pontos do Governo Eletrônico, ou como prefiro chamar: Governo Aberto.
Apresentação Básica sobre alguns fundamentos e conceitos chave do WSO2 ESB. Se você ler estes slides, quando for utilizar o WSO2 Studio, tudo ficará muito mais claro para você
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
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
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
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 J )
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 J
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();
}
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
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":"localhost"}' 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
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
28. o Quick deployments
o You are deploying a loosely-coupled, modular
component only J
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 J
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
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
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) transaction security
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
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
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
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
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
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