Dropwizard. A RESTful Love Story. Ryan Kennedy Core Yammer

Size: px
Start display at page:

Download "Dropwizard. A RESTful Love Story. Ryan Kennedy Core Yammer"

Transcription

1 Dropwizard A RESTful Love Story Ryan Kennedy (@rckenned) Core Yammer

2 Dropwizard A RESTful Love Story Ryan Kennedy (@rckenned) Core Yammer + MicrosoE

3 What on earth is Dropwizard?

4

5 Some bearded jerk in a pointy hat

6 or

7

8 Started at Yammer as three services with largely copy/pasted code

9 By service number three we idenofied and disolled the paqern

10 What was the paqern?

11 Dropwizard has out- of- the- box support for sophisocated configuraoon, applicaoon metrics, logging, operaoonal tools, and much more, allowing you and your team to ship a producoon- quality HTTP +JSON web service

12 Dropwizard has out- of- the- box support for sophisocated configuraoon, applicaoon metrics, logging, operaoonal tools, and much more, allowing you and your team to ship a producoon- quality HTTP +JSON web service

13 YAML configuraoon file

14 hqp: port: 8080 adminport: 8081 # a string foo: foo value # a duraoon bar: 60 seconds # a number baz: 10101

15 ConfiguraOon validaoon

16 public class MyAppConfiguraOon extends ConfiguraOon private String private DuraOon bar private long baz = 1; }

17 Dropwizard has out- of- the- box support for sophisocated configuraoon, applicaoon metrics, logging, operaoonal tools, and much more, allowing you and your team to ship a producoon- quality HTTP +JSON web service

18

