NJUG 5
Overview
• Platform as a Service
• The future will be about programming language
• JavaFX Family
Platform as a Service?
Examples
• Amazon Services
• Google App Engine
• Microsoft Live Mesh
• Sun Hydrazine
Amazon Services
• Amazon Elastic Compute Cloud (EC2)
• Amazon Simple Storage Service (S3)
• Amazon SimpleDB
• SQS, DevPay, FWS
Amazon S3
• Most popular• Secure online storage space for any
kind of data• Use web service to retrieve/store data
by unique developer-assigned key• Use many in file/image sharing web
sites.
• 15 cents (~5 baht) a month/ 1 G
Amazon EC2
• web service that provides resizable compute capacity in the cloud
• Configurable from OS -> Software, Hardware, Zone
• Increase/decrease instances by its own
• $0.10 per instance hour
Amazon SimpleDB
• Not RDBMS, Think Spreadsheet
• Has a similar query language
• Very Flexible.
• Hurray! No need to maintain schema!, no need another DBA
Amazon SimpleDB
- Add New attributes on the fly-No datatype required
Box Usage is the measure of machine resources consumed by each request.$0.14 per Amazon SimpleDB Machine Box Usage hour
Google App Engine
• Leverage the power of Google infrastructure
• Comes with–BigTable–GFS
Google App Engine
• Similar to Amazon Services but–Start with free of charge–Python Only for now–No EC2 like–Not so flexible–Cannot be separated–Very BETA, very Google lock-in
The Trend
• Moore’s Adoption
The Trend
• Geek– Dude, That’s cool lets use it!
• Early Adopter–Wow! I can gain competitive advantage from this.
• Late Adopter– Hmm, Seems like everyone happy with it. Lets try
it out.
• Loser– I have to use it because everyone else are using it.
Something New -> Something Common
When something is common it’s easier to create economies of
scale
Economies of Scale?
There is no advantage in building
infrastructure
But Thai websites doesn’t have that much problems scaling.
Should I care?
Why Care?
• The Web 2.0 is full of opportunities–Mash-ups– Social Networks–User generated Contents– 0 Entry Barrier– Fail? Try new ideas
Historic Problems
• We are just startup. We are not that rich
• We want to try some cool new ideas never happen elsewhere, but we are not sure they’re going to work or not.
• We like to do and focus on what we are good at
Who knows, maybe we will be rich one day.
Think about it
• One day if you’ve been digged! Or TechCrunched or Slashdotted.
• Can Your site scale?–Multiple concurrent users– Bandwidth exceed– Fat Database
Think about it
• Everyone has the same kind of infrastructure already.• Same Hardware technologies• Open source/ Open standard
• Why we have to build and take care our own anyway?
• Former Chief Architect Blaine Cook famously said
Twitter case study
“Scaling Rails was easy”
in April 2007
• Latest Rumors.
Twitter case study
“Twitter is planning to abandon Ruby on Rails”
in May 2008
Doing Infrastructure is not fun
• It’s not so cool. We careless about it from the start.
• Few have experienced it.
• We are not sys admin. Let the expert do their job.
More To Come
SaaS
PaaS
HaaSYour Data, Applications, Frameworks
My Machines
More To Come
SaaS
PaaS
HaaS
Your Data
My Applications, Frameworks,
Machines
More To Come
SaaS
PaaS
HaaS
Your Data, Your Applications My
Frameworks, Machines
More To Come
Platform + Services
Your Data, Your Applications My Services,
Frameworks, Machines
More To Come
• Eclipse AJAX IDE
• Virtualization/RIA will play important role in this competition
Let the Platform handles the Cross cutting Concerns
The future will be about programming language
Historically• The academics and the business don’t get along
each other well
• The academic guys focus on how get thing done efficiently, faster, less LOC.
• But it’s hard for practitioners to make use of new language concepts in real-world
• building new language takes time & effort
The Time has come
• The academic & business guys are starting to kissing one another
• Come from 3 Forces – The Platform – Tools– Linguistics
Platforms
• They are rock solid and they handle the cross-cutting concerns for you. You get these things for free– Garbage Collections– Cross Platform– Serialization– Distributed System– Internationalization
Examples
• Java was embraced just because the garbage collection concept– 50+% of C++ efforts were focusing on how to
manage memory usage
• Ruby is big hype 3 years ago. People were jumping into it and they just realize Ruby still have along way to go.– Green Thread, I18n Support
Tools• Practitioners
– IDEs– Debuggers– Profilers– …
• Academics, Language Designers– Parsers– AST generators– Grammar debuggers– Code optimizers– …
Linguistics• Long time people think OOP is
end all of the top mountain, There is no more to climb.
• But when AOP & Ruby come, they wake us up!
Challenges
• Concurrency– multi core CPU– Thread safe?
• User Interface– Flex/Silverlight/JavaFX
What you should do from now on
• Start learning new Programming Languages– Groovy for testing, xml, regex, scripting …
• When you learn another language you’ll get lots of benefits– You learn the history/culture of the origin people using it– You can apply the new paradigms you learned to your
main language
• Some notions show Scala is coming to be the replacement
JavaFX Family
• Java 6 update 10• JavaFX Runtime• JavaFX Mobile, TV, Blu-ray
JavaFX Family
• Focus of Java were on the server-side for long time
• The shift that focus now• JavaFX is to Enable User Experience in
everyway
Java 6 update 10
• Enhanced Java deployment– Java Kernel– Pack200 Support
Java 6 update 10
• Improved performance and look & feel– Java Quick Starter –Nimbus Look & Feel–Hardware acceleration support–Native Font Rendering on Windows
Nimbus L&F
Java 6 update 10
• Next-Generation Java Plug-In– Rewrite plug-in from scratch– Cold start improvement– Get the right Java version– Improved Java/JavaScript communications
– Java Applet to Web Start Support from JavaOne 2008
JavaFX Player
• JavaFX Script–DSL for designers– Trigger, binding, twean
• Video/Audio codec support from On2
• HD Video• Same as Flash
• skinnable• SceneGraph 2D/3D Support• WebKit engine/ HTML Component
JavaFX Tools
• Adobe Photoshop/Illustrator export for Designer
• NetBeans plug-in for developer
• Something like FlexBuilder/ Blend tools is coming too.
JavaFX and Java
• JavaFX Script can use existing Java libraries• You get everything that Java enables– Network–Web Services/ RMI/ Socket– Cross Platform• Existing mobile, Android, iPhone?• Set-top Box, TV• Blu-ray
Demo
Applet is coming Back with full Steam!
JavaFX Schedule
• Early Access Program in July• JavaFX Desktop 1.0 SDK in
September• JavaFX Mobile, TV SDK in March
2009
• Open source?
Next Big Thing
• Project Hydrazine• Project Insight