Java in Mobile and Cloud Viewpoint Harish Kashyap M.M. ...

aniseedsplashSoftware and s/w Development

Aug 15, 2012 (5 years and 2 months ago)

391 views

Java in Mobile and Cloud

Viewpoint

Harish Kashyap M.M.

BeyondSquare

16
th

August 2010

2

Java
-

Bit of History

Java in Mobile

Java in Cloud

3

Evolution of Java

J2SE1.2


Reflection


Swing and MVC


J2EE and J2ME

J2SE1.4


Assertion


XML and JAXP


JAAS

Java SE1.6


Performance


JavaFX


64 bit JVM

JDK1.0


Launched

J2SE1.5


Generics


Metadata

J2SE1.3


HotSpot

JVM

JDK1.1


AWT retooling


JavaBeans


JDBC, RMI

Java SE1.7


Modules

1995/96

2010 +

Container
-

JVM

Language Features

Application Framework/ Libraries

IDE

HotSpot VM , Jrockit VM

Struts, Spring, Hibernate, iBatis etc

JDBC, JMS, JAXP, JAXB, JAAS, EJB etc

NetBeans, Eclipse etc

4

Where are we today?

9 million

Java developers

840 million

Java desktop installations

100+

different hardware platforms supported million Java
desktop installations

5.5 billion


Java cards

2.6 billion

Java
-
enabled cell phones

250

partner cell phone carriers

100,000+

Java ME applications

40 million

TVs and
Blu
-
ray players

100

Used by all of the Fortune 100 companies


Source: Oracle as on Jan 2010

5

Where are we today?


Java SE for the desktop


Java EE for server and enterprise solutions


Java ME for embedded and mobile devices


JavaFX to build rich Internet applications, with media
capabilities for desktop computers, mobile devices, and
television (set
-
top boxes, Blu
-
ray players, and so on)

6

The Java ME platform covers everything from small limited devices with
intermittent network connection to capable on
-
line mobile devices


16
-
bit or 32
-
bit CPU with a clock speed of 16
MHz or higher


At least 160 KB ROM allocated for the CLDC
libraries and virtual machine


At least 192 KB total RAM available to the Java
platform


Low power consumption, often operating on
battery power


Connectivity to some kind of network, often
with a wireless, intermittent connection and
limited bandwidth


Devices that support CDC typically include a
32
-
bit microprocessor/controller and make
about 2 MB of RAM and 2.5 MB of ROM
available to the Java application
environment.


7

Smart phones are making inroads

Source:wikipedia

8

Top trends in IT


Industries move between horizontal and vertical structures

Source:www.visionmobile.com

9

Network services are moving from vertical to horizontal while handset OEM is
moving the other way around


Players are at different stages towards verticalisation or horizontalisation


Source:www.visionmobile.com

10

How players stack up…

Components

Apple

Nokia

RIM

HTC

Google

Qualcomm

Mediatek

Services

Service delivery

Service
distribution

Device Design

UI Design

Core Apps

App
envrnmnt

Operating
System

Hardware
Platform

Chipset IP

Manufacturing

Platforms

Apple
iOS

Symbian

/
Meego

RIM

Android

BREW

11

Too many platforms… space to watch out for



2nd party platforms



designed for building phones


aimed at OEM


using legacy code


intended for core apps



3
rd

party platforms



designed for building apps


aimed at any application developer


using modern platforms


intended for downloadable apps

12

Few key platforms

Brew:



Used for deploying
applications on CDMA devices


Little penetration in Europe.


Qualcomm


More advanced 3d capabilities
than J2ME


Does not run on all devices.
Need digital signature to be
issued


Written in C, has Java API
available

Symbian



Most widely used, written
specifically for mobile
devices


Supported by Nokia, Sony
Ericson, Samsung, NTT
DOCOMO


Java API available


Relies on QT technology


Android



Linux based


Can develop apps in Java
but runs on C/C++
runtime.


Supported by HTC,
Google,
ChinaMobile

and
quite a few other players


Is not completely J2ME
compliant


Apple iOS

Others


Samsung
Bada


Nokia MEEGO


Blackberry OS

13

Other key trends


Mobile advertising will surpass the traditional web based advertising



Tablet devices will become the pretty much part of all our lives



Many makers of smart phones. Diversity will continue to exist



Everything and everybody join the network



Service providers (with SIM) will find hard to survive. Quite a few phones will run
without a SIM card.



Content will be the king and mostly tied up with network. Network as a service



Cool mobile apps for consumer and business



Consolidation will happen based on OEM, Network provider and carrier strategy



