Johannes Brodwall Exilesoft

Slides:



Advertisements
Similar presentations
Pierre-Johan CHARTRE Java EE - JAX-RS - Pierre-Johan CHARTRE
Advertisements

Large Scale Continuous Integration. Made by: Erik Romson Zenior.
1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language.
Building and using REST information services Rion Dooley.
JAX-RS – REST in Java.
Written by Liron Blecher
CTS2 DEVELOPMENT FRAMEWORK CTS2 Overview. Schedule What is it? Why a framework? What does this do for me? Plugins Implementations available now CTS2 Compliance.
RESTful Web Services Senthil Chinnaiyan, Senior Architect
WEB SERVICES. FIRST AND FOREMOST - LINKS Tomcat AXIS2 -
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems.
My Memoir Justin Wang.
© 2008 Security Compass inc. 1 Firefox Plug-ins for Application Penetration Testing Exploit-Me.
Why NOT Do TDD? Bob Allen Code Craftsman meeting Sept 3.
Bare-knuckle web development DevDay.LK Johannes Brodwall, Chief scientist Exilesoft
Francisco Gonzalez Mario Rincon.  Apache CXF is an open source services framework.  CXF helps you build and develop services using frontend programming.
Remote Pair Programming BuildStuff.lt Johannes Brodwall Exilesoft Chief Guest starring: Dileepa Jayasuriya.
Why am I here Development techniques are headed down the wrong path! Our world should be getting simpler – it is not The solutions that will solve the.
Extreme Collaboration Johannes Brodwall Exilesoft Chief TODO: Good pairings: Senior/senior: Ping-pong Respectful senior/senior: Stategist/tactician.
Extreme delivery: The real measure of progress is… Johannes Brodwall Exilesoft Chief
Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief Guest starring: Chaminda Sooriyapperuma.
Coding dojo PocketMobile Johannes Brodwall, Chief scientist Exilesoft.
Final Exam Project & Ignite Presentation By Professor Raley.
Hello, Pig! Hello, Rabbit! Look at this – I am making a list!
Brandy Alexander Before I Count to Three Written By: Aretha Abrams Illustrated By: Henry Robinson.
Wish upon a Star Ross Shire Women’s Aid 2010.
Tina Turner Simply The Best.
Love At First Sight What a beautiful day it is today! You are as beautiful as this day is! Who said that!? It is I! Chuck! Hello there Chuck. My name.
Spring, Hibernate and Web Services 13 th September 2014.
Webservices using JAXB and JAX-WS Lalit Bhatt SpiderLogic
CS 571. Web services Web service: "a software system designed to support interoperable machine-to-machine interaction over a network“ – W3C In short,
6/10/2015Cookies1 What are Cookies? 6/10/2015Cookies2 How did they do that?
Implementation of One Stop Search by XSLT By Dave Low University of Hong Kong 9-Dec-2003.
Casey O’Brien Java Tutor. Python Java Python 6.01 Java.
Using Third-Party Frameworks in Building Blocks™ David Ashman Principal Architect, Product Development.
Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing.
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
1 Lecture 22 George Koutsogiannakis Summer 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES.
Elective Autumn 2010 xx subjects are provided Each of you have to choose 2 subjects 2 subjects will be establish.
Johannes Brodwall Getting your project off the ground.
1 HRS2422 Web Services JAX-WS and SOAP Introduction  Web service – A software component stored on one computer that can be accessed via method.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
Or, Hey can’t we just do it using HTTP for the envelope?
Vision and Goals A flexible data layer for applications in Java, GWT and/or AppEngine. Persistence | Access Rights | Synchronisation over network | REST.
AUIS Assignment 01 IT Part A Visual Studio IDE   Developing IDE from Microsoft.
SE-2840 Dr. Mark L. Hornick1 NodeJS Server-side JavaScript.
Bare-knuckle web development Agile Prague Johannes Brodwall, Chief scientist Exilesoft Global.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
JAVA EE 6 Best Practices for Migrating Spring to WTF ?!?
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Overview of the Spring Framework Introducing.
EWS Redesign Business Case A look at creating a reports client for new or small market participants.
Don’t Pass Notes By: Kathleen Beyer I want everyone to pay special attention to me today We are going to learn about an exciting program called PowerPoint.
CodeBeamer Bootcamp 2007 Customizing CodeBeamer features through scripting Aron Gombas Architect, Intland.
TDD Unit tests from a slightly different point of view Katie Dwyer.
Chapter 1 Getting Started with ASP.NET Objectives Why ASP? To get familiar with our IDE (Integrated Development Environment ), Visual Studio. Understand.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Programming vs. Packaged
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
WEB SERVICES.
Web Services-JAX-RPC JAX-RPC enables a Web Service endpoint to be developed using either a Java Servlet or Enterprise JavaBeans (EJB) component model.
Unit – 5 JAVA Web Services
GF and RS, Dept. of CS, Mangalore University
Enterprise Java Bean. Overview of EJB View of EJB Conversation Roles in EJB, Types of Enterprise Beans Lifecycle of Beans Developing Applications using.
Java EE Overview The problem Java Enterprise Edition attempts to solve: maximize the use of Java technologies by providing a suite of Java technology specifications.
ISE 390 Dynamic Web Development
Java EE Overview The problem Java Enterprise Edition attempts to solve: maximize the use of Java technologies by providing a suite of Java technology specifications.
EXTENSION AND INTEGRATION
Agile testing for web API with Postman
CS4961 Software Design Laboratory Understand Aquila Backend
Presentation transcript:

