Ćwiczenie 10 Tworzenie aplikacji listy zakupów Aplikacja REST z wykorzystaniem JAXRS, JPA, Maven

Size: px
Start display at page:

Download "Ćwiczenie 10 Tworzenie aplikacji listy zakupów Aplikacja REST z wykorzystaniem JAXRS, JPA, Maven"

Transcription

1 Ćwiczenie 10 Tworzenie aplikacji listy zakupów Aplikacja REST z wykorzystaniem JAXRS, JPA, Maven Tworzenie aplikacji 1. Tworzymy nowy projekt Maven o nazwie webjpa i wybieramy archetyp. Jako lokalizację wybieramy c:/projekt:

2 2. Struktura folderów i plików projektu:klasa wykonująca operacje na bazie danych (ProductRepository): package data; import javax.enterprise.context.applicationscoped; import javax.inject.inject; import javax.persistence.entitymanager; import javax.persistence.entitytransaction; import javax.ejb.stateless; import javax.ejb.transactionattribute; import javax.ejb.transactionattributetype; import javax.naming.context; import javax.naming.initialcontext; import javax.persistence.query; import javax.persistence.criteria.criteriabuilder; import javax.persistence.criteria.criteriaquery; import javax.persistence.criteria.root; import javax.persistence.*; import javax.annotation.resource; import javax.transaction.usertransaction;

