java in mobile and cloud viewpoint

23
Java in Mobile and Cloud Viewpoint Harish Kashyap M.M. BeyondSquare 16 th August 2010

Upload: hop

Post on 12-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Java in Mobile and Cloud Viewpoint. Harish Kashyap M.M. BeyondSquare 16 th August 2010. Java- Bit of History. Java in Mobile. Java in Cloud. Evolution of Java. J2SE1.5 Generics Metadata. J2SE1.3 HotSpot JVM. Java SE1.7 Modules. JDK1.1 AWT retooling JavaBeans JDBC, RMI. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Java in Mobile and Cloud Viewpoint

Java in Mobile and CloudViewpoint

Harish Kashyap M.M.BeyondSquare16th August 2010

Page 2: Java in Mobile and Cloud Viewpoint

2

Java- Bit of History

Java in Mobile

Java in Cloud

Page 3: Java in Mobile and Cloud Viewpoint

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

Page 4: Java in Mobile and Cloud Viewpoint

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 phones250 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

Page 5: Java in Mobile and Cloud Viewpoint

5

Where are we today?

Enterprise Edition

Standard Edition

Micro Edition

• 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)

Java Fx

Page 6: Java in Mobile and Cloud Viewpoint

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.

Page 7: Java in Mobile and Cloud Viewpoint

7

Smart phones are making inroads

Source:wikipedia

Page 8: Java in Mobile and Cloud Viewpoint

8

Top trends in IT

• Industries move between horizontal and vertical structures

Source:www.visionmobile.com

Page 9: Java in Mobile and Cloud Viewpoint

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

Page 10: Java in Mobile and Cloud Viewpoint

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

Page 11: Java in Mobile and Cloud Viewpoint

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

3rd party platforms

• designed for building apps• aimed at any application developer• using modern platforms• intended for downloadable apps

Page 12: Java in Mobile and Cloud Viewpoint

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

Page 13: Java in Mobile and Cloud Viewpoint

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!

Page 14: Java in Mobile and Cloud Viewpoint

14

Gartner Technology prediction

Cloud computing at the Peak

Predicts

Page 15: Java in Mobile and Cloud Viewpoint

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”

DefinitionIn 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

Page 16: Java in Mobile and Cloud Viewpoint

16

Three key pillars of Cloud

Infrastructure as a Service

Infrastructure as a Service

Platform as a Service

Platform as a Service

Software as a Service

Software as a Service

Source: TorryHarris Business Solutions on slideshare.net

Page 17: Java in Mobile and Cloud Viewpoint

17

Public vs Private Cloud

Cloud Choices

Exclusive environment

Limited on-demand capabilities

Private CloudPrivate Cloud

On-demand resources, scalability

Shared environment

Public CloudPublic 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 CloudOn-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 CloudExternally Hosted Private Cloud

Hybrid CloudHybrid Cloud

Public + Private cloud

Source: TorryHarris Business Solutions on slideshare.net

Page 18: Java in Mobile and Cloud Viewpoint

18

Inside a cloud…

The Cloud Platform

Metering, Billing and Rating System

Metering, Billing and Rating System

Identity Management

Identity Management

Self Service PortalSelf Service Portal

Dynamic Provisioning Engine

Dynamic Provisioning Engine

Monitoring and Management

Monitoring and Management

Network of Physical Servers controlled by the Cloud Operating System

Security Subsystem

Security Subsystem

Cloud Applications

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)Virtualized Runtime Environment (Infrastructure & Platform)

Source: TorryHarris Business Solutions on slideshare.net

Page 19: Java in Mobile and Cloud Viewpoint

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 CloudEC2 – Elastic Compute Cloud

S3 – Simple Storage ServiceS3 – 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 ServiceSQS – Simple Queue Service

Core Database Functions

Fast Indexing, Querying and retrieval

Simple DBSimple DB

Infrastructure for data-intensive tasks

Web indexing, data mining, log file analysis

Elastic Map ReduceElastic Map Reduce

Infrastructure for content delivery

Based on closest geographical location

Elastic Cloud FrontElastic Cloud Front

Source: TorryHarris Business Solutions on slideshare.net

Page 20: Java in Mobile and Cloud Viewpoint

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.

Page 21: Java in Mobile and Cloud Viewpoint

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.

Page 22: Java in Mobile and Cloud Viewpoint

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

Page 23: Java in Mobile and Cloud Viewpoint

23

Thank You!