Johannes Brodwall Exilesoft Java Apocalypse now! Johannes Brodwall Exilesoft

Nå jobber han for IT bransjen i Sri Lanka. Etter 15 års erfaring fra IT bransjen i Norge, innså Johannes Brodwall: “Det er immari kaldt her!” Nå jobber han for IT bransjen i Sri Lanka. Men er fortsatt mest i kalde Norge.

I love the smell of XML in the morning. It smells like… victory.

Prelude:

Where are the Java projects going?

Maybe it is just me… … but customers: “Java = meh” … and I surprised myself by agreeing

Java is my favorite language, but… … Oracle is ruining it … JBoss is ruining it … SpringSource is ruining it … you guys are ruining it

«Don’t reinvent the wheel» - «Everywhere», 20XX by Everyone

Part I:

The nightmare

XML APIs gone wild

A simple XML file

Parsing with DOM

Whops – right this time!

But the file may vary

And the Java gets… worse

And worse

Making it worse

I know! Let’s use JAXB!

Just need to deal with this null pointer…

And this other one…

But wait – they didn’t follow the XSD!

(Of course they didn’t)

And we need to map it to a domain object

There must be a tool for that!

Running away

The Java EE software development process

Exception Google Stack overflow Tweak Deploy Waaaaait Poke

Those that get it JavaScript Ruby Python Clojure? Those that don’t Scala JSF Groovy Clojure? “Those who cannot learn from history are doomed to repeat it.” - George Santayana

Are you using technology to solve your problems?

Or so that you don’t have to face your problems?

… yet

Part II:

The dream

Java’s greatest gift The IDE

“I can see how TDD works for toy examples…”

“… but how can we use it when we have all these really complicated technologies???”

I think I see your problem right here...) (Hint: “all these complicated technologies” I think I see your problem right here...)

How to make real problems more like toy problems?

(Tip: Not by getting more toys)

He who gives up compilation time for refactoring menu options deserves neither - Benjamin Franklin

Less magic!

Parsing a file

Oh, that could be null!

Mapping to a domain object

A SOAP service is just a retarded REST service

Part III:

The road to a better place

A better framework

No calculator until…

Don’t use a framework you couldn’t have written yourself

“But what about transactions?”

“We need an annotation for that!”

Have you ever misconfigured @Transaction?

Three lines of magic!

Three lines of magic! plain Java

You can replace AOP with three lines of plain Java

A better application server

You probably just need to listen to HTTP requests

Better templates

Eaxy is not meant for public consumption

Just to show that Java EE solves wrong problem

Just to show that Java EE solves wrong problem

Epilogue:

I don’t really mean it, do I?

Frameworks solve 80% of the job…

… and makes the rest 10 times as hard

“Why did Hibernate suddenly slow down?”

“How do I make JBoss behave the way I want?”

“How do I implement a custom SOAP header with JAX-WS?”

“Why did my dependencies not inject?”

“How do I do anything with Spring”

“Java EE is a path to the dark side. Java EE leads to anger “Java EE is a path to the dark side. Java EE leads to anger. Anger leads to hate. Hate leads to … suffering” - Yoda

Thank you jbr@exilesoft.com http://johannesbrodwall.com http://exilesoft.com/exilee http://twitter.com/jhannes