Enterprise java for the next decade – IBM’s take on one possibility for the future
Facts/industry trends
- hitting the limit of Moore’s law, can add more CPUs , but not make existing ones significantly faster [surprised they didn’t bring up threading here]
- Memory still rapidly increasing, disk capacity is growing, but not as fast
- Hardware is getting smaller, cell phones/smart phones are now real computers, they aren’t special purpose operating systems anymore
- Projects are becoming more complex
- Data transformations more complex, new formats
- Amount of information and # devices dealing with data rapidly growing – ip v4 full, RFID, gps, etc
speculation
- More software will mean more jobs. But jobs I’ll require new skills for enterprise software
- Need to simplify the enterprise platform with focus on making easy things easy and hard things possible
- Class loader system to complex/ambiguous for the future
- Number of technologies for a beginning JEE developer is too overwhelming and we keep adding to it
- Don’t need two packages with same name for metadata [how balance backward compatibility without blowing up complexity?]. Eventually will have single definition with ONE XML file that controls metadata, similarly for annotations
- Don’t think one injection model will be enough, but still need to collapse from what we have now
- Expect concurrency and async workflows to change so defining at higher level
- Brought up getting rid of the stuff that has been deprecated for a long time like BMP [sun never reveled anything, will Oracle?]
At this point I stopped taking detailed notes on the APIs. The gist of it is that the IBM speaker organized the APIs into groups and called the higher level one simpler. It is if you can get rid of what is there today and replace it with a general API. Of course 10 years is a long time so it isn’t out of the question
Ok back to hardware, it’s getting interesting again
- Think laptops sill become peripherals to our phones. [interesting concept, Mac is already on the way] Like a monitor and keyboard for the same environment other phone, but with more processing power.
- Data analytics will be more important. More parallelization and more devices yields more crosstalk and more data to sift through
- Cloud will take care of non functional requirements
- Apps are going to be about code, dependencies and binding rather than a self contained unit. The shared modular environment will handle the rest
future known facts
- JEE 8 is going to attempt a modular programming environment [how does this make it less complex?]
Pingback: After The Server Side Java Symposium – live blog index | Down Home Country Coding With Scott Selikoff and Jeanne Boyarsky