SlideShare a Scribd company logo
1 of 66
Download to read offline
DIGITAL Java EE 7 New
and NOTEWORTHY
Enterprise Java Lives! (18-02-2015)
Peter Pilgrim
Scala and Java EE
Independent contractor
@peter_pilgrim	
  
Xenonique @peter_pilgrim 2	
  
Xenonique @peter_pilgrim 3	
  
Agenda
•  Digital
•  Java EE 7
•  Java EE Web Technology
Xenonique @peter_pilgrim
Creative Commons 2.0
Attribution-NonCommercial-ShareAlike 2.0 UK:
England & Wales (CC BY-NC-SA 2.0 UK)
https://creativecommons.org/licenses/by-nc-sa/2.0/uk/
•  Share — copy and redistribute the material in
any medium or format
•  Adapt — remix, transform, and build upon the
material
•  The licensor cannot revoke these freedoms as
long as you follow the license terms.
4	
  
Xenonique @peter_pilgrim
About Me
•  Java EE and Scala developer independent
contractor
•  Digital transformation / e-commerce
•  Java Champion
•  Working on the JVM since 1998
5	
  
Xenonique @peter_pilgrim 6	
  
Xenonique @peter_pilgrim 7	
  
Why the fuss about so-called Digital?
Haven’t we seen this all before?
Xenonique @peter_pilgrim 8	
  
Xenonique @peter_pilgrim 9	
  
#1 Digital
Fast. Agile. User Centric.
Focus on the end-user
Emphasis on Testing
User Experience is significant
Xenonique @peter_pilgrim 10	
  
#1 Digital
Digital is the Web
Digital is refocusing ideas for
online activities
Xenonique @peter_pilgrim 11	
  
#1 Digital
Digital is an attitude
Listening to customer needs
Embracing conversation and
communication
Xenonique @peter_pilgrim 12	
  
#1 Digital
Transformation of our
traditional industrial
Economy to a 21st Century
Mobile to Default one
Xenonique @peter_pilgrim 13	
  
#1 Digital
With all of the consequences:
politics, society, technology
and web infrastructure.
Xenonique @peter_pilgrim 14	
  
Xenonique @peter_pilgrim 15	
  
Is Java EE helpful to digital
developers, designers and
architect? Still relevant?
Xenonique @peter_pilgrim 16	
  
Java EE 7 released 2013
Built products on top of a standard platform
Transactions, Concurrency, Remote
Endpoints, Lifecycle, State, Persistence
Java is a programming language.
Java is a virtual machine.
Java is a platform.
Xenonique @peter_pilgrim 17	
  
Java	
  EE	
  7	
  
Xenonique @peter_pilgrim 18	
  
Xenonique @peter_pilgrim
Main Features
•  CDI 1.1
•  JAX-RS 2
•  JSF 2.2
•  Servlet 3.1
•  EJB 3.1
•  JPA 2.1
19	
  
Xenonique @peter_pilgrim 20	
  
#2 WAR is king (or queen)
WAR files are now the prefer way to deploy
applications for most set-ups
EAR files are still supported however
RAR files are even rarer (Resource ARchive)
PAR files are even rarer still (Persistence ARchive)
Xenonique @peter_pilgrim 21	
  
#2 Containerless
Suits the Docker / chef / Puppet vis-à-vis the
provisioning generation
Prefer starting up embeddable application
server GlassFish or WildFly server over
deployment WARs
Sadly: Code Hale’s DropWizard only supports Java EE 6
Xenonique @peter_pilgrim 22	
  
#2 Containerless
Suits the Docker / chef / Puppet vis-à-vis the
provisioning generation
Prefer starting up embeddable application
server GlassFish or WildFly server over
deployment WARs
Sadly: Code Hale’s DropWizard only supports Java EE 6
Xenonique @peter_pilgrim 23	
  
#2 Testable Java EE
Arquillian
Helps with real-world integration testing
Embeddable Container
Also help with direct EJB, JPA, JMS testing
Xenonique @peter_pilgrim 24	
  
#2 Java EE better Async Support
Servlet 3.1 has Async support
Non-Blocking I/O, HTTP Upgrade mechanism
JAX RS 2.0 has Async support
Client side API with HATEOS, Filters and Handlers
WebSocket 1.0
(Async by default, by protocol)
JMS 2.0 (when used in standalone Java SE)
Asynchronous API for Reactive Programming yet to be
exploited by other frameworks
Xenonique @peter_pilgrim 25	
  
Java EE 7
Developer
Handbook
September	
  2013	
  
Packt	
  Publishing	
  
	
  
Digital
Java EE 7
Web APPS
May	
  2015	
  
Xenonique @peter_pilgrim 26	
  
Xenonique @peter_pilgrim 27	
  
Java Server Faces
An Component Oriented Framework
Xenonique @peter_pilgrim 28	
  
CDI & Faces Scopes

@RequestScoped
@SessionScoped
@ApplicationScoped
@ViewScoped*
@ConversationScoped*
@FlowScoped*
Xenonique @peter_pilgrim 29	
  
#3 View Scoped
Retained Page View Scope
HTTL Form Data lives for validation
Customer sees their input data
entered after entering errors
Helpful for digital web site
Xenonique @peter_pilgrim 30	
  
#3 View Scoped
Lifecycle dies on a new page view
Minable effort for digital developers
Helpful for single page forms
Login forms, small data entry journeys
Already in existence since Java EE 6
Xenonique @peter_pilgrim 31	
  
#3 CDI and EJB
CDI is really useful for code assembly
Depend on session EJB less
Helpful for single page forms
Login forms, small data entry journeys
Already in existence since Java EE 6
Xenonique @peter_pilgrim
View Scope
@Named("contactDetailController")
@ViewScoped
public class ContactDetailController {
@EJB ContactDetailService service;
private ContactDetail contactDetail = 

 new ContactDetail();
/* ... */
}
32	
  
Xenonique @peter_pilgrim 33	
  
#4 Conversation Scoped
Basic Customer Journey
Actually existed since Java EE 6
Transient or Persistent
Developer controls the life cycle
Xenonique @peter_pilgrim 34	
  
#4 Conversation Scoped
Complex Wizard Type Flows
Lifecycle between Request and Session Scope
Backing Bean must be Serializable
Solves a long standing problem with Java Servlet
technology with storing items in HttpSession
Xenonique @peter_pilgrim
Conversation Scope
@Named("lendingController")
@ConversationScoped
public class LendingController 
implements Serializable {
@EJB ApplicantService applicantService;
@Inject Conversation conversation;
@Inject Utility utility;
/* ... */
}
35	
  
Xenonique @peter_pilgrim 36	
  
Xenonique @peter_pilgrim
Conversation Scope
public class LendingController { /* ... */
public void checkAndStart() {
if ( conversation.isTransient()) {
conversation.begin();
}
recalculatePaymentMonthlyTerm();
}
public void checkAndEnd() {
if (!conversation.isTransient()) {
conversation.end();
}
}
}
37	
  
