Showing posts with label JEE. Show all posts
Showing posts with label JEE. Show all posts

Saturday, May 14, 2011

Google IO 2011 Day Two recap

Oh the perils of making predictions when there is still a conference keynote to go!

It turns out that Chrome OS and the associated hardware hasn't been read the last rites after all. Rather, v1.0 is almost ready for primetime (scheduled for release in mid-June - about a month away). You have to imagine over time though that Google will want one code base for phones, tablets and chromebooks. At the very least, they will want to make it as easy as possible for developers to write their applications once and have them "just work" on devices with radically different screen sizes and input methods, something that Android developers today are already doing. Nonetheless, a very brave play, especially in targeting the enteprise space, where significant replacement costs exist. If it pays off, it will be huge.

Moving on from Chrome, a couple of sessions I attended yesterday were really interesting, specifically two - Full Text Search and Smart App Design.

Full Text Search is Google's take on Lucene / Solr and integrated into the App Engine Datastore as well, so it will be compelling for developers who just want to start indexing and scoring documents quickly. The "fully automatic" mode of operation with the Datastore should also be a timesaver.

Smart App Design covered material of a completely different color. I had already read about the Prediction API in the blogosphere but I hadn't realised exactly what it did until this session. Essentially, Google offers the discerning developer the ability to add machine learning techniques to their application by leveraging a cloud-based service.

At first glance, I had thought that the API gave access to the same model that Google uses to predict search terms, and I guess that is one use case. But Google has done much more than that - they have effectively white-labelled their machine learning technology and made it available to non-Google developers to use with their own data, i.e. learn what's important for their application / business.

As with all machine-learning techniques, the nub of the matter remains the correct selection and efficient representation of the key attributes in the training set, and that is quite simply a problem that requires deep domain knowledge. One announcement yesterday was quite interesting however, in that Google are now allowing good model authors to sell their models to others. So if I come up with a model that predicts shopping basket behavior on leisure travel websites and a tour operator used that to bump their online conversion rate by 33%, then that model has a lot of value and it's a win-win situation for the model author and the model user.

So an API with a lot of promise. But also with two potential flies in the ointment, one commercial and one cultural:

(a) Commercial - Google are trying to charge for use of the API from day one, this will stymie adoption in the earliest stage

(b) Cultural - an endemic problem with a lot of machine learning techniques is their black box nature. As someone who spent a fair bit of time working with artificial neural networks at university, quite often a machine learning approach will yield the correct answer but the researcher can't exactly explain why! That's not a Google-specific weakness, but what is Google-specific is that the modules you access via the Prediction API (the man behind the curtain if you will) is not made open at all, so can a company really invest time in building, training and using models that they don't really understand and can never hope to do so? Only time will tell.

So to recap then, Google IO was definitely worth attending this year - and not just for the hardware gifts! The main items on my research list post the event are:

1. Google Go running on App Engine

2. The Prediction API

3. Full Text Search enhancements / module for App Engine

4. Adding my own hooks and content into Google Maps and Street View to greatly enhance what the end user sees when they access Maps from my site

5. Fusion tables + Charting - a good / cheap way to rapidly slice and dice data and provide good interactive widgets to visualize same to end users.

Saturday, March 27, 2010

Book - feedback so far

The book has just gone back to the printers for a second run. Apparently the first print run (a few thousand I think?) was chewed up by Amazon and direct pre-orders. It's fantastic for that many people to have the book and I really hope it helps you in preparing for the exam.

So, the feedback so far: the reviews on Amazon (both .com and .co.uk) are for the old book, not the new one. Amazon just copied the reviews across (the last one was written two years before the new book published).

So all I've got to go on are comments that I've received directly. Broadly speaking, reviewers fall into two camps:

1. Those who like the ~200 page guide / map to a much larger body of research material (happy);

2. Those who want / expect to find all of the revision material in one book (not so happy).

Our goal was always to write a book that did not replicate the reams of material that exist for the JEE platform. We simply saw no point in doing that. Instead, we wanted to write a book that the candidate could use to:

1. Construct a revision schedule for Part One;

2. Understand how to approach Part Two - constructing your own solution for a given business problem using the JEE platform;

3. Prepare the candidate for Part Three - defending your Part Two submission and explaining how you solution satisfies various NFRs (non-functional requirements).