3 import java.util.logging.logger; import java.util.list; import public class ProductRepository { private Logger logger = private EntityManager private UserTransaction ut; public Product findbyid(long id) { return em.find(product.class, id); public List<Product> findallorderedbyname() { CriteriaBuilder cb = em.getcriteriabuilder(); CriteriaQuery<Product> criteria = cb.createquery(product.class); Root<Product> product = criteria.from(product.class); criteria.select(product).orderby(cb.asc(product.get("name"))); return em.createquery(criteria).getresultlist(); public void deleteproduct(long id){ try{ ut.begin(); Product product = em.find(product.class, id); em.remove(product); ut.commit(); catch (Exception e) { logger.warning(e.getmessage()); 3. Tworzymy model danych (klasa Product): package model; import java.io.serializable;

4 import javax.persistence.column; import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.id; import javax.persistence.table; import javax.persistence.uniqueconstraint; import javax.validation.constraints.digits; import javax.validation.constraints.notnull; import javax.validation.constraints.pattern; import javax.validation.constraints.size; import javax.xml.bind.annotation.xmlrootelement; import org.hibernate.validator.constraints. ; @Table(name = "product", uniqueconstraints = "id")) public class Product implements Serializable { private static final long serialversionuid private int private String private int quantity; public int getid(int id) { return id; public void setid(int id) { this.id = id; public String getname() { return name; public void setname(string name) { this.name = name; public int getquantity() { return quantity;

5 public void setquantity(int quantity) { this.quantity = quantity; public Product() { public Product(int id, String name, int quantity) { this.id = id; this.name = name; this.quantity = public String tostring() { return "[" + id + "] - " + name + " - " + quantity; 4. Klasa RestConfig: package rest; import javax.ws.rs.applicationpath; import public class RestConfig extends Application { 5. Tworzymy klasę odpowiedzialną za obsługę REST. Wymiana danych będzie odbywać się w fomracie JSON. W klasie zostaną wygenerowane przykładowe dane do sprawdzenia działania aplikacji. Kod klasy Endpoint: package rest; import java.util.arrays; import java.util.hashmap; import java.util.list; import java.util.map; import javax.inject.inject; import javax.ws.rs.consumes; import javax.ws.rs.delete; import javax.ws.rs.get; import javax.ws.rs.post; import javax.ws.rs.put; import javax.ws.rs.path; import javax.ws.rs.pathparam; import javax.ws.rs.produces; import javax.ws.rs.webapplicationexception; import javax.ws.rs.core.mediatype; import javax.ws.rs.core.response;

6 import model.product; import public class Endpoint private ProductRepository public List<Product> getall() { try{ return repository.findallorderedbyname(); catch (Exception e) { Map<String, String> responseobj = new HashMap<String, String>(); responseobj.put("error", e.getmessage()); throw new public Product getproduct(@pathparam("id") int id) { Product product = new Product(id, "chleb", 2); public Product addproduct(product product) { @Consumes(MediaType.APPLICATION_JSON) public Response saveproduct(@pathparam("id") int id, Product product) { Response.ResponseBuilder builder = null; builder = Response.ok("{\"status\" : \"ok\""); public Response delproduct(@pathparam("id") long id) { Response.ResponseBuilder builder = null; builder = Response.ok("{\"status\" : \"ok\""); return builder.build();

7 6. Klasa Resources package util; import java.util.logging.logger; import javax.enterprise.inject.produces; import javax.enterprise.inject.spi.injectionpoint; import javax.persistence.entitymanager; import javax.persistence.persistencecontext; public class private EntityManager public Logger producelog(injectionpoint injectionpoint) { return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName()); 7. Plik beans.xml: <?xml version="1.0" encoding="utf-8"?> <!-- Marker file indicating CDI should be enabled --> <beans xmlns=" xmlns:xsi=" xsi:schemalocation=" bean-discovery-mode="all"> </beans> 8. Plik persistnce.xml: <?xml version="1.0" encoding="utf-8"?> <persistence xmlns=" xmlns:xsi=" xsi:schemalocation=" version="1.0"> <persistence-unit name="university-app"> <provider>org.hibernate.ejb.hibernatepersistence</provider> <jta-data-source>java:jboss/datasources/wseidatasource</jta-data-source> <class>model.student</class> <properties> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.hashtablecacheprovider" /> <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.jbosstransactionmanagerlookup" /> <property name="hibernate.dialect"

8 value="org.hibernate.dialect.mysqldialect" /> <property name="hibernate.id.new_generator_mappings" value="false" /> </properties> </persistence-unit> </persistence> 9. Plik pom.xml: <project xmlns=" xmlns:xsi=" xsi:schemalocation=" <modelversion>4.0.0</modelversion> <groupid>pl.edu.wsei</groupid> <artifactid>webjpa</artifactid> <packaging>war</packaging> <version>0.0.1-snapshot</version> <name>webjpa Maven Webapp</name> <url> <dependencies> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>3.8.1</version> <scope>test</scope> <groupid>org.jboss.spec.javax.ws.rs</groupid> <artifactid>jboss-jaxrs-api_2.0_spec</artifactid> <scope>provided</scope> <groupid>org.hibernate.javax.persistence</groupid> <artifactid>hibernate-jpa-2.1-api</artifactid> <scope>provided</scope> <groupid>org.hibernate.validator</groupid> <artifactid>hibernate-validator</artifactid> <version>6.0.7.final</version> <groupid>org.jboss.spec.javax.ejb</groupid> <artifactid>jboss-ejb-api_3.2_spec</artifactid> <scope>provided</scope> <!-- Import the CDI API, we use provided scope as the API is included in JBoss WildFly --> <groupid>javax.enterprise</groupid> <artifactid>cdi-api</artifactid> <scope>provided</scope> <groupid>javax.transaction</groupid> <artifactid>jta</artifactid> <version>1.1</version>

9 <groupid>javax.annotation</groupid> <artifactid>jsr250-api</artifactid> <version>1.0</version> </dependencies> <build> <finalname>webjpa</finalname> </build> <dependencymanagement> <dependencies> <groupid>org.jboss.spec</groupid> <artifactid>jboss-javaee-7.0</artifactid> <version>1.0.3.final</version> <scope>import</scope> <type>pom</type> </dependencies> </dependencymanagement> </project> 10/ Uruchom wiersz poleceń cmd i przejdź do folderu c:/projekt/webjpa. Następnie wpisz polecenie: mvn install. Jeżeli instalacja zakończy się sukcesem, w folderze target aplikacji pojawi się plik wepjpa.war, który można zainstalować na serwerze. Efekt działania aplikacji:

Migration Cheat Cheet for Java EE 5 to Java EE 6

Migration Cheat Cheet for Java EE 5 to Java EE 6 Java EE 6 EJB via CDI 1. Create a qualifier (annotation) for the EJB. @Qualifier @Target({ TYPE, METHOD, PARAMETER, FIELD }) @Retention(RUNTIME) @Documented public @interface MyBeanLocal { } 2. Create

More information

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

Example rest-on-ejb can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-on-ejb REST on EJB Example rest-on-ejb can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-on-ejb Help us document this example! Click the blue pencil icon in the upper right to edit this

More information

Dynamic DAO Implementation

Dynamic DAO Implementation Dynamic DAO Implementation Example dynamic-dao-implementation can be browsed at https://github.com/apache/tomee/tree/master/examples/dynamic-daoimplementation Many aspects of Data Access Objects (DAOs)

More information

Ruling Database Testing with DBUnit Rules

Ruling Database Testing with DBUnit Rules Ruling Database Testing with DBUnit Rules Table of Contents 1. Introduction............................................................................. 2 2. Setup DBUnit Rules.......................................................................

More information

REST JPA IN JBOSSEAP 6.4

REST JPA IN JBOSSEAP 6.4 REST JPA IN JBOSSEAP 6.4 Tổ chức code phân tầng REST JPA DB Trong đó JPA gồm: entities và các lớp façade. Tạo entity đặc tả cho một cuốn sách package rest.jpa.entities; import javax.persistence.entity;

More information

Spring Data JPA, QueryDSL 실습 JPAQueryFactory 이용

Spring Data JPA, QueryDSL 실습 JPAQueryFactory 이용 Spring Data JPA, QueryDSL 실습 JPAQueryFactory 이용 이전예제의 QueryDSL 작성부분만 JPAQueryFactory 를사용하여구현해보자. 다른점은 JPAQueryFactory 인스턴스생성을위해스프링부트메인에 @Bean 으로정의한부분과 EmpRepositoryImpl 의쿼리작성부분이조금다르고 groupby 처리메소드가추가되었다.

More information

Injection Of Entitymanager

Injection Of Entitymanager Injection Of Entitymanager Example injection-of-entitymanager can be browsed at https://github.com/apache/tomee/tree/master/examples/injection-ofentitymanager This example shows use of @PersistenceContext

More information

JPA Entities. Course Multi Tier Business Applications with Java EE. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel. Berner Fachhochschule

JPA Entities. Course Multi Tier Business Applications with Java EE. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel. Berner Fachhochschule Berner Fachhochschule Technik und Informatik JPA Entities Course Multi Tier Business Applications with Java EE Prof. Dr. Eric Dubuis Berner Fachhochschule Biel Content Characteristics of entities Programming

More information

Testing Transactions BMT

Testing Transactions BMT Testing Transactions BMT Example testing-transactions-bmt can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-transactions-bmt Shows how to begin, commit and rollback transactions

More information

Developing container managed persistence with JPA

Developing container managed persistence with JPA Developing container managed persistence with JPA Previous Developing bean managed persistence with JPA Up Developing JPA applications Developing persistence for JSF applications with JPA Next The Java

More information

Module 8 The Java Persistence API

Module 8 The Java Persistence API Module 8 The Java Persistence API Objectives Describe the role of the Java Persistence API (JPA) in a Java EE application Describe the basics of Object Relational Mapping Describe the elements and environment

More information

Introduction to JPA. Fabio Falcinelli

Introduction to JPA. Fabio Falcinelli Introduction to JPA Fabio Falcinelli Me, myself and I Several years experience in active enterprise development I love to design and develop web and standalone applications using Python Java C JavaScript

More information

Java Persistence API

Java Persistence API Java Persistence API Entities and EntityManager Revision: v2014-09-17 Built on: 2015-11-18 01:40 EST Copyright 2015 jim stafford (jim.stafford@jhu.edu) This presentation provides and introduction to JPA

More information

About 1. Chapter 1: Getting started with jersey 2. Remarks 2. Examples 2. Installation or Setup 2. Hello World Example 2

About 1. Chapter 1: Getting started with jersey 2. Remarks 2. Examples 2. Installation or Setup 2. Hello World Example 2 jersey #jersey Table of Contents About 1 Chapter 1: Getting started with jersey 2 Remarks 2 Examples 2 Installation or Setup 2 Hello World Example 2 CRUD Operations example in Jersey 3 Chapter 2: Configuring

More information

Entities are classes that need to be persisted, usually in a relational database. In this chapter we cover the following topics:

Entities are classes that need to be persisted, usually in a relational database. In this chapter we cover the following topics: Entities are classes that need to be persisted, usually in a relational database. In this chapter we cover the following topics: EJB 3 entities Java persistence API Mapping an entity to a database table

More information

Example ear-testing can be browsed at https://github.com/apache/tomee/tree/master/examples/ear-testing

Example ear-testing can be browsed at https://github.com/apache/tomee/tree/master/examples/ear-testing EAR Testing Example ear-testing can be browsed at https://github.com/apache/tomee/tree/master/examples/ear-testing The goal of this example is to demonstrate how maven projects might be organized in a

More information

Webservice Inheritance

Webservice Inheritance Webservice Inheritance Example webservice-inheritance can be browsed at https://github.com/apache/tomee/tree/master/examples/webservice-inheritance Help us document this example! Click the blue pencil

More information

EJB 3 Entities. Course Multi Tier Business Applications with Java EE. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel. Berner Fachhochschule

EJB 3 Entities. Course Multi Tier Business Applications with Java EE. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel. Berner Fachhochschule Berner Fachhochschule Technik und Informatik EJB 3 Entities Course Multi Tier Business Applications with Java EE Prof. Dr. Eric Dubuis Berner Fachhochschule Biel Content Characteristics of entities Programming

More information

PROJECTOS DE INVESTIGAÇÃO CIENTÍFICA E DESENVOLVIMENTO TECNOLÓGICO

PROJECTOS DE INVESTIGAÇÃO CIENTÍFICA E DESENVOLVIMENTO TECNOLÓGICO PROJECTOS DE INVESTIGAÇÃO CIENTÍFICA E DESENVOLVIMENTO TECNOLÓGICO Clip-art Retrieval using Sketches PTDC/EIA-EIA/108077/2008 Deliverable: D4 - Multidimensional Indexing Structure Task: T4 - Indexing Mechanism

More information

Exploring EJB3 With JBoss Application Server Part 6.2

Exploring EJB3 With JBoss Application Server Part 6.2 By Swaminathan Bhaskar 01/24/2009 Exploring EJB3 With JBoss Application Server Part 6.2 In this part, we will continue to explore Entity Beans Using Java Persistence API (JPA). Thus far, we have seen examples

More information

Exploring EJB3 With JBoss Application Server Part 6.3

Exploring EJB3 With JBoss Application Server Part 6.3 By Swaminathan Bhaskar 02/07/2009 Exploring EJB3 With JBoss Application Server Part 6.3 In this part, we will continue to explore Entity Beans Using Java Persistence API (JPA). In the previous part, we

More information

INTRODUCTION TO COMPONENT DESIGN IN JAVA EE COMPONENT VS. OBJECT, JAVA EE JAVA EE DEMO. Tomas Cerny, Software Engineering, FEE, CTU in Prague,

INTRODUCTION TO COMPONENT DESIGN IN JAVA EE COMPONENT VS. OBJECT, JAVA EE JAVA EE DEMO. Tomas Cerny, Software Engineering, FEE, CTU in Prague, INTRODUCTION TO COMPONENT DESIGN IN JAVA EE COMPONENT VS. OBJECT, JAVA EE JAVA EE DEMO Tomas Cerny, Software Engineering, FEE, CTU in Prague, 2016 1 JAVA ZOOLOGY Java Standard Edition Java SE Basic types,

More information

Baking a Java EE 8 Micro Pi Mike Croft Ondrej Mihályi. Payara Support

Baking a Java EE 8 Micro Pi Mike Croft Ondrej Mihályi. Payara Support Baking a Java EE 8 Micro Pi Mike Croft Ondrej Mihályi Payara Support Engineers @Payara_Fish Who are we? Payara Support @croft Snowboarder Payara Support @omihalyi Proud father What s this all about? How

More information

Thu 10/26/2017. Created RESTful Web Service, JavaDB, Java Persistence API, Glassfish server in NetBeans 8

Thu 10/26/2017. Created RESTful Web Service, JavaDB, Java Persistence API, Glassfish server in NetBeans 8 Created RESTful Web Service, JavaDB, Java Persistence API, Glassfish server in NetBeans 8 1 tutorial at http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/restfulwebservices/restfulwebservices.htm

More information

Exercise for OAuth2 security. Andreas Falk

Exercise for OAuth2 security. Andreas Falk Exercise for OAuth2 security Andreas Falk Table of Contents 1. What we will build....................................................................... 1 2. Step 1....................................................................................

More information

Dynamic Datasource Routing

Dynamic Datasource Routing Dynamic Datasource Routing Example dynamic-datasource-routing can be browsed at https://github.com/apache/tomee/tree/master/examples/dynamic-datasourcerouting The TomEE dynamic datasource api aims to allow

More information

Setting up a Maven Project

Setting up a Maven Project Setting up a Maven Project This documentation describes how to set up a Maven project for CaptainCasa. Please use a CaptainCasa version higher than 20180102. There were quite some nice changes which were

More information

How to implement an OSLC Provider with OSLC4J

How to implement an OSLC Provider with OSLC4J How to implement an OSLC Provider with OSLC4J Stefan Paschke, ViF 25th April 2013 MBAT Consortium 1 Table of Contents Recap on OSLC Definitions and Architecture Quick Demo Scenario definition Building

More information

Entity LifeCycle Callback Methods Srikanth Technologies Page : 1

Entity LifeCycle Callback Methods Srikanth Technologies Page : 1 Entity LifeCycle Callback Methods Srikanth Technologies Page : 1 Entity LifeCycle Callback methods A method may be designated as a lifecycle callback method to receive notification of entity lifecycle

More information

Cheat Sheet: Wildfly Swarm

Cheat Sheet: Wildfly Swarm Cheat Sheet: Wildfly Swarm Table of Contents 1. Introduction 1 5.A Java System Properties 5 2. Three ways to Create a 5.B Command Line 6 Swarm Application 1 5.C Project Stages 6 2.A Developing a Swarm

More information

CDI Produces Disposes

CDI Produces Disposes CDI Produces Disposes Example cdi-produces-disposes can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-produces-disposes Help us document this example! Click the blue pencil icon

More information

Set up Maven plugins in Eclipse. Creating a new project

Set up Maven plugins in Eclipse. Creating a new project In this tutorial, we describe steps for setting up a Maven project that uses libsbolj in Eclipse. Another tutorial follows this one which explains how we use SBOL 2.0 to represent the function of a state-of-the-art

More information

Session 24. Spring Framework Introduction. Reading & Reference. dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p

Session 24. Spring Framework Introduction. Reading & Reference. dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p Session 24 Spring Framework Introduction 1 Reading & Reference Reading dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p http://engineering.pivotal.io/post/must-know-spring-boot-annotationscontrollers/

More information

Workflow. Summary. Prerequisites. Getting your module ready. Create a new module

Workflow. Summary. Prerequisites. Getting your module ready. Create a new module Email Workflow Summary Prerequisites Getting your module ready Create a new module Module dependencies Defining the workflow Create a new process Custom workitems Add workitem Publication steps Process

More information

Example cdi-produces-field can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-produces-field

Example cdi-produces-field can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-produces-field CDI field producer Example cdi-produces-field can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-produces-field This example shows the usage of the @Produces annotation. @Produces

More information

This tutorial will take you through simple and practical approaches while learning JDBC framework provided by Spring.

This tutorial will take you through simple and practical approaches while learning JDBC framework provided by Spring. About the Tutorial Spring JDBC Framework takes care of all the low-level details starting from opening the connection, preparing and executing the SQL statement, processing exceptions, handling transactions,

More information

= "categories") 1 public class Category implements java.io.serializable { 2 private static final long serialversionuid = 1L;

= categories) 1 public class Category implements java.io.serializable { 2 private static final long serialversionuid = 1L; @Entity @Table(name = "categories") 1 public class Category implements java.io.serializable { 2 private static final long serialversionuid = 1L; @Id @GeneratedValue 3 private Long id; 4 private String

More information

Integrating Spring Boot with MySQL

Integrating Spring Boot with MySQL Integrating Spring Boot with MySQL Introduction For this course we will be using MySQL as the database for permanent data storage. We will use Java Persistence API (JPA) as an Object Relation Map (ORM)

More information

4. Check the site specified in previous step to work with, expand Maven osgi-bundles, and select slf4j.api,

4. Check the site specified in previous step to work with, expand Maven osgi-bundles, and select slf4j.api, In this tutorial, we describe steps for setting up a Maven project that uses libsbolj in Eclipse. Another tutorial follows this one which explains how we use SBOL 2 to represent the function of a state-of-the-art

More information

Topics in Enterprise Information Management

Topics in Enterprise Information Management Topics in Enterprise Information Management Dr. Ilan Kirsh JPA Basics Object Database and ORM Standards and Products ODMG 1.0, 2.0, 3.0 TopLink, CocoBase, Castor, Hibernate,... EJB 1.0, EJB 2.0: Entity

More information

SCA Java binding.rest

SCA Java binding.rest SCA Java binding.rest Introduction The Tuscany Java SCA runtime supports Representational State Transfer (REST) services invocations via the extension. Tuscany REST binding

More information

Content. Development Tools 2(57)

Content. Development Tools 2(57) Development Tools Content Project management and build, Maven Unit testing, Arquillian Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools

More information

Short introduction to REST

Short introduction to REST Short introduction to REST HTTP Hypertext Transfer Protocol HTTP protocol methods: GET, POST, PUT, DELETE, OPTIONS, HEAD HTTP protocol is stateless Server does not know whether this is your first request,

More information

Creating Custom Builder Components

Creating Custom Builder Components 3 Creating Custom Builder Components Date of Publish: 2018-12-18 https://docs.hortonworks.com/ Contents...3 Adding Custom Processors...3 Creating Custom Processors...3 Registering Custom Processors with

More information

bean-validation-design-by-contract

bean-validation-design-by-contract bean-validation-design-by-contract Example bean-validation-design-by-contract can be browsed at https://github.com/apache/tomee/tree/master/examples/bean-validation-designby-contract Bean Validation -

More information

TP 6 des architectures logicielles Séance 6 : Architecture n-tiers avec du JPA avec plusieurs entités. 1 Préparation de l environnement Eclipse

TP 6 des architectures logicielles Séance 6 : Architecture n-tiers avec du JPA avec plusieurs entités. 1 Préparation de l environnement Eclipse TP 6 des architectures logicielles Séance 6 : Architecture n-tiers avec du JPA avec plusieurs entités 1 Préparation de l environnement Eclipse 1. Environment Used JDK 7 (Java SE 7) JPA 2.0 Eclipse MySQL

More information

WHAT IS EJB. Security. life cycle management.

WHAT IS EJB. Security. life cycle management. EJB WHAT IS EJB EJB is an acronym for enterprise java bean. It is a specification provided by Sun Microsystems to develop secured, robust and scalable distributed applications. To run EJB application,

More information

Introduction to Session beans. EJB - continued

Introduction to Session beans. EJB - continued Introduction to Session beans EJB - continued Local Interface /** * This is the HelloBean local interface. * * This interface is what local clients operate * on when they interact with EJB local objects.

More information

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.0, December 19, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

Enterprise Development

Enterprise Development Enterprise Development with What needs to be done to run JEE like applications inside Karaf? @anierbeck - Karaf PMC, Apache Member - OPS4j Pax Web Project Lead - Senior IT Consultant @codecentric - co-author

More information

Metadata driven component development. using Beanlet

Metadata driven component development. using Beanlet Metadata driven component development using Beanlet What is metadata driven component development? It s all about POJOs and IoC Use Plain Old Java Objects to focus on business logic, and business logic

More information

Maven. INF5750/ Lecture 2 (Part II)

Maven. INF5750/ Lecture 2 (Part II) Maven INF5750/9750 - Lecture 2 (Part II) Problem! Large software projects usually contain tens or even hundreds of projects/modules Very different teams may work on different modules Will become messy

More information

Java Technologies Contexts and Dependency Injection (CDI)

Java Technologies Contexts and Dependency Injection (CDI) Java Technologies Contexts and Dependency Injection (CDI) The Context Do you remember AOP, IoC, DI? Implicit Middleware seems like a good idea. Using transactions is so easy in EJBs... Is it possible to

More information

JPA - ENTITY MANAGERS

JPA - ENTITY MANAGERS JPA - ENTITY MANAGERS http://www.tutorialspoint.com/jpa/jpa_entity_managers.htm Copyright tutorialspoint.com This chapter takes you through simple example with JPA. Let us consider employee management

More information

Living Documentation. Version RC1

Living Documentation. Version RC1 Living Documentation Version 1.0.0-RC1 Table of Contents 1. Introduction............................................................................. 1 2. Manage database with Database Rider Core..............................................

More information

Chapter 1: First steps with JAX-WS Web Services

Chapter 1: First steps with JAX-WS Web Services Chapter 1: First steps with JAX-WS Web Services This chapter discusses about what JAX-WS is and how to get started with developing services using it. The focus of the book will mainly be on JBossWS a Web

More information

PATTERNS & BEST PRACTICES FOR CDI

PATTERNS & BEST PRACTICES FOR CDI PATTERNS & BEST PRACTICES FOR CDI SESSION 20181 Ryan Cuprak e-formulation Analyst, Author, Connecticut Java Users Group President Reza Rahman Resin Developer, Java EE/EJB/JMS JCP expert, Author EJB 3 in

More information

Practice 2. SOAP & REST

Practice 2. SOAP & REST Enterprise System Integration Practice 2. SOAP & REST Prerequisites Practice 1. MySQL and JPA Introduction JAX-WS stands for Java API for XML Web Services. JAX-WS is a technology for building web services

More information

Produced by. Agile Software Development. Eamonn de Leastar

Produced by. Agile Software Development. Eamonn de Leastar Agile Software Development Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie pacemaker-console

More information

Apache Maven. Created by anova r&d bvba

Apache Maven. Created by anova r&d bvba Apache Maven Created by anova r&d bvba http://www.anova.be This work is licensed under the Creative Commons Attribution 2.0 Belgium License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.0/be/

More information

G l a r i m y TeachCode Series. Hibernate. Illustrated. Krishna Mohan Koyya

G l a r i m y TeachCode Series. Hibernate. Illustrated. Krishna Mohan Koyya G l a r i m y TeachCode Series Hibernate Illustrated Krishna Mohan Koyya Basic Mapping Entities with XML Person.java import java.util.date; public class Person { private int id; private String name; private

More information

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition CMP 436/774 Introduction to Java Enterprise Edition Fall 2013 Department of Mathematics and Computer Science Lehman College, CUNY 1 Java Enterprise Edition Developers today increasingly recognize the need

More information

Oracle Fusion Middleware Developing and Securing RESTful Web Services for Oracle WebLogic Server. 12c ( )

Oracle Fusion Middleware Developing and Securing RESTful Web Services for Oracle WebLogic Server. 12c ( ) Oracle Fusion Middleware Developing and Securing RESTful Web Services for Oracle WebLogic Server 12c (12.2.1.3.0) E80428-02 April 2018 Oracle Fusion Middleware Developing and Securing RESTful Web Services

More information

EJB - ACCESS DATABASE

EJB - ACCESS DATABASE EJB - ACCESS DATABASE http://www.tutorialspoint.com/ejb/ejb_access_database.htm Copyright tutorialspoint.com EJB 3.0, persistence mechanism is used to access the database in which container manages the

More information

Integrating NWDS with a Non-SAP Server (JBoss AS) to Develop and Deploy Java EE Applications

Integrating NWDS with a Non-SAP Server (JBoss AS) to Develop and Deploy Java EE Applications Integrating NWDS with a Non-SAP Server (JBoss AS) to Develop and Deploy Java EE Applications Applies to: This article applies to SAP NetWeaver Developer Studio, SAP NetWeaver 7.1 CE SP03 PAT0000 Summary

More information

SAP S/4HANA CLOUD SDK: EXTEND YOUR CLOUD FOUNDRY APPLICATION WITH TENANT-AWARE PERSISTENCY

SAP S/4HANA CLOUD SDK: EXTEND YOUR CLOUD FOUNDRY APPLICATION WITH TENANT-AWARE PERSISTENCY SAP S/4HANA CLOUD SDK: EXTEND YOUR CLOUD FOUNDRY APPLICATION WITH TENANT-AWARE PERSISTENCY DECEMBER 21, 2017 KAUSTUBH SATPUTE LEAVE A COMMENT EDIT S/4HANA Cloud SDK When you build a side-by-side extension

More information

Appium mobile test automation

Appium mobile test automation Appium mobile test automation for Google Android and Apple ios Last updated: 10 July 2017 Pepgo Limited, 71-75 Shelton Street, Covent Garden, London, WC2H 9JQ, United Kingdom Contents About this document...

More information

Java EE Architecture, Part Three. Java EE architecture, part three 1(69)

Java EE Architecture, Part Three. Java EE architecture, part three 1(69) Java EE Architecture, Part Three Java EE architecture, part three 1(69) Content Requirements on the Integration layer The Database Access Object, DAO Pattern Frameworks for the Integration layer Java EE

More information

MicroProfile - New and Noteworthy

MicroProfile - New and Noteworthy MicroProfile - New and Noteworthy Ivar Grimstad Principal Consultant, Cybercom Sweden https://github.com/ivargrimstad https://www.linkedin.com/in/ivargrimstad Background MicroProfile Demo and Samples Monolithic

More information

JPA and CDI JPA and EJB

JPA and CDI JPA and EJB JPA and CDI JPA and EJB Concepts: Connection Pool, Data Source, Persistence Unit Connection pool DB connection store: making a new connection is expensive, therefor some number of connections are being

More information

Object-Relational Mapping is NOT serialization! You can perform queries on each field!

Object-Relational Mapping is NOT serialization! You can perform queries on each field! ORM Object-Relational Mapping is NOT serialization! You can perform queries on each field! Using hibernate stand-alone http://www.hibernatetutorial.com/ Introduction to Entities The Sun Java Data Objects

More information

Spring Professional v5.0 Exam

Spring Professional v5.0 Exam Spring Professional v5.0 Exam Spring Core Professional v5.0 Dumps Available Here at: /spring-exam/core-professional-v5.0- dumps.html Enrolling now you will get access to 250 questions in a unique set of

More information

<Insert Picture Here> Productive JavaEE 5.0 Development

<Insert Picture Here> Productive JavaEE 5.0 Development Productive JavaEE 5.0 Development Frank Nimphius Principle Product Manager Agenda Introduction Annotations EJB 3.0/JPA Dependency Injection JavaServer Faces JAX-WS Web Services Better

More information

BUILDING EXPERIENCE MANAGER COMPONENTS USING GRANITE/CORAL RESOURCE TYPES

BUILDING EXPERIENCE MANAGER COMPONENTS USING GRANITE/CORAL RESOURCE TYPES Adobe Systems BUILDING EXPERIENCE MANAGER COMPONENTS USING GRANITE/CORAL RESOURCE TYPES MARCH 1, 2018 Presented by: Scott MacDonald Contents Introduction 4 What you will learn about 4 Key Takeaways 4 Prerequisites

More information

The jpos REST tutorial shows you how to use an out-of-the-box binary distribution of jpos to build a REST server that responds to an /echo call.

The jpos REST tutorial shows you how to use an out-of-the-box binary distribution of jpos to build a REST server that responds to an /echo call. REST tutorial Table of Contents Create a project............................................................................. 2 Test run....................................................................................

More information

CDI @ApplicationScoped Example cdi-application-scope can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-application-scope This example show the use of @ApplicationScoped annotation

More information

MANUAL DO ALUNO DE ENGENHARIA DE SOFTWARE

MANUAL DO ALUNO DE ENGENHARIA DE SOFTWARE MANUAL DO ALUNO DE ENGENHARIA DE SOFTWARE [Document Subtitle] João Dias Pereira Instituto Superior Técnico ES 2014/15 [ 1 / 50 ] Introduction This document presents the several tools and technologies that

More information

How to Develop a Simple Crud Application Using Ejb3 and Web Dynpro

How to Develop a Simple Crud Application Using Ejb3 and Web Dynpro How to Develop a Simple Crud Application Using Ejb3 and Web Dynpro Applies to: SAP Web Dynpro Java 7.1 SR 5. For more information, visit the User Interface Technology homepage. Summary The objective of

More information

Java Persistence API (JPA) Entities

Java Persistence API (JPA) Entities Java Persistence API (JPA) Entities JPA Entities JPA Entity is simple (POJO) Java class satisfying requirements of JavaBeans specification Setters and getters must conform to strict form Every entity must

More information

Administering Apache Geronimo With Custom Server Assemblies and Maven. David Jencks

Administering Apache Geronimo With Custom Server Assemblies and Maven. David Jencks Administering Apache Geronimo With Custom Server Assemblies and Maven David Jencks 1 What is Geronimo? JavaEE 5 certified application server from Apache Modular construction Wires together other projects

More information

Basic EJB Development Exercise

Basic EJB Development Exercise Basic EJB Development Exercise Developing and Deploying a Basic EJB Revision: v2018-08-19 Built on: 2018-09-04 21:49 EST Copyright 2018 jim stafford (jim.stafford@jhu.edu) This document provides an exercise

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

This tutorial will take you through simple and practical approaches while learning AOP framework provided by Spring.

This tutorial will take you through simple and practical approaches while learning AOP framework provided by Spring. About the Tutorial One of the key components of Spring Framework is the Aspect Oriented Programming (AOP) framework. Aspect Oriented Programming entails breaking down program logic into distinct parts

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

Package Management and Build Tools

Package Management and Build Tools Package Management and Build Tools Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline Ant+Ivy (Apache) Maven (Apache) Gradle Bazel (Google) Buck (Facebook)

More information

Apache OpenWebBeans and DeltaSpike Deep Dive Mark Struberg Gerhard Petracek

Apache OpenWebBeans and DeltaSpike Deep Dive Mark Struberg Gerhard Petracek CDI @ Apache OpenWebBeans and DeltaSpike Deep Dive Mark Struberg Gerhard Petracek Agenda CDI and its terms Why OpenWebBeans? Portable CDI Extensions CDI by example with DeltaSpike CDI is a... JCP specification

More information

Apache MyFaces CODI. Mark Struberg, INSO TU-Vienna

Apache MyFaces CODI. Mark Struberg, INSO TU-Vienna Apache MyFaces CODI Mark Struberg, INSO TU-Vienna About Myself struberg@yahoo.de struberg@apache.org http://github.com/struberg freelancer, programmer since 20 years elected Apache Software Foundation

More information

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.1, May 18, 2018 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

ERROR New missing/unsatisfied dependencies: (Cannot configure datasource)

ERROR New missing/unsatisfied dependencies: (Cannot configure datasource) sign up log in tour help careers 2. search Questions Tags Tour Users Ask Question Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 1% free, no registration

More information

Developing RESTful Web services with JAX-RS. Sabyasachi Ghosh, Senior Application Engneer Oracle

Developing RESTful Web services with JAX-RS. Sabyasachi Ghosh, Senior Application Engneer Oracle Developing RESTful Web services with JAX-RS Sabyasachi Ghosh, Senior Application Engneer Oracle India, @neilghosh Java API for RESTful Web Services (JAX-RS) Standard annotation-driven API that aims to

More information

Apache Isis Maven plugin

Apache Isis Maven plugin Apache Isis Maven plugin Table of Contents 1. Apache Isis Maven plugin................................................................. 1 1.1. Other Guides.........................................................................

More information

Alternate Descriptors

Alternate Descriptors Alternate Descriptors Example alternate-descriptors can be browsed at https://github.com/apache/tomee/tree/master/examples/alternate-descriptors See the Alternate Descriptors page for the full details

More information

Covers Spring 3. Willie Wheeler. WITH Joshua White SAMPLE CHAPTER MANNING

Covers Spring 3. Willie Wheeler. WITH Joshua White SAMPLE CHAPTER MANNING Covers Spring 3 Willie Wheeler WITH Joshua White MANNING SAMPLE CHAPTER Spring in Practice by Willie Wheeler and Joshua White Chapter 11 Copyright 2013 Manning Publications brief contents 1 2 3 4 5 6 7

More information

JAX-RS and Jersey Paul Sandoz

JAX-RS and Jersey Paul Sandoz JAX-RS and Jersey Paul Sandoz JAX-RS co-spec lead and Jersey lead mailto:paul.sandoz@sun.com http://blogs.sun.com/sandoz https://twitter.com/paulsandoz/ 1 Overview Terminology Information & Status Integration

More information

Red Hat JBoss Enterprise Application Platform 7.1

Red Hat JBoss Enterprise Application Platform 7.1 Red Hat JBoss Enterprise Application Platform 7.1 Development Guide For Use with Red Hat JBoss Enterprise Application Platform 7.1 Last Updated: 2018-04-05 Red Hat JBoss Enterprise Application Platform

More information

JAVA V Tools in JDK Java, winter semester ,2017 1

JAVA V Tools in JDK Java, winter semester ,2017 1 JAVA Tools in JDK 1 Tools javac javadoc jdb javah jconsole jshell... 2 JAVA javac 3 javac arguments -cp -encoding -g debugging info -g:none -target version of bytecode (6, 7, 8, 9) --release -source version

More information

This tutorial discusses the basic functionalities of Microservice Architecture along with relevant examples for easy understanding.

This tutorial discusses the basic functionalities of Microservice Architecture along with relevant examples for easy understanding. About the Tutorial Microservice Architecture is a special design pattern of Service-oriented Architecture. It is an open source methodology. In this type of service architecture, all the processes will

More information

Ticket Monster Tutorial. Ticket Monster Tutorial

Ticket Monster Tutorial. Ticket Monster Tutorial Ticket Monster Tutorial i Ticket Monster Tutorial Ticket Monster Tutorial ii Contents I What is TicketMonster? 1 1 Preamble 2 2 Use cases 3 2.1 What can end users do?................................................

More information

Basic Session EJB. Developing and Deploying a Basic EJB. Revision: v

Basic Session EJB. Developing and Deploying a Basic EJB. Revision: v Basic Session EJB Developing and Deploying a Basic EJB Revision: v2018-10-16 Built on: 2018-12-05 08:39 EST Copyright 2018 jim stafford (jim.stafford@jhu.edu) This presentation provides information for

More information

Shale and the Java Persistence Architecture. Craig McClanahan Gary Van Matre. ApacheCon US 2006 Austin, TX

Shale and the Java Persistence Architecture. Craig McClanahan Gary Van Matre. ApacheCon US 2006 Austin, TX Shale and the Java Persistence Architecture Craig McClanahan Gary Van Matre ApacheCon US 2006 Austin, TX 1 Agenda The Apache Shale Framework Java Persistence Architecture Design Patterns for Combining

More information