Xenonique @peter_pilgrim 38	
  
#5 Flow Scoped
Underrated Star of JSF 2.2
Lifecycle between Request and Session Scope
Controller, resources & page views
with protected and encapsulated
access
Xenonique @peter_pilgrim 39	
  
#5 Flow Scoped
Flow can be implicit
Can be explicitly defined with XML
A Flow has one single entry point
A Flow has at least one exit point
Xenonique @peter_pilgrim 40	
  
#5 Flow Scoped
Flow can invoke another one
Faces Flow are nestable
Inbound named parameters
Outbound named parameters
Special flowScope map collection
Xenonique @peter_pilgrim 41	
  
#5 Flow Scoped
Custom Flow Components
Distribute Faces Flows defined in 3rd party JARs
Resource Library Contracts
Apply CSS, JavaScript and resources
Special flow scope map collection
To pass data in between Faces Flows
Xenonique @peter_pilgrim
Flow Scoped (Sector)
@Named
@FlowScoped("sector-flow")
public class SectorFlow implements
Serializable {
@Inject UtilityHelper utilityHelper;
@Inject CarbonFootprintService service;
/* ... */
}
42	
  
Xenonique @peter_pilgrim
Flow Scoped (Sector)
public class SectorFlow { 
/*...*/
@PostConstruct
public void initialize() {
footprint.setApplicationId(
utilityHelper.getNextApplicationId());
}

public String gotoEndFlow() {
return "/endflow.xhtml";
}
}
43	
  
Xenonique @peter_pilgrim
Flow Scoped (Sector)
<faces-config version="2.2" ...>
<flow-definition id="sector-flow">
<flow-return id="goHome">
<from-outcome>/index</from-outcome>
</flow-return>
<flow-return id="endFlow">
<from-outcome>#{sectorFlow.gotoEndFlow()}
</from-outcome>
</flow-return>

...

</faces-config>
44	
  
Xenonique @peter_pilgrim
Flow Scoped (Sector)
<faces-config version="2.2" ...>
...
<flow-call id="callFootprintFlow">
<flow-reference>
<flow-id>footprint-flow</flow-id>
</flow-reference>

 
<outbound-parameter>
<name>param3FromSectorFlow</name>
<value>#{sectorFlow.footprint}</value>
</outbound-parameter>
</flow-call>
</flow-definition>
</faces-config>
45	
  
Xenonique @peter_pilgrim
Flow Scoped (Footprint)
@Named
@FlowScoped("footprint-flow")
public class FootprintFlow implements Serializable {
private CarbonFootprint footprint;

public FootprintFlow() { }

@PostConstruct
public void initialize() {}
Map<Object,Object> flowMap = 

FacesContext.getCurrentInstance()

 
.getApplication().getFlowHandler()

 
.getCurrentFlowScope();
footprint = (CarbonFootprint) flowMap.get("param3Value");
}
}
46	
  
Xenonique @peter_pilgrim 47	
  
Xenonique @peter_pilgrim 48	
  
#6	
  MVC	
  1.0	
  
	
  
Targeting Java EE 8
JSR 371 Model View Controller
Action Oriented Request Framework
Xenonique @peter_pilgrim 49	
  
#6	
  MVC	
  1.0	
  
	
  
Separate	
  View	
  layer	
  to	
  JSF	
  
Standardising	
  on	
  Java	
  RS	
  2.0	
  over	
  Servlet	
  4.0	
  
Influenced	
  by	
  Jersey	
  MVC	
  Templates	
  
Appears	
  to	
  direct	
  compete	
  with	
  Spring	
  MVC	
  
Xenonique @peter_pilgrim 50	
  
#6	
  MVC	
  1.0	
  
	
  
How	
  to	
  customise	
  the	
  view	
  layer?	
  
Facelets,	
  Mustache,	
  Handlebars,	
  JSP	
  
Expression	
  language	
  and	
  glue	
  logic?	
  
bind	
  the	
  model	
  to	
  the	
  view	
  and	
  Bean	
  ValidaNon	
  
What	
  is	
  the	
  Lifecycle?	
  
How	
  long	
  do	
  POJOs	
  live	
  within	
  the	
  framework	
  (CDI)	
  
Xenonique @peter_pilgrim 51	
  
#6	
  MVC	
  1.0	
  
	
  
Looks	
  a	
  good	
  fit	
  for	
  AngularJS	
  
single	
  page	
  applicaNons	
  with	
  EmberJS	
  
IntegraTon	
  JAX-­‐RS	
  provide	
  duality	
  
Define	
  regular	
  RESTful	
  endpoints	
  and	
  controller	
  
Solo	
  API	
  suits	
  the	
  Web	
  Profile	
  
MVC	
  may	
  be	
  bundle	
  with	
  GlassFish	
  Web,	
  Tomcat,	
  Undertow	
  
Xenonique @peter_pilgrim
MVC 1.0 Example
@Path("payments")
@Controller
public class PaymentsEndpoint {
@GET
@Path("accounts")
public Viewable get() {

 
PaymentDataModel model = somewhere();
return new Viewable(
"list-accounts.jsp", model);
}
} /* API is still changeable */

52	
  
Xenonique @peter_pilgrim 53	
  
Xenonique @peter_pilgrim 54	
  
#Conclusion(1)
Going Digital with Java EE 7
Perfectly feasible.
What do you want?
What is it do you really to do?
Xenonique @peter_pilgrim 55	
  
#Conclusion(2)
Micro-services? Check.
Transactions? Check ✔
Concurrency? Check ✔
Persistence? Check ✔
REST? Check ✔
Standard platform? Check ✔
Xenonique @peter_pilgrim 56	
  
#Conclusion(3)
Agility? Fast turnaround?
Testable? Definitely check ✔
Recruitable? Absolutely ✔
Dependable? ✔
Extendible? ✔
Trainable? But of course ✔
Xenonique @peter_pilgrim 57	
  
#Conclusion(4)
Seriously look at Faces Flows
Build small units of functionality in the web (generally)
Allow for shake up & down from User Experience Testing
Keep an eye on MVC 1.0 and JAX-RS 2.1
Open source libraries need to adopt and catch up!
Xenonique @peter_pilgrim 58	
  
May 2014
Xenonique @peter_pilgrim 59	
  
@peter_pilgrim	
  
uk.linkedin.com/in/peterpilgrim2000/	
  