Consolidation of java platforms to Java SE and eventually Java ME may no longer
need to be micro!




14

Gartner Technology prediction

Cloud computing at the Peak

Predicts

15

What is Cloud Computing?

“A pool of abstracted, highly scalable,
and managed compute infrastructure
capable of hosting end
-
customer
applications and billed by consumption”

Definition

In Simple Terms, Cloud offers…


Pay
-
per
-
use for computation power


Virtually infinite computation resources


Automatic on
-
demand scalability


An Analogy
-

Electricity


“Computation Power” is now available like
Electricity


You pay for what you use.


You rely on a trusted third
-
party providers


Source: TorryHarris Business Solutions on slideshare.net

16

Three key pillars of Cloud

Infrastructure

as a Service

Platform

as a Service

Software

as a Service

Source: TorryHarris Business Solutions on slideshare.net

17

Public vs Private Cloud

Cloud Choices


Exclusive environment


Limited on
-
demand
capabilities


Private Cloud


On
-
demand resources,
scalability


Shared environment

Public Cloud


Requires Initial Capital Investment


Cloud setup within Org’s data center


Control on security and audit


Based on basic virtualization


Limited on
-
demand scaling


On
-
Premise Private Cloud


Exclusive, but hosted by a third party


Limited on
-
demand scaling


Expensive than public cloud


Cheaper than on
-
premise private cloud


Possibility of co
-
location

Externally Hosted Private Cloud

Hybrid Cloud

Public + Private
cloud

Source: TorryHarris Business Solutions on slideshare.net

18

Inside a cloud…

The Cloud Platform

Metering, Billing


and Rating System

Identity

Management

Self Service Portal

Dynamic Provisioning

Engine

Monitoring and

Management

Network of Physical Servers controlled by the Cloud Operating System

Security
Subsystem

Cloud

Applications

Facilitates
Pay
-
per
-
use

Enforces
Security

Statistics,
Deployment,
Start/Stop

Replicates
Application on
demand

Registration,
Authentication and
Authorization

The heart of
the “Cloud”

The face of
the Cloud

Virtualized Runtime Environment (Infrastructure & Platform)

Source: TorryHarris Business Solutions on slideshare.net

19

Amazon Web Services offering


Create a virtual server instance


Concept of AMI


Amazon Machine Image


Choose your operating system and/or s/w


SSH and SFTP to your virtual server


Web Service interface for admin tasks

EC2


Elastic Compute Cloud

S3


Simple Storage Service


File System Storage of Arbitrary Data


Each file can be 5 GB


Secure storage with ACLs


Used by SmugMug Photo Service


Message Queue Infrastructure


Reliable delivery`

SQS


Simple Queue Service


Core Database Functions


Fast Indexing, Querying and retrieval

Simple DB


Infrastructure for data
-
intensive tasks


Web indexing, data mining, log file analysis

Elastic Map Reduce


Infrastructure for content delivery


Based on closest geographical location

Elastic Cloud Front

Source: TorryHarris Business Solutions on slideshare.net

20

Google App Engine


The Google App Engine Java environment provides


Java 6 JVM,


Java Servlets interface,


Supports standard interfaces for data store and services
like Java Data Objects, Java Persistence API, JavaMail,
Jcache, etc.


The App Engine uses the Java Servlet standard for web
applications, whereby the user or developer provides the
application's servlet classes, JSP pages and other files
along with the deployment descriptor (web.xml) in a
standard WAR directory structure
.


The applications are run in a secure 'sandbox'
environment to isolate the application for service and
security. This means that an application cannot spawn
threads, or write data to local system files, thus ensuring
that the application does not interfere with performance
for other applications on the cloud infrastructure.


21

Java is a natural fit to cloud


as per Oracle Java developers!


Elasticity: you can fire up new instances on demand



Management and Monitoring: especially applications in the "cloud" have higher requirements regarding
management and monitoring. You should be able to pro
-
actively monitor the current state of your application



Vendor neutrality



Standardized packaging and installation: you will have to package your application to install it to a "cloud".
Standards are always good, otherwise you will end up in many negotiations and meetings.



Failover capabilities



Easy administration: you will need remote administration tools.



Low resource consumption: computing time and resources cost a lot. It is important to build as lean applications
as possible to save money.

22

Few PAAS offering


BungeeConnect, proprietery platform


Aptana, more of an IDE than an run time engine. Runs on EC2


Force.com, collaboration of VMWare and Salesforce.com, runs on
salesforce.com IAAS


JBoss Cloud, runs on EC2


Stax, runs on EC2


Google App Engine


10gen, supports multiple cloud


23

Thank You!