javacro'14 - going digital with java ee - peter pilgrim

43
Digital Development with Java EE Peter A. Pilgrim Independent Contractor, Java Champion

Category:

Technology


1 download

DESCRIPTION

It feels like we have building web sites and applications for centuries, doesn’t it? However, we know that this is so untrue, because the web is only 25 years old since Sir Tim Berner’s Lee great proposal at CERN. The impetus of online design and development has changed, we now talk about the Digital Worker, the Digital environment and we about building web applications and ecommerce applications that are user friendly and customer centric. So what has this all to with the humble Java application developer? The answer is everything. We must be explicit in the software that we write, lean and agile in the way we write, and whilst making sure the take full advantage of the underlying Java platform. In fact, because we have this magnificent Java Virtual Machine and open standards like Java EE, we can continue build quality, robust and sustainable software for all our stakeholders and business users. Introduction to Java EE 7 (brief) Personality requirements for the digital worker The absolute minimum toolchains for Java based digital worker Introducing Arquillian framework Overview of some essential features of Java EE 7

TRANSCRIPT

Page 1: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Digital Development with Java EE

Peter A. Pilgrim Independent Contractor, Java Champion

Page 2: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Biography ■  Started with Fortran 77 and

UNIX C Systems Programming ■  My first encounter with Java

was in 1998 ■  I founded JAVAWUG 2004-2010 ■  Independent contractor for

Blue-chip enterprises: Digitas LBi, Barclays Retail, Transform

Page 3: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

September 2013

Java EE 7 Developer Handbook

Page 4: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Martha Lane Fox “There has been a reinvention of the Internet and the behaviour of users in the last few years. Digital services are now more agile, open and cheaper.”

Martha Lane Fox, UK Digital Champion 2010

Page 5: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Digital (definition) 1.  (Of signals or data) expressed as a series of the

digits 0 and 1, typically represented by physical quantity such as voltage or magnetic polarisation. Often contrasted with analogue.

2.  (Of a clock or watch) showing the time by means of displayed digits rather than hands or pointer

3.  Relating to a finger or fingers Oxford English Dictionary

Page 6: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Analogue (definition) 1.  A person or thing comparable to another

(noun.) 2.  Relating to or using signals or information

represented by continuous variable physical quantity such as spatial position, voltage, etc. (adj.) Often contrasted with digital.

Oxford English Dictionary

Page 7: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Digital (Marketing) •  Division of marketing using such smartphones, tablets, desktop

computers and game consoles. •  Digital marketing (UK) and Internet Marketing (USA) •  Complement to traditional marketing: newspapers, TV, voice &

radio and street •  Recognition of the growth of the Internet – a knee-jerk reaction

– tangible benefits to business •  Push (passive by consumer) and pull (active by consumer) •  In 2002, 64% consumers of Finland said email was the most

popular means to learn about new product – (Journal of Advertising Research 2003)

Page 8: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

https://gds.blog.gov.uk/2014/04/14/digital-inclusion-strategy-launches-today/#comments

Page 9: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Source: BBC Media Literary Understanding Digital Capabilities 2013 http://www.bbc.co.uk/learning/overview/assets/bbcmedialiteracy_20130930.pdf

Page 10: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Digital

https://www.gov.uk/transformation UK Government Digital Service

Page 11: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

GOV.UK Going Digital One name, one brand and one domain

•  The Government Digital Strategy sets out how government will redesign its digital services to make them so straightforward and convenient that all those who can use them prefer to do so.

•  Online GDS Service Manual for Projects –  https://www.gov.uk/service-manual

•  Transformation of 710 disparate web sites to … •  25 Digital Examplers

Page 12: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

User Centric Design – GOV.UK – PHP / Scala

Page 13: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Private Sector

•  Many global companies are adopting a strategy Digital by Default

•  Alternative #1 Mobile by Default •  Alternative #2 Responsive by Default

Page 14: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Responsive Web Design – Adobe CQ5 – Java EE

Page 15: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Multi Channel Architecture – Java EE 6 – JSF / Spring MVC

Page 16: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Designed by Sølve Sundsbø

Page 17: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Is Java still relevant to Digital Development?

Page 18: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

“Clear standard alternatives to Java and C# for custom-developed applications do not exist. There are issues with many of the alternatives. For example, BPM tools are great for defining and implementing processes but a poor choice for implementing compelling user experiences. The market for application dev tools is beginning to change though. The next generation of app dev tools will:

•  Dramatically increase developer productivity. •  Allow developers to delegate change to business end users.”

Mike Gualitieri Forrester, November 2010

Page 19: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

“The JVM is an ideal platform to use for long-running server side applications. It's been battle-tested over the last 20 years, and it’s an extremely fast, stable, and reliable platform on which to run applications like web servers, message queues, and other services.”

Chris Price Dev Ops, Puppet Labs