Xenonique @peter_pilgrim
List of Creative Commons (2.0)
photography attributions
https://flic.kr/p/dhf3FQ
https://www.flickr.com/photos/epsos/
epSos.de
Big Beautiful Face Statue in Tenerife
https://flic.kr/p/Pp93n
https://www.flickr.com/photos/spacesuitcatalyst/
William A. Clark Follow
Measurement
Measure twice, cut once.
https://flic.kr/p/opvVsg
https://www.flickr.com/photos/gregbeatty/
Greg Beatty Follow
Three Pillars
Nikon D800 16-35MM F4.0
https://flic.kr/p/81dXuT
https://www.flickr.com/photos/froboy/
Avi Schwab Follow
Equipment used for measuring planes of crystals
60	
  
Xenonique @peter_pilgrim
List of Creative Commons (2.0)
photography attributions
https://flic.kr/p/ayqvZp
https://www.flickr.com/photos/throughpaintedeyes/
Ryan Seyeau Follow
1000 Faces of Canada # 0084 - Zombie Walk - Explore!
Shot during the annual Zombie Walk in Ottawa.
https://flic.kr/p/8XY4tr
https://www.flickr.com/photos/creative_stock/
Creativity 103
electronic circuit board
https://flic.kr/p/8Y2625
https://www.flickr.com/photos/creative_stock/
Creativity 103
computer motherboard tracks
https://flic.kr/p/2QHt7Q
https://www.flickr.com/photos/rosefirerising/
rosefirerising Follow
Pierre Curie, Piezo-Electroscope
61	
  
Xenonique @peter_pilgrim
List of Creative Commons (2.0)
photography attributions
https://www.flickr.com/photos/code_martial/
https://flic.kr/p/7jmU5n
Tahir Hashmi Follow
Developer Death
10 Programmers and a UX Designer died all of a sudden in a war room situation. They were
apparently working too hard.
https://www.flickr.com/photos/8268882@N06/
https://flic.kr/p/duwd1M
Peter Pilgrim
IMG_1481
European JUG leaders meeting in Devoxx 2013
https://www.flickr.com/photos/unicefethiopia/
https://flic.kr/p/dv4ooi
UNICEF Ethiopia Follow
Hamer mother and child South Omo Zone, SNNPR
Hamer mother and child South Omo Zone, SNNPR.
©UNICEF Ethiopia/2005/Getachew
62	
  
Xenonique @peter_pilgrim
List of Creative Commons (2.0)
photography attributions
https://www.flickr.com/photos/15216811@N06/
https://flic.kr/p/baULpM
N i c o l a Follow
Tree - IMG_1242
https://flic.kr/p/dwCQ7t
https://www.flickr.com/photos/90585146@N08/
marsmetn tallahassee Follow
IDA .. Integro-Differential Analyzer (Sept., 1952) ...item 2.. Richard Dreyfuss: Technology Has 'Killed Time' -- "In geopolitics, the
removal of time is fatal." -- "And you will give up, the protection of Republican Democracy." (July 19 2010) ...
https://flic.kr/p/6ZDbiZ
https://www.flickr.com/photos/ingmar/
Ingmar Zahorsky Follow
Traffic Jam
Accidents are common on the narrow streets going through the mountains of Nepal. When such an accident occurs, traffic is often
halted for up to 3-4 hours.
https://flic.kr/p/FAskC
https://www.flickr.com/photos/mari1008/
mari_1008 Follow
traffic jam -B
Date: April,2th
Address: Jiangshu Rd,Shanghai,China.
Around 8:30 AM today, A little accident on YuYuan Rd and JiangSu Rd caused traffic jam.
63	
  
Xenonique @peter_pilgrim
List of Creative Commons (2.0)
photography attributions
https://flic.kr/p/bpss6D
https://www.flickr.com/photos/76029035@N02/
Victor1558 Follow
Creative_Photoshop_HD_Wallpapers_laba.ws
https://flic.kr/p/mLxu3m
https://www.flickr.com/photos/astrangelyisolatedplace/
astrangelyisolatedplace Follow
Office test #1. Setup fully functional. A rare 1200 no longer in production. Test run
soundtracked by the only #vinyl in the office; The Sesame Street Soundtrack - a
surprise present by @idinesh #technics #turntable #1200 #ocdv1
via Instagram ift.tt/1hpeUEU
https://flic.kr/p/gLPhEk
https://www.flickr.com/photos/stevecorey/
Steve Corey Follow
Treasure Hunt, a short story (5 images)
64	
  
Xenonique @peter_pilgrim
List of Creative Commons (2.0)
photography attributions
https://flic.kr/p/4JcerK
https://www.flickr.com/photos/16949884@N00/
Bömmel Follow
Ice Crystal
Ice is nice
https://flic.kr/p/dSsXiZ
https://www.flickr.com/photos/jeremyhall/
Jeremy Hall Follow
Called to Serve (suit and tie)
https://flic.kr/p/3enERy
https://www.flickr.com/photos/paolocampioni/
Paolo Campioni Follow
scala
Scendo (stair case spiral)
65	
  
Xenonique @peter_pilgrim
List of Creative Commons (2.0)
photography attributions
https://flic.kr/p/m62gmK
https://www.flickr.com/photos/lata/
-p Follow
Abstraction I.
From my platycerium. (Guide: Voronoi diagram)
https://flic.kr/p/9F7Nnn
https://www.flickr.com/photos/followtheseinstructions/
Follow these instructions
The end ; Assignment: This time your assignment is to find or compose a scene that conveys the essence of the end.
https://flic.kr/p/6WSFR4
https://www.flickr.com/photos/62337512@N00/
anthony kelly Follow
big ben
big ben and underground sign
https://flic.kr/p/w7qef
https://www.flickr.com/photos/cobalt/
cobalt123 Follow
All We are Saying... (Thought for a New Year)
Peace Pasta from Annie's, with peas, of course.
Give Peace A Chance
66	
  

More Related Content

What's hot

Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
HTTP/2 and Java: Current Status
HTTP/2 and Java: Current StatusHTTP/2 and Java: Current Status
HTTP/2 and Java: Current StatusSimone Bordet
 
50 New Features of Java EE 7 in 50 minutes
50 New Features of Java EE 7 in 50 minutes50 New Features of Java EE 7 in 50 minutes
50 New Features of Java EE 7 in 50 minutesArun Gupta
 
Inside Of Mbga Open Platform
Inside Of Mbga Open PlatformInside Of Mbga Open Platform
Inside Of Mbga Open PlatformHideo Kimura
 
Jetty 9 – The Next Generation Servlet Container
Jetty 9 – The Next Generation Servlet ContainerJetty 9 – The Next Generation Servlet Container
Jetty 9 – The Next Generation Servlet ContainerCodemotion
 
Multiplatform Apps with Spring, Kotlin, and RSocket
Multiplatform Apps with Spring, Kotlin, and RSocketMultiplatform Apps with Spring, Kotlin, and RSocket
Multiplatform Apps with Spring, Kotlin, and RSocketVMware Tanzu
 
Eclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimesEclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimesDev_Events
 
ZF2: Writing Service Components
ZF2: Writing Service ComponentsZF2: Writing Service Components
ZF2: Writing Service ComponentsMike Willbanks
 