Broadly speaking, I think we've hit the goals we set. There is an errata list that will be sent to the publisher for the second print and will be published here as well for the purchasers of the first run.

Thursday, November 26, 2009

Google Go overview for JEE and .NET architects / developers

A few days ago, Google released a pre-release / early look copy of a new programming language and platform - Google Go - for general consumption and feedback. After working with Go for a couple of days, I took my notes and thoughts on how it compares to the Java (J2EE / JEE) and .NET platforms - specifically as far as enterprise computing goes - and wrote them up into this article. All feedback appreciated.

From the Conclusion: "Go has the potential to completely supplant both C and C++ in the systems programming space and that is clearly it's first goal, but it also has the potential to do much more than that - to reach into the enterprise computing / web+application tier as well. It would be short-sighted in this day and age to design a platform that was restricted to low-level systems programming only, when most companies invest far more time and effort in building applications that are used by consumers to communicate, collaborate, transact ecommerce and more. In this author's opinion, Go has the legs to go further".

Another book update (aka where is it..)

The book is still moving through pre-production at Pearson. I'm sure a good number of you will be wondering what kind of impetus can be administered to push it along and I feel the same way myself!

It looks like the book content got caught up in a major upgrade to Safari Rough Cuts that is just about sorted now. A new version has just published, but I know that it does not have the latest chapter nine content that I wrote last month. Chapter nine is a key chapter in the book, focusing as it does on the JustBuildIt scenario that I outlined at JavaOne 2009 and solves it completely. This chapter maps onto Parts II and III of the exam, where candidates download a business scenario of equal complexity and have to propose and defend a solution to it.

I'm waiting to see when this chapter will show up on Rough Cuts. If it's only a few days away, I'll write another post advising that it's there. But if the delay is going to be as long as the previous delay (essentially four - six weeks to get some content updated), then I'll publish chapter nine as a PDF file on www.box.net, like the other sample chapter and the JavaOne 2008 and 2009 slides. Again, apologies for the delay - I'm pushing as hard as I can.

Thursday, June 11, 2009

Sample assignment for the SCEA exam - part two

So, as a follow-up to part one of this little series, below is the exact list of deliverables that you are required to develop for part two of the exam.

It is your task to create an architecture and design for the System under Discussion (SuD) with the given business domain model, information provided above and requirements in the use cases. The architecture must be built using the JEE platform. All deliverables will be accepted as HTML only and each diagram must be UML compliant.

1.Create a class diagram for the SuD. Public method names referenced in other UML diagrams (e.g. sequence diagrams) should be provided.

2.Create a Component diagram for the SuD showing the components used in the system and their interaction. Examples of components are EJBs, Servlets, JSPs, major POJOs (Plain Old Java Objects) and important Managers / Controllers / Design Pattern implementations.

3.Create a Deployment diagram that describes the proposed physical layout of the major tiers of the SuD.

4.Create either a Sequence or Collaboration diagram for each use case provided.

In addition to these UML deliverables, the exam requires you to:

1.List the top three risks and identify a mitigation strategy for each risk.

2.List any assumptions made during the process of coming up with the architecture and design.

Your architecture and design will be graded on how well it supports the requirements detailed in this document and on the clarity of all information provided in both textual and diagrammatic form.

Saturday, March 07, 2009

Presenting at JavaOne 2009 - SCEA Take Two!

Sun have accepted my BOF proposal for JavaOne 2009, so it's time to start looking for flights to SFO again and making sure that the hotel I'm staying at isn't right in the middle of the Tenderloin..

My proposal this year built on the material covered in last year's BOF, and I'll also take time to dig deeper into Part Two of the exam (where a lot of people come a cropper) and work through exactly what the examiners are / aren't looking for and why.

If you're going to JavaOne in this crunch year, looking forward to seeing you at the BOF!

Saturday, September 06, 2008

Skillsmatter - Oct 16th presentation on SCEA

Sun UK have kindly invited me to speak as part of the Skills Matter program in London on October 16th. I'm looking forward to it and I'll be covering the topic of the Sun Certified Architect Exam (SCEA) for JEE 5 at this topic. A great way to learn about the exam if you're in London and are interested in pursuing this certification.

More details on the talk here.