19 Gauges Metrics.newGauge(My.class, jobs", new Gauge<Integer>() public Integer value() { return queue.size(); } } );

20 Counters Counter pendingjobs = Metrics.newCounter(My.class, jobs"); public void addjob(job job) { pendingjobs.inc(); queue.offer(job); } public Job takejob() { pendingjobs.dec(); return queue.take(); }

21 Meters Meter requests = Metrics.newMeter( My.class, "requests", "requests", TimeUnit.SECONDS); public void handlerequest(request request, Response response) { requests.mark(); // etc }

22 Histograms Histogram responsesizes = Metrics.newHistogram( My.class, "response- sizes"); public void handlerequest(request request, Response response) { // etc int length = response.getcontent().length; responsesizes.update(length); }

23 Timers Timer responses = Metrics.newTimer(My.class, "responses", TimeUnit.MILLISECONDS, TimeUnit.SECONDS); public String handlerequest(request request, Response response) { final TimerContext context = responses.ome(); try { // etc; return "OK"; } finally { context.stop(); } }

24 Health Checks public class DatabaseHealthCheck extends HealthCheck public Result check() throws ExcepOon { if (database.isconnected()) { return Result.healthy(); } else { return Result.unhealthy("Cannot connect to db ); } } }

25 Dropwizard has out- of- the- box support for sophisocated configuraoon, applicaoon metrics, logging, operaoonal tools, and much more, allowing you and your team to ship a producoon- quality HTTP +JSON web service

26 JMX ReporOng

27 HTTP ReporOng

28 Metrics hqp://host:adminport/metrics

29

30

31 Metrics reporters can be added to adapt dropwizard metrics to your collecoon system of choice

32 Health Checks hqp://host:adminport/healthcheck

33

34 Thread Dumps hqp://hostname:adminport/threads

35

36 Ping hqp://hostname:adminport/ping

37

38 Dropwizard has out- of- the- box support for sophisocated configuraoon, applicaoon metrics, logging, operaoonal tools, and much more, allowing you and your team to ship a producoon- quality HTTP +JSON web service

39 Dropwizard provides its own applicaoon logging abstracoon

40 HTTP request logging is supported as well

41 Dropwizard provides log file rotaoon and compression

42 Dropwizard has out- of- the- box support for sophisocated configuraoon, applicaoon metrics, logging, operaoonal tools, and much more, allowing you and your team to ship a producoon- quality HTTP +JSON web service

43 The unbeatable Jackson

44 Dropwizard has out- of- the- box support for sophisocated configuraoon, applicaoon metrics, logging, operaoonal tools, and much more, allowing you and your team to ship a producoon- quality HTTP +JSON web service

45 Dropwizard embeds JeQy for all your HTTP serving needs

46 JAX- RS (JSR- 311) for all your RESTful needs

47 @Path( /users/{id} ) public class UserResource public User get(@pathparam( id ) long id) { return db.finduserbyid(id); } public User update(@pathparam( id ) long id, User user) { return db.updateuser(id, user); }

48 How Yammer uses Dropwizard

49 Lots of small services 16 and counong

50 Maven is our friend

51 SOck the code in GitHub

52 Shade your JARs

53 Get yourself some cononuous integraoon

54 Write yourself a startup script

55 Have a good deploy story

56 Over Ome, Dropwizard has grown a few appendages

57 Dropwizard Client HQpClient or JerseyClient flavors

58 Dropwizard DB JDBI as a service

59 Dropwizard AuthenOcaOon Abstracted authenocaoon providers for OAuth 2 and Basic Auth

60 An public class MyResource public MyResponse = false) Token token) { if (token!= null) { return new MyResponse(getUser(token)); } else { return new MyResponse(getGuestUser()); } } }

61 Dropwizard Views Full blown applicaoon UIs or just a nice admin interface

62 Dropwizard Scala The original Dropwizard for those who don t know any beqer

63 Dropwizard TesOng Test JSON representaoons and resources

64 I blew through that preqy quickly, fortunately you have hqp://dropwizard.codahale.com/

65 And the sample applicaoon hqps://github.com/codahale/ dropwizard

66 And (hopefully) Ome for quesoons! Also WE RE HIRING!

Microservices To-Go mit Dropwizard

Microservices To-Go mit Dropwizard Microservices To-Go mit Dropwizard Mario Goller Software Engineer, Swisscom AG mario.goller@swisscom.com Java Forum Stuttgart 2017 Excursion: Architecture Comparison Monolith: multiple modules in the same

More information

Simple REST-APIs with Dropwizard and Swagger. Bernd Schönbach LeanIX GmbH

Simple REST-APIs with Dropwizard and Swagger. Bernd Schönbach LeanIX GmbH Simple REST-APIs with Dropwizard and Swagger Bernd Schönbach LeanIX GmbH Motivation Quickly create REST-APIs Make it testable Deploy with a click Or even better automatically Provide Documentation without

More information

OAuth2 Autoconfig. Copyright

OAuth2 Autoconfig. Copyright Copyright Table of Contents... iii 1. Downloading... 1 1.1. Source... 1 1.2. Maven... 1 1.3. Gradle... 2 2. Authorization Server... 3 3. Resource Server... 4 I. Token Type in User Info... 5 II. Customizing

More information

Road to Auto Scaling

Road to Auto Scaling Road to Auto Scaling Varun Thacker Lucidworks Apache Lucene/Solr Committer, and PMC member Agenda APIs Metrics Recipes Auto-Scale Triggers SolrCloud Overview ZooKee per Lots Shard 1 Leader Shard 3 Replica

More information

Eclipse MicroProfile: Accelerating the adoption of Java Microservices

Eclipse MicroProfile: Accelerating the adoption of Java Microservices Eclipse MicroProfile: Accelerating the adoption of Java Microservices Emily Jiang twitter @emilyfhjiang 10 th October 2017 What is Eclipse MicroProfile? Eclipse MicroProfile is an open-source community

More information

Microservices. Are your Frameworks ready? Martin Eigenbrodt Alexander Heusingfeld

Microservices. Are your Frameworks ready? Martin Eigenbrodt Alexander Heusingfeld Microservices Are your Frameworks ready? Martin Eigenbrodt martin.eigenbrodt@innoq.com Alexander Heusingfeld alexander.heusingfeld@innoq.com Microservices? Levels of Architecture Domain architecture Macro

More information

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff Microservices mit Java, Spring Boot & Spring Cloud Eberhard Wolff Fellow @ewolff What are Microservices? Micro Service: Definition > Small > Independent deployment units > i.e. processes or VMs > Any technology

More information

RESTEasy. Distributed peace of mind

RESTEasy. Distributed peace of mind RESTEasy Distributed peace of mind 1 Agenda Why REST? Writing RESTFul Web Services in Java JAX-RS RESTEasy features RESTEasy Roadmap 2 Speaker s Qualifications RESTEasy project lead Fully certified JAX-RS

More information

5 System architecture

5 System architecture 5 System architecture This chapter provides an overview of the system architecture. The first section presents a superficial explanation of the entire systems architecture. In section two, architectural

More information

Optimizing Enterprise Java for a Microservices Architecture Otávio

Optimizing Enterprise Java for a Microservices Architecture Otávio Optimizing Enterprise Java for a Microservices Architecture Otávio Santana @otaviojava otaviojava@apache.org Enterprise Java Standards History J2EE 1.2 2000 Release Cadence J2EE 1.3 J2EE 1.4 2005 Java

More information

John Hicks Internet2 - Network Research Engineer perfsonar

John Hicks Internet2 - Network Research Engineer perfsonar perfsonar MoOvaOon Possible SoluOons Finding a soluoon to network performance problems can be broken into two disonct steps: Use of Diagnos(c Tools to locate problems Tools that acovely measure performance

More information

functional ErlangVM Parallelism

functional ErlangVM Parallelism functional functional ErlangVM functional ErlangVM Parallelism Who wants to go and build a system in Elixir? You shouldn t Elixir, Your Monolith and You Tobias Pfeiffer @PragTob pragtob.info Your Monolith

More information

In dropwizard metric framework, it use separate thread to scan the metrics map and do flush at a fixed interval.

In dropwizard metric framework, it use separate thread to scan the metrics map and do flush at a fixed interval. Runtime statistics As a monitoring system, user may ask question like: Is the system healthy? what's the heat point of the system? How many events is processed per second? Is the data well partitioned

More information

FROM VSTS TO AZURE DEVOPS

FROM VSTS TO AZURE DEVOPS #DOH18 FROM VSTS TO AZURE DEVOPS People. Process. Products. Gaetano Paternò @tanopaterno info@gaetanopaterno.it 2 VSTS #DOH18 3 Azure DevOps Azure Boards (ex Work) Deliver value to your users faster using

More information

Exceptions and Libraries

Exceptions and Libraries Exceptions and Libraries RS 9.3, 6.4 Some slides created by Marty Stepp http://www.cs.washington.edu/143/ Edited by Sarah Heckman 1 Exceptions exception: An object representing an error or unusual condition.

More information

Eclipse Incubator. https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License.

Eclipse Incubator. https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License. Current Status 1 Eclipse Incubator https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License http://microprofile.io/ - Home Page https://github.com/eclipse - Eclipse Foundation GitHub

More information

Jenkins: AMPLab s Friendly Butler. He will build your projects so you don t have to!

Jenkins: AMPLab s Friendly Butler. He will build your projects so you don t have to! Jenkins: AMPLab s Friendly Butler He will build your projects so you don t have to! What is Jenkins? Open source CI/CD/Build platform Used to build many, many open source software projects (including Spark

More information

LNE. Vlaamse Milieuoverheid Flemish environmental government. Author: Patrik Uytterhoeven

LNE. Vlaamse Milieuoverheid Flemish environmental government. Author: Patrik Uytterhoeven Zabbix @ LNE Vlaamse Milieuoverheid Flemish environmental government Author: Patrik Uytterhoeven Who Am I Name: Patrik Uytterhoeven Job: Open-source consultant Company: Open-future Zabbix Trainer Author:

More information

Large Scale MySQL Migration

Large Scale MySQL Migration to PostgreSQL! May 17, 2012 Content 1 Presentation Former Architecture A Wind of Change 2 PostgreSQL Architecture 3 4 In production Any question? Content 1 Presentation Former Architecture A Wind of Change

More information

High performance reactive applications with Vert.x

High performance reactive applications with Vert.x High performance reactive applications with Vert.x Tim Fox Red Hat Bio Employed By Red Hat to lead the Vert.x project Worked in open source exclusively for the past 9 years Some projects I've been involved

More information

Getting Started With Feature Toggle in Java

Getting Started With Feature Toggle in Java Guide Getting Started With Feature Toggle in Java INTRO Feature toggles (also known as feature flags) are simple. You want to introduce new behavior in a Java application, but you re not ready to turn

More information

Introducing Jaeger 1.0

Introducing Jaeger 1.0 Introducing Jaeger 1.0 Yuri Shkuro (Uber Technologies) CNCF Webinar Series, Jan-16-2018 1 Agenda What is distributed tracing Jaeger in a HotROD Jaeger under the hood Jaeger v1.0 Roadmap Project governance,

More information

Constructors for classes

Constructors for classes Constructors for Comp Sci 1570 Introduction to C++ Outline 1 2 3 4 5 6 7 C++ supports several basic ways to initialize i n t nvalue ; // d e c l a r e but not d e f i n e nvalue = 5 ; // a s s i g n i

More information

Writing REST APIs with OpenAPI and Swagger Ada

Writing REST APIs with OpenAPI and Swagger Ada Writing REST APIs with OpenAPI and Swagger Ada Stéphane Carrez FOSDEM 2018 OpenAPI and Swagger Ada Introduction to OpenAPI and Swagger Writing a REST Ada client Writing a REST Ada server Handling security

More information

Guide - Deploying for Production. apiman Final

Guide - Deploying for Production. apiman Final Guide - Deploying for Production apiman 1.2.9.Final 1. Deployment Tooling for apiman... 1 2. Architecture Summary... 3 3. Database... 5 4. Elasticsearch... 7 5. Keycloak... 9 6. API Gateway... 11 6.1.

More information

Assigned Date: August 27, 2014 Due Date: September 7, 2015, 11:59 PM

Assigned Date: August 27, 2014 Due Date: September 7, 2015, 11:59 PM 15440: Distributed Systems Fall 2015 Problem Solving Assignment 1 A Java Programming Preparation for Project 1 Assigned Date: August 27, 2014 Due Date: September 7, 2015, 11:59 PM 1. Warm Up with Some

More information

Canonical Identity Provider Documentation

Canonical Identity Provider Documentation Canonical Identity Provider Documentation Release Canonical Ltd. December 14, 2018 Contents 1 API 3 1.1 General considerations.......................................... 3 1.2 Rate limiting...............................................

More information

Midterm Exam CS 251, Intermediate Programming October 8, 2014

Midterm Exam CS 251, Intermediate Programming October 8, 2014 Midterm Exam CS 251, Intermediate Programming October 8, 2014 Name: NetID: Answer all questions in the space provided. Write clearly and legibly, you will not get credit for illegible or incomprehensible

More information

hybris-as-a-service A microservices architecture in action

hybris-as-a-service A microservices architecture in action hybris-as-a-service A microservices architecture in action Andrea Stubbe Klaus Herrmann Product and Technology @ hybris Disclaimer This presentation outlines our general product direction and should not

More information

Stateless Microservice Security via JWT, TomEE and MicroProfile

Stateless Microservice Security via JWT, TomEE and MicroProfile Stateless Microservice Security via JWT, TomEE and MicroProfile Jean-Louis Monteiro Tomitribe Why am I here today? Microservices architecture case Security opeons OAuth2 with JWT HTTP Signatures Demo with

More information

CS111: PROGRAMMING LANGUAGE II

CS111: PROGRAMMING LANGUAGE II CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1(c): Java Basics (II) Lecture Contents Java basics (part II) Conditions Loops Methods Conditions & Branching Conditional Statements A

More information

Box: Using HBase as a message queue. David MacKenzie Staff So2ware Engineer

Box: Using HBase as a message queue. David MacKenzie Staff So2ware Engineer /events @ Box: Using HBase as a message queue David MacKenzie Staff So2ware Engineer Share, manage and access your content from any device, anywhere 2 What is the /events API? RealOme stream of all acovity

More information

Extending Flink s Streaming APIs

Extending Flink s Streaming APIs Extending Flink s Streaming APIs Kostas Kloudas @KLOUBEN_K Flink Forward San Francisco April 11, 2017 1 Original creators of Apache Flink Providers of the da Platform, a supported Flink distribution 2

More information

Sunday, May 1,

Sunday, May 1, 1 Governing Services, Data, Rules, Processes and more Randall Hauch Project Lead, ModeShape Kurt Stam Project Lead, Guvnor @rhauch @modeshape @guvtalk 2 Scenario 1 Build business processes using existing

More information

JSR 311: JAX-RS: The Java API for RESTful Web Services

JSR 311: JAX-RS: The Java API for RESTful Web Services JSR 311: JAX-RS: The Java API for RESTful Web Services Marc Hadley, Paul Sandoz, Roderico Cruz Sun Microsystems, Inc. http://jsr311.dev.java.net/ TS-6411 2007 JavaOne SM Conference Session TS-6411 Agenda

More information

Arrays. Comp Sci 1570 Introduction to C++ Array basics. arrays. Arrays as parameters to functions. Sorting arrays. Random stuff

Arrays. Comp Sci 1570 Introduction to C++ Array basics. arrays. Arrays as parameters to functions. Sorting arrays. Random stuff and Arrays Comp Sci 1570 Introduction to C++ Outline and 1 2 Multi-dimensional and 3 4 5 Outline and 1 2 Multi-dimensional and 3 4 5 Array declaration and An array is a series of elements of the same type

More information

Scriptable Markdown pretty-printing with GraalVM

Scriptable Markdown pretty-printing with GraalVM Scriptable Markdown pretty-printing with GraalVM Pascal Maissen pascal.maissen@unifr.ch 20.11.2018 Seminar Software Composition, University of Bern Motivation Implement a pretty printer for markdown in

More information

Leaving the State: Sessionless (Stateless) Authentication in D8 with Whole Foods Market. BADCamp 2017

Leaving the State: Sessionless (Stateless) Authentication in D8 with Whole Foods Market. BADCamp 2017 Leaving the State: Sessionless (Stateless) Authentication in D8 with Whole Foods Market BADCamp 2017 These Guys Dr J Daverth Technical Lead, Whole Foods Market D.O.: dr-jay BitBucket: drjdaverth LinkedIn:

More information

Coding for OCS. Derek Endres Software Developer Research #OSIsoftUC #PIWorld 2018 OSIsoft, LLC

Coding for OCS. Derek Endres Software Developer Research #OSIsoftUC #PIWorld 2018 OSIsoft, LLC Coding for OCS Derek Endres Software Developer Research dendres@osisoft.com 1 Planned Agenda Intro (~20 min) Presentation formalities Intro to OCS Detail of what I am going to do Building the app (~55

More information

Fall Problem Set 1

Fall Problem Set 1 15440 - Fall 2017 Problem Set 1 Out: August 24, 2017 Due: September 11, 2017 1 Warm Up [40 Points] Warm up with some critical concepts in Java Object Oriented and Multithreading Programming: Choose the

More information

Lightbend Lagom Microservices Just Right. Duncan DeVore Henrik Engström Philly JUG - July 27, 2016

Lightbend Lagom Microservices Just Right. Duncan DeVore Henrik Engström Philly JUG - July 27, 2016 Lightbend Lagom Microservices Just Right Duncan DeVore - @ironfish Henrik Engström - @h3nk3 Philly JUG - July 27, 2016 Lagom - [lah-gome] Adequate, sufficient, just right A great explanation of Lagom:

More information

BENZINGA.COM TCP APIv1.1

BENZINGA.COM TCP APIv1.1 BENZINGA.COM TCP APIv1.1 Line Endings All line endings will be in the expected format: =BZEOT\r\n Commands All commands that returns or send data will include a colon (:) and possible whitespace ( ) between

More information

Modern app programming

Modern app programming Modern app programming with RxJava and Eclipse Vert.x #QConSP @vertx_project Who am I? Vert.x core team member since 2016 Working at since 2012 Contributing specifically to monitoring and clustering @tsegismont

More information

Deploy Early, Deploy Often, Deploy Safely Andy Lowe

Deploy Early, Deploy Often, Deploy Safely Andy Lowe Deploy Early, Deploy Often, Deploy Safely Andy Lowe From User Story to Production Feature Basic Process Write Some Code Commit Automated UAT Deploy Acceptance Prod Tests Deploy Then There s All The Other

More information

Easy Distributed Systems Using Hazelcast. Peter Veentjer

Easy Distributed Systems Using Hazelcast. Peter Veentjer Easy Distributed Systems Using Hazelcast Peter Veentjer Whoami Working for Hazelcast Team Lead Quality & Performance Author of Mastering Hazelcast 3' 14 years Java experience Big love Concurrency control

More information

Huge Codebases Application Monitoring with Hystrix

Huge Codebases Application Monitoring with Hystrix Huge Codebases Application Monitoring with Hystrix 30 Jan. 2016 Roman Mohr Red Hat FOSDEM 2016 1 About Me Roman Mohr Software Engineer at Red Hat Member of the SLA team in ovirt Mail: rmohr@redhat.com

More information

Open Java EE and Eclipse MicroProfile - A New Java Landscape for Cloud Native Apps

Open Java EE and Eclipse MicroProfile - A New Java Landscape for Cloud Native Apps EclipseCon Europe 2017 Open Java EE and Eclipse MicroProfile - A New Java Landscape for Cloud Native Apps Kevin Sutter MicroProfile and Java EE Architect @kwsutter Emily Jiang MicroProfile Development

More information

Crash Course in Java. Why Java? Java notes for C++ programmers. Network Programming in Java is very different than in C/C++

Crash Course in Java. Why Java? Java notes for C++ programmers. Network Programming in Java is very different than in C/C++ Crash Course in Java Netprog: Java Intro 1 Why Java? Network Programming in Java is very different than in C/C++ much more language support error handling no pointers! (garbage collection) Threads are

More information

FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar

FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar www.vuhelp.pk Solved MCQs with reference. inshallah you will found it 100% correct solution. Time: 120 min Marks:

More information

SDN AmLight: One Year Later

SDN AmLight: One Year Later SwitchOn Workshop São Paulo/Brazil October 15 th 2015 SDN Testbeds @ AmLight: One Year Later Jeronimo A. Bezerra Florida Interna3onal University Describing AmLight AmLight is a Distributed

More information

vrealize Code Stream Plug-In SDK Development Guide

vrealize Code Stream Plug-In SDK Development Guide vrealize Code Stream Plug-In SDK Development Guide vrealize Code Stream 2.2 This document supports the version of each product listed and supports all subsequent versions until the document is replaced

More information

Eclipse Scout. Release Notes. Scout Team. Version 7.0

Eclipse Scout. Release Notes. Scout Team. Version 7.0 Eclipse Scout Release Notes Scout Team Version 7.0 Table of Contents About This Release.......................................................................... 1 Service Releases..........................................................................

More information

Genesys Mobile Services Deployment Guide. Setting ORS Dependencies

Genesys Mobile Services Deployment Guide. Setting ORS Dependencies Genesys Mobile Services Deployment Guide Setting ORS Dependencies 4/6/2018 Setting ORS Dependencies Contents 1 Setting ORS Dependencies 1.1 Setting ORS Options 1.2 Deploying DFM Files 1.3 Additional ORS

More information

Abstract. 1. What is an ABSTRACT METHOD? 2. Why you would want to declare a method as abstract? 3. A non-abstract CLASS is called a concrete class

Abstract. 1. What is an ABSTRACT METHOD? 2. Why you would want to declare a method as abstract? 3. A non-abstract CLASS is called a concrete class ABSTRACT 2 1. What is an ABSTRACT METHOD? 2 2. Why you would want to declare a method as abstract? 2 3. A non-abstract CLASS is called a concrete class 2 4. Abstract Example 2 5. If you are extending ABSTRACT

More information

Eclipse Lyo Overview. Michael Fiedler, Eclipse Lyo committer IBM Corporation

Eclipse Lyo Overview. Michael Fiedler, Eclipse Lyo committer IBM Corporation Eclipse Lyo Overview http://eclipse.org/lyo Michael Fiedler, Eclipse Lyo committer 1 Agenda Eclipse Lyo background Content and Plans Test Suites OSLC4J Samples Next Steps 2 OSLC Specifications OSLC Core

More information

University of Palestine. Mid Exam Total Grade: 100

University of Palestine. Mid Exam Total Grade: 100 First Question No. of Branches (5) A) Choose the correct answer: 1. If we type: system.out.println( a ); in the main() method, what will be the result? int a=12; //in the global space... void f() { int

More information

DevOps examples on NonStop Tools Overview. Cor Geboers, ATC Consultant

DevOps examples on NonStop Tools Overview. Cor Geboers, ATC Consultant DevOps examples on NonStop Tools Overview Cor Geboers, ATC Consultant About me Cor Geboers Senior Consultant in NonStop ATC, based in Belgium 35+ years in IT development and support 25+ years NonStop experience

More information

Brekeke PBX Version 2 ARS Plug-in Developer s Guide Brekeke Software, Inc.

Brekeke PBX Version 2 ARS Plug-in Developer s Guide Brekeke Software, Inc. Brekeke PBX Version 2 ARS Plug-in Developer s Guide Brekeke Software, Inc. Version Brekeke PBX Version 2 ARS Plug-in Developer s Guide Revised February 2010 Copyright This document is copyrighted by Brekeke

More information

COMP 110/L Lecture 10. Kyle Dewey

COMP 110/L Lecture 10. Kyle Dewey COMP 110/L Lecture 10 Kyle Dewey switch Outline switch Problem if is verbose when checking many conditions. Problem if is verbose when checking many conditions. if (x == 5) { return foo ; else if (x ==

More information

camel.apache.org/eip from neworder choice from neworder choice when iswidget to widget from neworder choice when iswidget to widget otherwise to therest from (neworder) choice when (iswidget) to (widget)

More information

Performance Monitors Setup Guide

Performance Monitors Setup Guide Performance Monitors Setup Guide Version 1.0 2017 EQ-PERF-MON-20170530 Equitrac Performance Monitors Setup Guide Document Revision History Revision Date May 30, 2017 Revision List Initial Release 2017

More information

Siegfried Goeschl. Gatling Tales From A Journey

Siegfried Goeschl. Gatling Tales From A Journey Siegfried Goeschl Gatling Tales From A Journey George International Turning George Online Banking into a multi-tenant and group-wide platform Single code base Currently targeting four tenants Server-side

More information

Tiers (or layers) Separation of concerns

Tiers (or layers) Separation of concerns Tiers (or layers) Separation of concerns Hiding the type of storage from the client class Let s say we have a program that needs to fetch objects from a storage. Should the program have to be concerned

More information

CS 520 Theory and Practice of Software Engineering Fall 2018

CS 520 Theory and Practice of Software Engineering Fall 2018 Logistics CS 520 Theory and Practice of Software Engineering Fall 2018 Best and worst programming practices September 11, 2018 Reminder Recap: software architecture vs. design Class website: https://people.cs.umass.edu/~brun/class/2018fall/cs520/

More information

CS64 Week 5 Lecture 1. Kyle Dewey

CS64 Week 5 Lecture 1. Kyle Dewey CS64 Week 5 Lecture 1 Kyle Dewey Overview More branches in MIPS Memory in MIPS MIPS Calling Convention More Branches in MIPS else_if.asm nested_if.asm nested_else_if.asm Memory in MIPS Accessing Memory

More information

Troubleshooting Guide and FAQs Community release

Troubleshooting Guide and FAQs Community release Troubleshooting Guide and FAQs Community 1.5.1 release This guide details the common problems which might occur during Jumbune execution, help you to diagnose the problem, and provide probable solutions.

More information

Giovanni Stilo, Ph.D. 140 Chars to Fly. Twitter API 1.1 and Twitter4J introduction

Giovanni Stilo, Ph.D. 140 Chars to Fly. Twitter API 1.1 and Twitter4J introduction Giovanni Stilo, Ph.D. stilo@di.uniroma1.it 140 Chars to Fly Twitter API 1.1 and Twitter4J introduction Twitter (Mandatory) Account General operation REST principles Requirements Give every thing an ID

More information

The Next Generation. Prabhat Jha Principal Engineer

The Next Generation. Prabhat Jha Principal Engineer The Next Generation Prabhat Jha Principal Engineer What do you wish you had in an Open Source JEE Application Server? Faster Startup Time? Lighter Memory Footprint? Easier Administration? 7 Reasons To

More information

Assignment 2 Bootstrap

Assignment 2 Bootstrap Assignment 2 Bootstrap The API + Command Line Specification Walking Skeleton Walking Skeleton : http://alistair.cockburn.us/walking+skeleton A Walking Skeleton is a tiny implementation of the system that

More information

Computer Science 1 Honors

Computer Science 1 Honors Computer Science 1 Honors Will be Most methods are too complex simply to call them and let them do their job. Methods almost always need more information. For example, a method that finds a square root,

More information

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region Azure DevOps Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region What is DevOps? People. Process. Products. Build & Test Deploy DevOps is the union of people, process, and products to

More information

ConfigJSR and Friends. Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien

ConfigJSR and Friends. Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien ConfigJSR and Friends Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien About me Mark Struberg 25++ years in the industry Apache Software Foundation member struberg [at] apache.org RISE

More information

CS314 Software Engineering Sprint 5 - Release!

CS314 Software Engineering Sprint 5 - Release! CS314 Software Engineering Sprint 5 - Release! Dave Matthews Sprint 5 Summary Use Level 2 and 3 software engineering processes/tools Clean Code, Coverage, White Box Testing, Code Climate Learn about Inspections

More information

301AA - Advanced Programming [AP-2017]

301AA - Advanced Programming [AP-2017] 301AA - Advanced Programming [AP-2017] Lecturer: Andrea Corradini andrea@di.unipi.it Tutor: Lillo GalleBa galleba@di.unipi.it Department of Computer Science, Pisa Academic Year 2017/18 AP-2017-07: So%ware

More information

Example rest-xml-json can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-xml-json

Example rest-xml-json can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-xml-json Simple REST Example rest-xml-json can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-xml-json Defining a REST service is pretty easy, simply ad @Path annotation to a class then

More information

CS 520 Theory and Practice of Software Engineering Fall 2017

CS 520 Theory and Practice of Software Engineering Fall 2017 Logistics CS 520 Theory and Practice of Software Engineering Fall 2017 Best and worst programming practices September 12, 2017 Recap: software architecture vs. design Recap: software architecture examples

More information

Version Control with Git and What is there in Project 1 PALLABI GHOSH COMPUTER NETWORKS RECITATION 1

Version Control with Git and What is there in Project 1 PALLABI GHOSH COMPUTER NETWORKS RECITATION 1 Version Control with Git and What is there in Project 1 PALLABI GHOSH (PALLABIG@ANDREW.CMU.EDU) 15-441 COMPUTER NETWORKS RECITATION 1 What is version control? Revisit previous code versions Backup projects

More information

Creating RESTful web services with Spring Boot

Creating RESTful web services with Spring Boot Creating RESTful web services with Spring Boot The Spring framework Free and open source Inversion of Control Container (IoC) Modules DI / AOP Data /Security Web MVC/ REST So much more +++ What is Spring

More information

CS 520 Theory and Practice of Software Engineering Fall 2017

CS 520 Theory and Practice of Software Engineering Fall 2017 CS 520 Theory and Practice of Software Engineering Fall 2017 Best and worst programming practices September 12, 2017 Logistics Recap: software architecture vs. design Specification Architecture Development

More information

SaltStack. Orchestration & Application Deployment. Arnold Bechtoldt Oberhausen,

SaltStack. Orchestration & Application Deployment. Arnold Bechtoldt Oberhausen, SaltStack Orchestration & Application Deployment Arnold Bechtoldt Oberhausen, 07.11.2015 Arnold Bechtoldt Systems Engineer @ inovex GmbH Platform Engineering System Automation & Development DevOps Support

More information

Tishik Int. University / College of Science / IT Dept. This Course based mainly on online sources ADVANCED MOBILE APPLICATIONS / Spring 1

Tishik Int. University / College of Science / IT Dept. This Course based mainly on online sources ADVANCED MOBILE APPLICATIONS / Spring 1 ADVANCED MOBILE APPLICATIONS / 2018-2019 Spring Tishik Int. University / College of Science / IT Dept. Presented By: Mohammad Salim Al-Othman For 4 th Grade Students This Course based mainly on online

More information

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

TM DevOps Use Case. 2017TechMinfy All Rights Reserved Document Details Use Case Name TMDevOps Use Case04 First Draft 10 th Dec 2017 Author Reviewed By Amrendra Kumar Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Pre-Conditions/Trigger... 4

More information

// initialize array to true. for (i = 0; i < s; i++) f[i] = true; // get rid of known non-primes f[0] = f[1] = false;

// initialize array to true. for (i = 0; i < s; i++) f[i] = true; // get rid of known non-primes f[0] = f[1] = false; Listing 1: GeneratePrimes.java This class Generates prime numbers up to a user specified maximum. The algorithm used is the Sieve of Eratosthenes. Eratosthenes of Cyrene, b. c. 276 BC, Cyrene, Libya

More information

INTRODUCTION. 2

INTRODUCTION. 2 1 INTRODUCTION It is of no secret that Android is loved by millions of people around the world. Created and developed by Google, it would be most developers dream job. That being said, there are a lot

More information

The Actual Real World at EclipseCon/ALM

The Actual Real World at EclipseCon/ALM Tycho The Actual Real World at EclipseCon/ALM Raise your Hand if you are Sure Addressing the Issues Real World: Tycho Issues World Wide Distributed Teams India, China, Europe, Argentina, United States

More information

Advanced Programming - JAVA Lecture 4 OOP Concepts in JAVA PART II

Advanced Programming - JAVA Lecture 4 OOP Concepts in JAVA PART II Advanced Programming - JAVA Lecture 4 OOP Concepts in JAVA PART II Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Ad hoc-polymorphism Outline Method overloading Sub-type Polymorphism Method overriding Dynamic

More information

CSE 331 Software Design & Implementation

CSE 331 Software Design & Implementation CSE 331 Software Design & Implementation Hal Perkins Spring 2017 GUI Event-Driven Programming 1 The plan User events and callbacks Event objects Event listeners Registering listeners to handle events Anonymous

More information

Understanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018

Understanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018 Understanding RESTful APIs and documenting them with Swagger Presented by: Tanya Perelmuter Date: 06/18/2018 1 Part 1 Understanding RESTful APIs API types and definitions REST architecture and RESTful

More information

Connexion Documentation

Connexion Documentation Connexion Documentation Release 0.5 Zalando SE Nov 16, 2017 Contents 1 Quickstart 3 1.1 Prerequisites............................................... 3 1.2 Installing It................................................

More information

What s new in IBM Operational Decision Manager 8.9 Standard Edition

What s new in IBM Operational Decision Manager 8.9 Standard Edition What s new in IBM Operational Decision Manager 8.9 Standard Edition Release themes User empowerment in the Business Console Improved development and operations (DevOps) features Easier integration with

More information

GAVIN KING RED HAT CEYLON SWARM

GAVIN KING RED HAT CEYLON SWARM GAVIN KING RED HAT CEYLON SWARM CEYLON PROJECT A relatively new programming language which features: a powerful and extremely elegant static type system built-in modularity support for multiple virtual

More information

Dealing with Bugs. Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009

Dealing with Bugs. Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009 Dealing with Bugs Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009 University of Colorado, 2009 1 Goals 2 Review material from Chapter 11 of Pilone & Miles Dealing with

More information

Java EE 8 What s coming? David Delabassee Oracle May 17, 2017

Java EE 8 What s coming? David Delabassee Oracle May 17, 2017 Java EE 8 What s coming? David Delabassee - @delabassee Oracle May 17, 2017 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information

Authentication CS 4720 Mobile Application Development

Authentication CS 4720 Mobile Application Development Authentication Mobile Application Development System Security Human: social engineering attacks Physical: steal the server itself Network: treat your server like a 2 year old Operating System: the war

More information

Advanced MEIC. (Lesson #18)

Advanced MEIC. (Lesson #18) Advanced Programming @ MEIC (Lesson #18) Last class Data races Java Memory Model No out-of-thin-air values Data-race free programs behave as expected Today Finish with the Java Memory Model Introduction

More information

Liberty Right Fit for MicroProfile

Liberty Right Fit for MicroProfile IBM _ 1 Liberty Right Fit for MicroProfile Alasdair Nottingham, IBM, STSM, WebSphere Runtime Architect Kevin Sutter, IBM, STSM, Java EE Architect JavaOne Sept 2016 Who Are We? Kevin Sutter WebSphere Java

More information

DatabaseRESTAPI

DatabaseRESTAPI ORDS DatabaseRESTAPI https://oracle.com/rest Jeff Smith Senior Principal Product Manager Jeff.d.smith@oracle.com @thatjeffsmith Database Tools, Oracle Corp Not just THAT SQLDev Guy I GET ORDS, too! Blogs

More information

Beyond Unit Testing. About Us. Steve Loughran Julio Guijarro HP Laboratories, Bristol, UK. steve.loughran at hpl.hp.com julio.guijarro at hpl.hp.

Beyond Unit Testing. About Us. Steve Loughran Julio Guijarro HP Laboratories, Bristol, UK. steve.loughran at hpl.hp.com julio.guijarro at hpl.hp. Beyond Unit Testing Steve Loughran Julio Guijarro HP Laboratories, Bristol, UK steve.loughran at hpl.hp.com julio.guijarro at hpl.hp.com Julio Guijarro About Us Research scientist at HP Laboratories on

More information

JAX-RS and CDI Bike the (ReacIve) Bridge CON2549

JAX-RS and CDI Bike the (ReacIve) Bridge CON2549 JAX-RS and CDI Bike the (ReacIve) Bridge CON2549 David Delabassée (@delabassee) - Oracle José Paumard (@josepaumard) - Consultant October, 2017 2 @delabassee 3 @JosePaumard @JosePaumard https://github.com/josepaumard

More information

Developer: Chaithanya Krishna Gogineni Graduate Teaching Assistant Software Engineering Computer Science Department Northern Illinois University

Developer: Chaithanya Krishna Gogineni Graduate Teaching Assistant Software Engineering Computer Science Department Northern Illinois University Developer: Chaithanya Krishna Gogineni Graduate Teaching Assistant Software Engineering Computer Science Department Northern Illinois University DeKalb, Illinois. www.chaithanyagogineni.com 1.Requirements

More information