Mulesoft kochi meetup 8 custom connector
Mulesoft kochi meetup 8   custom connectorMulesoft kochi meetup 8   custom connector
Mulesoft kochi meetup 8 custom connectorSupriya Pawar
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesSamuel Terburg
 
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...mfrancis
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
DataWeave and Error Handling Meetup at SF Tower Sept 24th
DataWeave and Error Handling Meetup at SF Tower Sept 24thDataWeave and Error Handling Meetup at SF Tower Sept 24th
DataWeave and Error Handling Meetup at SF Tower Sept 24thJordan Schuetz
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack ArchitectureMirantis
 

What's hot (20)

HTTP/2 Comes to Java
HTTP/2 Comes to JavaHTTP/2 Comes to Java
HTTP/2 Comes to Java
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
HTTP/2 and Java: Current Status
HTTP/2 and Java: Current StatusHTTP/2 and Java: Current Status
HTTP/2 and Java: Current Status
 
Move from J2EE to Java EE
Move from J2EE to Java EEMove from J2EE to Java EE
Move from J2EE to Java EE
 
50 New Features of Java EE 7 in 50 minutes
50 New Features of Java EE 7 in 50 minutes50 New Features of Java EE 7 in 50 minutes
50 New Features of Java EE 7 in 50 minutes
 
Inside Of Mbga Open Platform
Inside Of Mbga Open PlatformInside Of Mbga Open Platform
Inside Of Mbga Open Platform
 
Jetty 9 – The Next Generation Servlet Container
Jetty 9 – The Next Generation Servlet ContainerJetty 9 – The Next Generation Servlet Container
Jetty 9 – The Next Generation Servlet Container
 
Multiplatform Apps with Spring, Kotlin, and RSocket
Multiplatform Apps with Spring, Kotlin, and RSocketMultiplatform Apps with Spring, Kotlin, and RSocket
Multiplatform Apps with Spring, Kotlin, and RSocket
 
Enabling NFV features in kubernetes
Enabling NFV features in kubernetesEnabling NFV features in kubernetes
Enabling NFV features in kubernetes
 
Node js Chapter-2
Node js Chapter-2Node js Chapter-2
Node js Chapter-2
 
Eclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimesEclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimes
 
ZF2: Writing Service Components
ZF2: Writing Service ComponentsZF2: Writing Service Components
ZF2: Writing Service Components
 
Angularj2.0
Angularj2.0Angularj2.0
Angularj2.0
 
Mulesoft kochi meetup 8 custom connector
Mulesoft kochi meetup 8   custom connectorMulesoft kochi meetup 8   custom connector
Mulesoft kochi meetup 8 custom connector
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
 
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
 
Intro to Chef
Intro to ChefIntro to Chef
Intro to Chef
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
DataWeave and Error Handling Meetup at SF Tower Sept 24th
DataWeave and Error Handling Meetup at SF Tower Sept 24thDataWeave and Error Handling Meetup at SF Tower Sept 24th
DataWeave and Error Handling Meetup at SF Tower Sept 24th
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 

Viewers also liked

AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7WASdev Community
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-finalRohit Kelapure
 
Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5Arun Gupta
 
Deploying Web Applications with WildFly 8
Deploying Web Applications with WildFly 8Deploying Web Applications with WildFly 8
Deploying Web Applications with WildFly 8Arun Gupta
 
50 features of Java EE 7 in 50 minutes at JavaZone 2014
50 features of Java EE 7 in 50 minutes at JavaZone 201450 features of Java EE 7 in 50 minutes at JavaZone 2014
50 features of Java EE 7 in 50 minutes at JavaZone 2014Arun Gupta
 
50 New Features of Java EE 7 in 50 minutes @ Devoxx France 2014
50 New Features of Java EE 7 in 50 minutes @ Devoxx France 201450 New Features of Java EE 7 in 50 minutes @ Devoxx France 2014
50 New Features of Java EE 7 in 50 minutes @ Devoxx France 2014Arun Gupta
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesArun Gupta
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to KubernetesImesh Gunaratne
 
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...jaxLondonConference
 

Viewers also liked (11)

AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
 
Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5
 
Deploying Web Applications with WildFly 8
Deploying Web Applications with WildFly 8Deploying Web Applications with WildFly 8
Deploying Web Applications with WildFly 8
 
50 features of Java EE 7 in 50 minutes at JavaZone 2014
50 features of Java EE 7 in 50 minutes at JavaZone 201450 features of Java EE 7 in 50 minutes at JavaZone 2014
50 features of Java EE 7 in 50 minutes at JavaZone 2014
 
50 New Features of Java EE 7 in 50 minutes @ Devoxx France 2014
50 New Features of Java EE 7 in 50 minutes @ Devoxx France 201450 New Features of Java EE 7 in 50 minutes @ Devoxx France 2014
50 New Features of Java EE 7 in 50 minutes @ Devoxx France 2014
 
CQRS is not Event Sourcing
CQRS is not Event SourcingCQRS is not Event Sourcing
CQRS is not Event Sourcing
 
CDI 1.1 university
CDI 1.1 universityCDI 1.1 university
CDI 1.1 university
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and Kubernetes
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
 

Similar to Digital Java EE 7 Web APPS Guide

XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsXebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsPublicis Sapient Engineering
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouDavid Delabassee
 
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...HostedbyConfluent
 
カエルと実践するコンテナ
カエルと実践するコンテナカエルと実践するコンテナ
カエルと実践するコンテナTsuyoshi Miyake
 
20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2makker_nl
 
Play Support in Cloud Foundry
Play Support in Cloud FoundryPlay Support in Cloud Foundry
Play Support in Cloud Foundryrajdeep
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE
 
Cloud native - CI/CD
Cloud native - CI/CDCloud native - CI/CD
Cloud native - CI/CDElad Hirsch
 
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...Daniel Bryant
 
Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Matt Raible
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)Simon Haslam
 
はじめての JFrog Artifactory
はじめての JFrog Artifactoryはじめての JFrog Artifactory
はじめての JFrog ArtifactoryTsuyoshi Miyake
 
Landscape of Eclipse MicroProfile Tools
Landscape of Eclipse MicroProfile ToolsLandscape of Eclipse MicroProfile Tools
Landscape of Eclipse MicroProfile ToolsYK Chang
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...Edward Burns
 
Retirement Studio Web Projects Knowledge Sharing
Retirement Studio Web Projects Knowledge SharingRetirement Studio Web Projects Knowledge Sharing
Retirement Studio Web Projects Knowledge SharingMike He
 
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKBigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKnagachika t
 
Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Matt Raible
 
QCon 2015 Scala for the Enterprise: Get FuNkEd Up on the JVM
QCon 2015 Scala for the Enterprise: Get FuNkEd Up on the JVMQCon 2015 Scala for the Enterprise: Get FuNkEd Up on the JVM
QCon 2015 Scala for the Enterprise: Get FuNkEd Up on the JVMPeter Pilgrim
 
ECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp TerraformECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp TerraformBobby Curtis
 

Similar to Digital Java EE 7 Web APPS Guide (20)

How to debug IoT Agents
How to debug IoT AgentsHow to debug IoT Agents
How to debug IoT Agents
 
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsXebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
 
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...
Developing Kafka Streams Applications with Upgradability in Mind with Neil Bu...
 
カエルと実践するコンテナ
カエルと実践するコンテナカエルと実践するコンテナ
カエルと実践するコンテナ
 
20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2
 
Play Support in Cloud Foundry
Play Support in Cloud FoundryPlay Support in Cloud Foundry
Play Support in Cloud Foundry
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT Agents
 
Cloud native - CI/CD
Cloud native - CI/CDCloud native - CI/CD
Cloud native - CI/CD
 
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
 
Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)
 
はじめての JFrog Artifactory
はじめての JFrog Artifactoryはじめての JFrog Artifactory
はじめての JFrog Artifactory
 
Landscape of Eclipse MicroProfile Tools
Landscape of Eclipse MicroProfile ToolsLandscape of Eclipse MicroProfile Tools
Landscape of Eclipse MicroProfile Tools
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
 
Retirement Studio Web Projects Knowledge Sharing
Retirement Studio Web Projects Knowledge SharingRetirement Studio Web Projects Knowledge Sharing
Retirement Studio Web Projects Knowledge Sharing
 
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKBigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
 
Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021
 
QCon 2015 Scala for the Enterprise: Get FuNkEd Up on the JVM
QCon 2015 Scala for the Enterprise: Get FuNkEd Up on the JVMQCon 2015 Scala for the Enterprise: Get FuNkEd Up on the JVM
QCon 2015 Scala for the Enterprise: Get FuNkEd Up on the JVM
 
ECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp TerraformECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp Terraform
 

More from Payara

Easy Java Integration Testing with Testcontainers​
Easy Java Integration Testing with Testcontainers​Easy Java Integration Testing with Testcontainers​
Easy Java Integration Testing with Testcontainers​Payara
 
Payara Cloud - Cloud Native Jakarta EE.pptx
Payara Cloud - Cloud Native Jakarta EE.pptxPayara Cloud - Cloud Native Jakarta EE.pptx
Payara Cloud - Cloud Native Jakarta EE.pptxPayara
 
Jakarta Concurrency: Present and Future
Jakarta Concurrency: Present and FutureJakarta Concurrency: Present and Future
Jakarta Concurrency: Present and FuturePayara
 
GlassFish Migration Webinar 2022 Current version.pptx
GlassFish Migration Webinar 2022 Current version.pptxGlassFish Migration Webinar 2022 Current version.pptx
GlassFish Migration Webinar 2022 Current version.pptxPayara
 
10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...
10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...
10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...Payara
 
Securing Microservices with MicroProfile and Auth0v2
Securing Microservices with MicroProfile and Auth0v2Securing Microservices with MicroProfile and Auth0v2
Securing Microservices with MicroProfile and Auth0v2Payara
 
Reactive features of MicroProfile you need to learn
Reactive features of MicroProfile you need to learnReactive features of MicroProfile you need to learn
Reactive features of MicroProfile you need to learnPayara
 
Effective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfileEffective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfilePayara
 
A step-by-step guide from traditional Java EE to reactive microservice design
A step-by-step guide from traditional Java EE to reactive microservice designA step-by-step guide from traditional Java EE to reactive microservice design
A step-by-step guide from traditional Java EE to reactive microservice designPayara
 
Transactions in Microservices
Transactions in MicroservicesTransactions in Microservices
Transactions in MicroservicesPayara
 
Fun with Kubernetes and Payara Micro 5
Fun with Kubernetes and Payara Micro 5Fun with Kubernetes and Payara Micro 5
Fun with Kubernetes and Payara Micro 5Payara
 
What's new in Jakarta EE and Eclipse GlassFish (May 2019)
What's new in Jakarta EE and Eclipse GlassFish (May 2019)What's new in Jakarta EE and Eclipse GlassFish (May 2019)
What's new in Jakarta EE and Eclipse GlassFish (May 2019)Payara
 
Previewing Payara Platform 5.192
Previewing Payara Platform 5.192Previewing Payara Platform 5.192
Previewing Payara Platform 5.192Payara
 
Secure JAX-RS
Secure JAX-RSSecure JAX-RS
Secure JAX-RSPayara
 
Gradual Migration to MicroProfile
Gradual Migration to MicroProfileGradual Migration to MicroProfile
Gradual Migration to MicroProfilePayara
 
Monitor Microservices with MicroProfile Metrics
Monitor Microservices with MicroProfile MetricsMonitor Microservices with MicroProfile Metrics
Monitor Microservices with MicroProfile MetricsPayara
 
Java2 days -_be_reactive_and_micro_with_a_microprofile_stack
Java2 days -_be_reactive_and_micro_with_a_microprofile_stackJava2 days -_be_reactive_and_micro_with_a_microprofile_stack
Java2 days -_be_reactive_and_micro_with_a_microprofile_stackPayara
 
Java2 days 5_agile_steps_to_cloud-ready_apps
Java2 days 5_agile_steps_to_cloud-ready_appsJava2 days 5_agile_steps_to_cloud-ready_apps
Java2 days 5_agile_steps_to_cloud-ready_appsPayara
 
Rapid development tools for java ee 8 and micro profile [GIDS]
Rapid development tools for java ee 8 and micro profile [GIDS] Rapid development tools for java ee 8 and micro profile [GIDS]
Rapid development tools for java ee 8 and micro profile [GIDS] Payara
 
Ondrej mihalyi be reactive and micro with a micro profile stack
Ondrej mihalyi   be reactive and micro with a micro profile stackOndrej mihalyi   be reactive and micro with a micro profile stack
Ondrej mihalyi be reactive and micro with a micro profile stackPayara
 

More from Payara (20)

Easy Java Integration Testing with Testcontainers​
Easy Java Integration Testing with Testcontainers​Easy Java Integration Testing with Testcontainers​
Easy Java Integration Testing with Testcontainers​
 
Payara Cloud - Cloud Native Jakarta EE.pptx
Payara Cloud - Cloud Native Jakarta EE.pptxPayara Cloud - Cloud Native Jakarta EE.pptx
Payara Cloud - Cloud Native Jakarta EE.pptx
 
Jakarta Concurrency: Present and Future
Jakarta Concurrency: Present and FutureJakarta Concurrency: Present and Future
Jakarta Concurrency: Present and Future
 
GlassFish Migration Webinar 2022 Current version.pptx
GlassFish Migration Webinar 2022 Current version.pptxGlassFish Migration Webinar 2022 Current version.pptx
GlassFish Migration Webinar 2022 Current version.pptx
 