Page 20: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
Page 21: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
Page 22: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
Page 23: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Java EE 8 Survey Results #1

Should we define new APIs to deploy and manage applications? 62.6% Yes, 11.1% No, 23.5% Don’t Know

https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf

Page 24: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Java EE 8 Survey Results #2

Should such new Deployment and Management APIs be REST APIs or JMX APIs? 82.8% REST, 11.1% JMX, 6.1% Other

Page 25: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Which of these API do you think important to be included in Java EE 8?

Page 26: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Java EE Success Stories

•  JAX-RS – Codehale DropWizard (dropwizard.codehale.org)

•  CDI – Apache DeltaSpike (deltaspike.apache.org)

•  JPA •  Bean Validation 1.1

Page 27: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
Page 28: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

NEW TOOLS FOR OUR INFORMATION TRADE

Moving forward is always hard when the treadmill that you are running on keeps pushing you backwards: get off!

Page 29: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Windows Vista or XP 4GB RAM Intel Core Duo 2

Page 30: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Digital Worker Tools #1 Development •  IDE (IntelliJ, Eclipse,

NetBeans) •  Web Browsers •  Emulator (Android, iOS) •  JavaScript tools, Grunt,

Less •  JavaScript Plug-ins

Testing •  Cucumber •  Selenium •  Ruby and GEM •  JMeter •  Gradle, Maven •  Mongo DB, RBMS

Page 31: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Digital Worker Tools #2 Design •  Adobe Photoshop CS6+ •  Adobe Illustrator & Fireworks •  XARA Graphics Designer •  Balsamiq, Axure •  UML design tools

–  Astah Professional –  OmniGraffle, YED

Operations •  Puppet or Chef •  Vagrant •  Hiera modules •  Oracle Virtual Box •  JRebel •  Visual VM

Page 32: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Hardware spec 2014 laptop (minimum): 8GB RAM, Intel i7 Haswell, 256GB Solid State HDD

Dell XPS 15

Microsoft Surface Pro 2 Mac Book Pro 15

Page 33: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Ref

acto

r By

Com

mon

Ser

vice

Page 34: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Part

ition

to fa

cilit

ate

scal

abili

ty

Page 35: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Part

ition

in s

epar

ate

serv

ers,

as

need

ed

Page 36: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

EXECUTIVE SUMMARY

Digital by Default with Java

Page 37: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

"If we want a Web that is truly for everyone, then everyone must play a role in shaping its next 25 years,”

Sir Tim Berners-Lee Birthday of the Web,

The Independent online http://www.independent.co.uk/life-style/gadgets-and-tech/news/25-years-of-the-world-wide-web-the-inventor-of-the-web-

tim-bernerslee-explains-how-it-all-began-9185040.html

Page 38: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
Page 39: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Thank You!

The book:

http://www.packtpub.com/java-ee-7-developer-handbook/book

Blog:

http://xenonique.co.uk/blog/ Twitter:

@peter_pilgrim

Page 40: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Creative Commons Attributions http://www.flickr.com/photos/holstphoto/3371060720/ Photo of "Chip Pattern" by Ryan Holst, March, 2009 http://www.flickr.com/photos/scarygami/5489773527/lightbox/ Photo of "Pattern" by Scarygami http://www.flickr.com/photos/christianhaugen/3486381680/sizes/l/in/photostream/ Photo of "Patterns in the Sand" by Christian Haugen http://www.flickr.com/photos/krunkwerke/3840127296/ Photo of a series of punch cards which are strung together, to control the pattern woven by the Jacquard loom. John R. Southern

Page 41: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Creative Commons Attributions http://www.flickr.com/photos/josefstuefer/43867840/ Proof of Pattern messh "untitled" in tan by Josef Stuefer http://www.flickr.com/photos/josefstuefer/43972554/ Proof of Pattern mesh "untitled" in blue by Josef Stuefer http://www.flickr.com/photos/scott1723/6290151038/ Alter photo of "Tug of War 3" by Scott Anderson

Page 42: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Java EE & Java SE Strengths •  Java 8 has Lambdas has functional interfaces •  Java 9 will have modularity •  9-10 million developers world-wide •  Mature JVM – fast and strong performance •  Alternative JVM languages Scala, Clojure, Groovy and others •  Standards – DRY, NIH, YAGNI, WET •  Open Source frameworks aplenty •  It a fertile bed for competition to grow: Spring Framework and others •  Java platform has a strong steward in Oracle

Page 43: JavaCro'14 - Going Digital with Java EE - Peter Pilgrim

Java Weaknesses •  Classic Java has boilerplate, but at least New Java 8

has Lambdas has functional interfaces •  Java lacks a Read-Evaluate-Print-Loop (REPL), but

alternative JVM language do have this feature •  Companies probably will drag their feet, upgrading

to the new Java sooner than later –  the classic technology adoption lifecycle of innovators,

early adopters, early and late majority; and laggards.