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

Post on 28-Nov-2014

980 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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

Digital Development with Java EE

Peter A. Pilgrim Independent Contractor, Java Champion

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

September 2013

Java EE 7 Developer Handbook

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

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

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

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)

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

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

Digital

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

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

User Centric Design – GOV.UK – PHP / Scala

Private Sector

•  Many global companies are adopting a strategy Digital by Default

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

Responsive Web Design – Adobe CQ5 – Java EE

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

Designed by Sølve Sundsbø

Is Java still relevant to Digital Development?

“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

“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

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

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

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

Java EE Success Stories

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

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

•  JPA •  Bean Validation 1.1

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!

Windows Vista or XP 4GB RAM Intel Core Duo 2

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

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

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

Ref

acto

r By

Com

mon

Ser

vice

Part

ition

to fa

cilit

ate

scal

abili

ty

Part

ition

in s

epar

ate

serv

ers,

as

need

ed

EXECUTIVE SUMMARY

Digital by Default with Java

"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

Thank You!

The book:

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

Blog:

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

@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

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

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

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.

top related