10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...
10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...
10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...
 
Securing Microservices with MicroProfile and Auth0v2
Securing Microservices with MicroProfile and Auth0v2Securing Microservices with MicroProfile and Auth0v2
Securing Microservices with MicroProfile and Auth0v2
 
Reactive features of MicroProfile you need to learn
Reactive features of MicroProfile you need to learnReactive features of MicroProfile you need to learn
Reactive features of MicroProfile you need to learn
 
Effective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfileEffective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfile
 
A step-by-step guide from traditional Java EE to reactive microservice design
A step-by-step guide from traditional Java EE to reactive microservice designA step-by-step guide from traditional Java EE to reactive microservice design
A step-by-step guide from traditional Java EE to reactive microservice design
 
Transactions in Microservices
Transactions in MicroservicesTransactions in Microservices
Transactions in Microservices
 
Fun with Kubernetes and Payara Micro 5
Fun with Kubernetes and Payara Micro 5Fun with Kubernetes and Payara Micro 5
Fun with Kubernetes and Payara Micro 5
 
What's new in Jakarta EE and Eclipse GlassFish (May 2019)
What's new in Jakarta EE and Eclipse GlassFish (May 2019)What's new in Jakarta EE and Eclipse GlassFish (May 2019)
What's new in Jakarta EE and Eclipse GlassFish (May 2019)
 
Previewing Payara Platform 5.192
Previewing Payara Platform 5.192Previewing Payara Platform 5.192
Previewing Payara Platform 5.192
 
Secure JAX-RS
Secure JAX-RSSecure JAX-RS
Secure JAX-RS
 
Gradual Migration to MicroProfile
Gradual Migration to MicroProfileGradual Migration to MicroProfile
Gradual Migration to MicroProfile
 
Monitor Microservices with MicroProfile Metrics
Monitor Microservices with MicroProfile MetricsMonitor Microservices with MicroProfile Metrics
Monitor Microservices with MicroProfile Metrics
 
Java2 days -_be_reactive_and_micro_with_a_microprofile_stack
Java2 days -_be_reactive_and_micro_with_a_microprofile_stackJava2 days -_be_reactive_and_micro_with_a_microprofile_stack
Java2 days -_be_reactive_and_micro_with_a_microprofile_stack
 
Java2 days 5_agile_steps_to_cloud-ready_apps
Java2 days 5_agile_steps_to_cloud-ready_appsJava2 days 5_agile_steps_to_cloud-ready_apps
Java2 days 5_agile_steps_to_cloud-ready_apps
 
Rapid development tools for java ee 8 and micro profile [GIDS]
Rapid development tools for java ee 8 and micro profile [GIDS] Rapid development tools for java ee 8 and micro profile [GIDS]
Rapid development tools for java ee 8 and micro profile [GIDS]
 
