JavaCro'15 - Internet of things with RPi and Java - Matija Novak, Dragutin Kermek
JavaCro 2014 Digital Development with Java EE and Java Platform
-
Upload
peter-pilgrim -
Category
Education
-
view
772 -
download
2
description
Transcript of JavaCro 2014 Digital Development with Java EE and Java Platform
![Page 1: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/1.jpg)
Digital Development with Java EE
Peter A. Pilgrim Independent Contractor, Java Champion
![Page 2: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/2.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/3.jpg)
September 2013
Java EE 7 Developer Handbook
![Page 4: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/4.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/5.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/6.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/7.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/8.jpg)
https://gds.blog.gov.uk/2014/04/14/digital-inclusion-strategy-launches-today/#comments
![Page 9: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/9.jpg)
Source: BBC Media Literary Understanding Digital Capabilities 2013 http://www.bbc.co.uk/learning/overview/assets/bbcmedialiteracy_20130930.pdf
![Page 10: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/10.jpg)
Digital
https://www.gov.uk/transformation UK Government Digital Service
![Page 11: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/11.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/12.jpg)
User Centric Design – GOV.UK – PHP / Scala
![Page 13: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/13.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/14.jpg)
Responsive Web Design – Adobe CQ5 – Java EE
![Page 15: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/15.jpg)
Multi Channel Architecture – Java EE 6 – JSF / Spring MVC
![Page 16: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/16.jpg)
Designed by Sølve Sundsbø
![Page 17: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/17.jpg)
Is Java still relevant to Digital Development?
![Page 18: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/18.jpg)
“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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/19.jpg)
“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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/20.jpg)
![Page 21: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/21.jpg)
![Page 22: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/22.jpg)
![Page 23: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/23.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/24.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/25.jpg)
Possible APIs in Java EE 8
![Page 26: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/26.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/27.jpg)
![Page 28: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/28.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/29.jpg)
Windows Vista or XP 4GB RAM Intel Core Duo 2
![Page 30: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/30.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/31.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/32.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/33.jpg)
Ref
acto
r By
Com
mon
Ser
vice
![Page 34: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/34.jpg)
Part
ition
to fa
cilit
ate
scal
abili
ty
![Page 35: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/35.jpg)
Part
ition
in s
epar
ate
serv
ers,
as
need
ed
![Page 36: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/36.jpg)
EXECUTIVE SUMMARY
Digital by Default with Java
![Page 37: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/37.jpg)
"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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/38.jpg)
![Page 39: JavaCro 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/39.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/40.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/41.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/42.jpg)
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 2014 Digital Development with Java EE and Java Platform](https://reader034.fdocuments.us/reader034/viewer/2022042700/554c54eeb4c9053e308b4a71/html5/thumbnails/43.jpg)
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.