Upload
peter-pilgrim
View
772
Download
2
Embed Size (px)
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.
Citation preview
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
Possible APIs 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.