Ondrej mihalyi be reactive and micro with a micro profile stack
Ondrej mihalyi   be reactive and micro with a micro profile stackOndrej mihalyi   be reactive and micro with a micro profile stack
Ondrej mihalyi be reactive and micro with a micro profile stack
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Digital Java EE 7 Web APPS Guide

  • 1. DIGITAL Java EE 7 New and NOTEWORTHY Enterprise Java Lives! (18-02-2015) Peter Pilgrim Scala and Java EE Independent contractor @peter_pilgrim  
  • 3. Xenonique @peter_pilgrim 3   Agenda •  Digital •  Java EE 7 •  Java EE Web Technology
  • 4. Xenonique @peter_pilgrim Creative Commons 2.0 Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales (CC BY-NC-SA 2.0 UK) https://creativecommons.org/licenses/by-nc-sa/2.0/uk/ •  Share — copy and redistribute the material in any medium or format •  Adapt — remix, transform, and build upon the material •  The licensor cannot revoke these freedoms as long as you follow the license terms. 4  
  • 5. Xenonique @peter_pilgrim About Me •  Java EE and Scala developer independent contractor •  Digital transformation / e-commerce •  Java Champion •  Working on the JVM since 1998 5  
  • 7. Xenonique @peter_pilgrim 7   Why the fuss about so-called Digital? Haven’t we seen this all before?
  • 9. Xenonique @peter_pilgrim 9   #1 Digital Fast. Agile. User Centric. Focus on the end-user Emphasis on Testing User Experience is significant
  • 10. Xenonique @peter_pilgrim 10   #1 Digital Digital is the Web Digital is refocusing ideas for online activities
  • 11. Xenonique @peter_pilgrim 11   #1 Digital Digital is an attitude Listening to customer needs Embracing conversation and communication
  • 12. Xenonique @peter_pilgrim 12   #1 Digital Transformation of our traditional industrial Economy to a 21st Century Mobile to Default one
  • 13. Xenonique @peter_pilgrim 13   #1 Digital With all of the consequences: politics, society, technology and web infrastructure.
  • 15. Xenonique @peter_pilgrim 15   Is Java EE helpful to digital developers, designers and architect? Still relevant?
  • 16. Xenonique @peter_pilgrim 16   Java EE 7 released 2013 Built products on top of a standard platform Transactions, Concurrency, Remote Endpoints, Lifecycle, State, Persistence Java is a programming language. Java is a virtual machine. Java is a platform.
  • 17. Xenonique @peter_pilgrim 17   Java  EE  7  
  • 19. Xenonique @peter_pilgrim Main Features •  CDI 1.1 •  JAX-RS 2 •  JSF 2.2 •  Servlet 3.1 •  EJB 3.1 •  JPA 2.1 19  
  • 20. Xenonique @peter_pilgrim 20   #2 WAR is king (or queen) WAR files are now the prefer way to deploy applications for most set-ups EAR files are still supported however RAR files are even rarer (Resource ARchive) PAR files are even rarer still (Persistence ARchive)
  • 21. Xenonique @peter_pilgrim 21   #2 Containerless Suits the Docker / chef / Puppet vis-à-vis the provisioning generation Prefer starting up embeddable application server GlassFish or WildFly server over deployment WARs Sadly: Code Hale’s DropWizard only supports Java EE 6
  • 22. Xenonique @peter_pilgrim 22   #2 Containerless Suits the Docker / chef / Puppet vis-à-vis the provisioning generation Prefer starting up embeddable application server GlassFish or WildFly server over deployment WARs Sadly: Code Hale’s DropWizard only supports Java EE 6
  • 23. Xenonique @peter_pilgrim 23   #2 Testable Java EE Arquillian Helps with real-world integration testing Embeddable Container Also help with direct EJB, JPA, JMS testing
  • 24. Xenonique @peter_pilgrim 24   #2 Java EE better Async Support Servlet 3.1 has Async support Non-Blocking I/O, HTTP Upgrade mechanism JAX RS 2.0 has Async support Client side API with HATEOS, Filters and Handlers WebSocket 1.0 (Async by default, by protocol) JMS 2.0 (when used in standalone Java SE) Asynchronous API for Reactive Programming yet to be exploited by other frameworks
  • 25. Xenonique @peter_pilgrim 25   Java EE 7 Developer Handbook September  2013   Packt  Publishing     Digital Java EE 7 Web APPS May  2015  
  • 27. Xenonique @peter_pilgrim 27   Java Server Faces An Component Oriented Framework
  • 28. Xenonique @peter_pilgrim 28   CDI & Faces Scopes @RequestScoped @SessionScoped @ApplicationScoped @ViewScoped* @ConversationScoped* @FlowScoped*
  • 29. Xenonique @peter_pilgrim 29   #3 View Scoped Retained Page View Scope HTTL Form Data lives for validation Customer sees their input data entered after entering errors Helpful for digital web site
  • 30. Xenonique @peter_pilgrim 30   #3 View Scoped Lifecycle dies on a new page view Minable effort for digital developers Helpful for single page forms Login forms, small data entry journeys Already in existence since Java EE 6
  • 31. Xenonique @peter_pilgrim 31   #3 CDI and EJB CDI is really useful for code assembly Depend on session EJB less Helpful for single page forms Login forms, small data entry journeys Already in existence since Java EE 6
  • 32. Xenonique @peter_pilgrim View Scope @Named("contactDetailController") @ViewScoped public class ContactDetailController { @EJB ContactDetailService service; private ContactDetail contactDetail = new ContactDetail(); /* ... */ } 32  
  • 33. Xenonique @peter_pilgrim 33   #4 Conversation Scoped Basic Customer Journey Actually existed since Java EE 6 Transient or Persistent Developer controls the life cycle
  • 34. Xenonique @peter_pilgrim 34   #4 Conversation Scoped Complex Wizard Type Flows Lifecycle between Request and Session Scope Backing Bean must be Serializable Solves a long standing problem with Java Servlet technology with storing items in HttpSession
  • 35. Xenonique @peter_pilgrim Conversation Scope @Named("lendingController") @ConversationScoped public class LendingController implements Serializable { @EJB ApplicantService applicantService; @Inject Conversation conversation; @Inject Utility utility; /* ... */ } 35  
  • 37. Xenonique @peter_pilgrim Conversation Scope public class LendingController { /* ... */ public void checkAndStart() { if ( conversation.isTransient()) { conversation.begin(); } recalculatePaymentMonthlyTerm(); } public void checkAndEnd() { if (!conversation.isTransient()) { conversation.end(); } } } 37  
  • 38. Xenonique @peter_pilgrim 38   #5 Flow Scoped Underrated Star of JSF 2.2 Lifecycle between Request and Session Scope Controller, resources & page views with protected and encapsulated access
  • 39. Xenonique @peter_pilgrim 39   #5 Flow Scoped Flow can be implicit Can be explicitly defined with XML A Flow has one single entry point A Flow has at least one exit point
  • 40. Xenonique @peter_pilgrim 40   #5 Flow Scoped Flow can invoke another one Faces Flow are nestable Inbound named parameters Outbound named parameters Special flowScope map collection
  • 41. Xenonique @peter_pilgrim 41   #5 Flow Scoped Custom Flow Components Distribute Faces Flows defined in 3rd party JARs Resource Library Contracts Apply CSS, JavaScript and resources Special flow scope map collection To pass data in between Faces Flows
  • 42. Xenonique @peter_pilgrim Flow Scoped (Sector) @Named @FlowScoped("sector-flow") public class SectorFlow implements Serializable { @Inject UtilityHelper utilityHelper; @Inject CarbonFootprintService service; /* ... */ } 42  
  • 43. Xenonique @peter_pilgrim Flow Scoped (Sector) public class SectorFlow { /*...*/ @PostConstruct public void initialize() { footprint.setApplicationId( utilityHelper.getNextApplicationId()); } public String gotoEndFlow() { return "/endflow.xhtml"; } } 43  
  • 44. Xenonique @peter_pilgrim Flow Scoped (Sector) <faces-config version="2.2" ...> <flow-definition id="sector-flow"> <flow-return id="goHome"> <from-outcome>/index</from-outcome> </flow-return> <flow-return id="endFlow"> <from-outcome>#{sectorFlow.gotoEndFlow()} </from-outcome> </flow-return> ... </faces-config> 44  
  • 45. Xenonique @peter_pilgrim Flow Scoped (Sector) <faces-config version="2.2" ...> ... <flow-call id="callFootprintFlow"> <flow-reference> <flow-id>footprint-flow</flow-id> </flow-reference> <outbound-parameter> <name>param3FromSectorFlow</name> <value>#{sectorFlow.footprint}</value> </outbound-parameter> </flow-call> </flow-definition> </faces-config> 45  
  • 46. Xenonique @peter_pilgrim Flow Scoped (Footprint) @Named @FlowScoped("footprint-flow") public class FootprintFlow implements Serializable { private CarbonFootprint footprint; public FootprintFlow() { } @PostConstruct public void initialize() {} Map<Object,Object> flowMap = FacesContext.getCurrentInstance() .getApplication().getFlowHandler() .getCurrentFlowScope(); footprint = (CarbonFootprint) flowMap.get("param3Value"); } } 46  
  • 48. Xenonique @peter_pilgrim 48   #6  MVC  1.0     Targeting Java EE 8 JSR 371 Model View Controller Action Oriented Request Framework
  • 49. Xenonique @peter_pilgrim 49   #6  MVC  1.0     Separate  View  layer  to  JSF   Standardising  on  Java  RS  2.0  over  Servlet  4.0   Influenced  by  Jersey  MVC  Templates   Appears  to  direct  compete  with  Spring  MVC  
  • 50. Xenonique @peter_pilgrim 50   #6  MVC  1.0     How  to  customise  the  view  layer?   Facelets,  Mustache,  Handlebars,  JSP   Expression  language  and  glue  logic?   bind  the  model  to  the  view  and  Bean  ValidaNon   What  is  the  Lifecycle?   How  long  do  POJOs  live  within  the  framework  (CDI)  
  • 51. Xenonique @peter_pilgrim 51   #6  MVC  1.0     Looks  a  good  fit  for  AngularJS   single  page  applicaNons  with  EmberJS   IntegraTon  JAX-­‐RS  provide  duality   Define  regular  RESTful  endpoints  and  controller   Solo  API  suits  the  Web  Profile   MVC  may  be  bundle  with  GlassFish  Web,  Tomcat,  Undertow  
  • 52. Xenonique @peter_pilgrim MVC 1.0 Example @Path("payments") @Controller public class PaymentsEndpoint { @GET @Path("accounts") public Viewable get() { PaymentDataModel model = somewhere(); return new Viewable( "list-accounts.jsp", model); } } /* API is still changeable */ 52  
  • 54. Xenonique @peter_pilgrim 54   #Conclusion(1) Going Digital with Java EE 7 Perfectly feasible. What do you want? What is it do you really to do?
  • 55. Xenonique @peter_pilgrim 55   #Conclusion(2) Micro-services? Check. Transactions? Check ✔ Concurrency? Check ✔ Persistence? Check ✔ REST? Check ✔ Standard platform? Check ✔
  • 56. Xenonique @peter_pilgrim 56   #Conclusion(3) Agility? Fast turnaround? Testable? Definitely check ✔ Recruitable? Absolutely ✔ Dependable? ✔ Extendible? ✔ Trainable? But of course ✔
  • 57. Xenonique @peter_pilgrim 57   #Conclusion(4) Seriously look at Faces Flows Build small units of functionality in the web (generally) Allow for shake up & down from User Experience Testing Keep an eye on MVC 1.0 and JAX-RS 2.1 Open source libraries need to adopt and catch up!
  • 59. Xenonique @peter_pilgrim 59   @peter_pilgrim   uk.linkedin.com/in/peterpilgrim2000/  
  • 60. Xenonique @peter_pilgrim List of Creative Commons (2.0) photography attributions https://flic.kr/p/dhf3FQ https://www.flickr.com/photos/epsos/ epSos.de Big Beautiful Face Statue in Tenerife https://flic.kr/p/Pp93n https://www.flickr.com/photos/spacesuitcatalyst/ William A. Clark Follow Measurement Measure twice, cut once. https://flic.kr/p/opvVsg https://www.flickr.com/photos/gregbeatty/ Greg Beatty Follow Three Pillars Nikon D800 16-35MM F4.0 https://flic.kr/p/81dXuT https://www.flickr.com/photos/froboy/ Avi Schwab Follow Equipment used for measuring planes of crystals 60  
  • 61. Xenonique @peter_pilgrim List of Creative Commons (2.0) photography attributions https://flic.kr/p/ayqvZp https://www.flickr.com/photos/throughpaintedeyes/ Ryan Seyeau Follow 1000 Faces of Canada # 0084 - Zombie Walk - Explore! Shot during the annual Zombie Walk in Ottawa. https://flic.kr/p/8XY4tr https://www.flickr.com/photos/creative_stock/ Creativity 103 electronic circuit board https://flic.kr/p/8Y2625 https://www.flickr.com/photos/creative_stock/ Creativity 103 computer motherboard tracks https://flic.kr/p/2QHt7Q https://www.flickr.com/photos/rosefirerising/ rosefirerising Follow Pierre Curie, Piezo-Electroscope 61  
  • 62. Xenonique @peter_pilgrim List of Creative Commons (2.0) photography attributions https://www.flickr.com/photos/code_martial/ https://flic.kr/p/7jmU5n Tahir Hashmi Follow Developer Death 10 Programmers and a UX Designer died all of a sudden in a war room situation. They were apparently working too hard. https://www.flickr.com/photos/8268882@N06/ https://flic.kr/p/duwd1M Peter Pilgrim IMG_1481 European JUG leaders meeting in Devoxx 2013 https://www.flickr.com/photos/unicefethiopia/ https://flic.kr/p/dv4ooi UNICEF Ethiopia Follow Hamer mother and child South Omo Zone, SNNPR Hamer mother and child South Omo Zone, SNNPR. ©UNICEF Ethiopia/2005/Getachew 62  
  • 63. Xenonique @peter_pilgrim List of Creative Commons (2.0) photography attributions https://www.flickr.com/photos/15216811@N06/ https://flic.kr/p/baULpM N i c o l a Follow Tree - IMG_1242 https://flic.kr/p/dwCQ7t https://www.flickr.com/photos/90585146@N08/ marsmetn tallahassee Follow IDA .. Integro-Differential Analyzer (Sept., 1952) ...item 2.. Richard Dreyfuss: Technology Has 'Killed Time' -- "In geopolitics, the removal of time is fatal." -- "And you will give up, the protection of Republican Democracy." (July 19 2010) ... https://flic.kr/p/6ZDbiZ https://www.flickr.com/photos/ingmar/ Ingmar Zahorsky Follow Traffic Jam Accidents are common on the narrow streets going through the mountains of Nepal. When such an accident occurs, traffic is often halted for up to 3-4 hours. https://flic.kr/p/FAskC https://www.flickr.com/photos/mari1008/ mari_1008 Follow traffic jam -B Date: April,2th Address: Jiangshu Rd,Shanghai,China. Around 8:30 AM today, A little accident on YuYuan Rd and JiangSu Rd caused traffic jam. 63  
  • 64. Xenonique @peter_pilgrim List of Creative Commons (2.0) photography attributions https://flic.kr/p/bpss6D https://www.flickr.com/photos/76029035@N02/ Victor1558 Follow Creative_Photoshop_HD_Wallpapers_laba.ws https://flic.kr/p/mLxu3m https://www.flickr.com/photos/astrangelyisolatedplace/ astrangelyisolatedplace Follow Office test #1. Setup fully functional. A rare 1200 no longer in production. Test run soundtracked by the only #vinyl in the office; The Sesame Street Soundtrack - a surprise present by @idinesh #technics #turntable #1200 #ocdv1 via Instagram ift.tt/1hpeUEU https://flic.kr/p/gLPhEk https://www.flickr.com/photos/stevecorey/ Steve Corey Follow Treasure Hunt, a short story (5 images) 64  
  • 65. Xenonique @peter_pilgrim List of Creative Commons (2.0) photography attributions https://flic.kr/p/4JcerK https://www.flickr.com/photos/16949884@N00/ Bömmel Follow Ice Crystal Ice is nice https://flic.kr/p/dSsXiZ https://www.flickr.com/photos/jeremyhall/ Jeremy Hall Follow Called to Serve (suit and tie) https://flic.kr/p/3enERy https://www.flickr.com/photos/paolocampioni/ Paolo Campioni Follow scala Scendo (stair case spiral) 65  
  • 66. Xenonique @peter_pilgrim List of Creative Commons (2.0) photography attributions https://flic.kr/p/m62gmK https://www.flickr.com/photos/lata/ -p Follow Abstraction I. From my platycerium. (Guide: Voronoi diagram) https://flic.kr/p/9F7Nnn https://www.flickr.com/photos/followtheseinstructions/ Follow these instructions The end ; Assignment: This time your assignment is to find or compose a scene that conveys the essence of the end. https://flic.kr/p/6WSFR4 https://www.flickr.com/photos/62337512@N00/ anthony kelly Follow big ben big ben and underground sign https://flic.kr/p/w7qef https://www.flickr.com/photos/cobalt/ cobalt123 Follow All We are Saying... (Thought for a New Year) Peace Pasta from Annie's, with peas, of course. Give Peace A Chance 66